diff --git a/uppsrc/CtrlLib/ArrayCtrl.cpp b/uppsrc/CtrlLib/ArrayCtrl.cpp index cd76abf4e..e363941eb 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.cpp +++ b/uppsrc/CtrlLib/ArrayCtrl.cpp @@ -295,6 +295,23 @@ void ArrayCtrl::SetDisplay(int i, int j, const Display& d) RefreshRow(i); } +void ArrayCtrl::SetRowDisplay(int i, const Display& d) +{ + if(i >= 0 && i < GetCount()) + for (int j = 0 ; j < GetColumnCount(); j++) + this->cellinfo.At(i).At(j).Set(d); + RefreshRow(i); +} + +void ArrayCtrl::SetColumnDisplay(int j, const Display& d) +{ + if(j >= 0 && j < GetColumnCount()) + for (int i = 0 ; i < GetCount(); i++) { + this->cellinfo.At(i).At(j).Set(d); + RefreshRow(i); + } +} + const Display& ArrayCtrl::GetDisplay(int i, int j) { if(i < cellinfo.GetCount() && j < cellinfo[i].GetCount() && cellinfo[i][j].IsDisplay()) diff --git a/uppsrc/CtrlLib/ArrayCtrl.h b/uppsrc/CtrlLib/ArrayCtrl.h index 0dc84dce5..b7c8bd081 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.h +++ b/uppsrc/CtrlLib/ArrayCtrl.h @@ -559,6 +559,8 @@ public: bool IsInsert() const { return insertmode; } void SetDisplay(int i, int col, const Display& d); + void SetRowDisplay(int i, const Display& d); + void SetColumnDisplay(int j, const Display& d); const Display& GetDisplay(int row, int col); const Display& GetDisplay(int col); diff --git a/uppsrc/CtrlLib/src.tpp/ArrayCtrl$en-us.tpp b/uppsrc/CtrlLib/src.tpp/ArrayCtrl$en-us.tpp index d90ff9243..f284d6315 100644 --- a/uppsrc/CtrlLib/src.tpp/ArrayCtrl$en-us.tpp +++ b/uppsrc/CtrlLib/src.tpp/ArrayCtrl$en-us.tpp @@ -1502,6 +1502,18 @@ or graphical exports from the array control).&] [s7; [*C@3 j]-|zero`-based column index&] [s7; [*C@3 d]-|display to use&] [s3; &] +[s4;%- &] +[s5;:Upp`:`:ArrayCtrl`:`:SetRowDisplay`(int`,const Upp`:`:Display`&`):%- [@(0.0.255) vo +id]_[* SetRowDisplay]([@(0.0.255) int]_[*@3 i], [@(0.0.255) const]_[_^Upp`:`:Display^ Displ +ay][@(0.0.255) `&]_[*@3 d])&] +[s2; Sets Display [%-*@3 d] for each cell of line [%-*@3 i].&] +[s3; &] +[s4;%- &] +[s5;:Upp`:`:ArrayCtrl`:`:SetColumnDisplay`(int`,const Upp`:`:Display`&`):%- [@(0.0.255) v +oid]_[* SetColumnDisplay]([@(0.0.255) int]_[*@3 j], [@(0.0.255) const]_[_^Upp`:`:Display^ D +isplay][@(0.0.255) `&]_[*@3 d])&] +[s2; Sets Display [%-*@3 d] for each cell of column j.&] +[s3; &] [s4; &] [s5;:ArrayCtrl`:`:GetDisplay`(int`,int`): [@(0.0.255) const]_[_^Display^ Display][@(0.0.255) `& ]_[* GetDisplay]([@(0.0.255) int]_[*@3 row], [@(0.0.255) int]_[*@3 col])&]