diff --git a/uppsrc/CtrlLib/ArrayCtrl.cpp b/uppsrc/CtrlLib/ArrayCtrl.cpp index e86520278..c7b7d1e6e 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.cpp +++ b/uppsrc/CtrlLib/ArrayCtrl.cpp @@ -2339,7 +2339,7 @@ void ArrayCtrl::Clear() { cursor = -1; WhenCursor(); WhenSel(); - SyncInfo(); + info.Cancel(); } array.Clear(); cellinfo.Clear(); diff --git a/uppsrc/CtrlLib/TabCtrl.h b/uppsrc/CtrlLib/TabCtrl.h index 91811d241..47bf9f09c 100644 --- a/uppsrc/CtrlLib/TabCtrl.h +++ b/uppsrc/CtrlLib/TabCtrl.h @@ -123,6 +123,7 @@ public: int Find(const Ctrl& slave) const; void Set(Ctrl& slave); + bool IsAt(Ctrl& slave) { return Get() == Find(slave); } TabCtrl::Item& Insert(Ctrl& before_slave); TabCtrl::Item& Insert(Ctrl& before_slave, const char *text); diff --git a/uppsrc/CtrlLib/src.tpp/TabCtrl$en-us.tpp b/uppsrc/CtrlLib/src.tpp/TabCtrl$en-us.tpp index e1494984e..c347c133d 100644 --- a/uppsrc/CtrlLib/src.tpp/TabCtrl$en-us.tpp +++ b/uppsrc/CtrlLib/src.tpp/TabCtrl$en-us.tpp @@ -386,6 +386,11 @@ lave])&] is not present in TabCtrl, nothing happens.&] [s3; &] [s4;%- &] +[s5;:TabCtrl`:`:IsAt`(Ctrl`&`):%- [@(0.0.255) bool]_[* IsAt]([_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 s +lave])&] +[s2; Returns true if [%-*@3 slave] represents the active tab.&] +[s3; &] +[s4;%- &] [s5;:TabCtrl`:`:Insert`(Ctrl`&`):%- [_^TabCtrl`:`:Item^ TabCtrl`::Item][@(0.0.255) `&]_[* In sert]([_^Ctrl^ Ctrl][@(0.0.255) `&]_[*@3 before`_slave])&] [s5;:TabCtrl`:`:Insert`(Ctrl`&`,const char`*`):%- [_^TabCtrl`:`:Item^ TabCtrl`::Item][@(0.0.255) `&