CtrlLib: ArrayCtrl::AcceptEdits, RichTextView::GetCursor; ide: Fixed issue with pure virtual signature id

This commit is contained in:
Mirek Fidler 2022-12-21 09:49:46 +01:00
parent f3553f8c51
commit affa760a9d
5 changed files with 17 additions and 2 deletions

View file

@ -1403,7 +1403,8 @@ bool ArrayCtrl::AcceptRow(bool endedit) {
}
bool ArrayCtrl::Accept() {
return IsCursor() ? AcceptRow() : true;
return IsCursor() ? AcceptRow() :
accept_edits ? Ctrl::Accept() : true;
}
bool ArrayCtrl::KillCursor0() {
@ -2798,6 +2799,7 @@ void ArrayCtrl::Reset() {
min_visible_line = 0;
max_visible_line = INT_MAX;
ctrl_low = ctrl_high = 0;
accept_edits = false;
}
void ArrayCtrl::CancelMode()

View file

@ -252,6 +252,7 @@ private:
bool focussetcursor:1;
bool allsorting:1;
bool spanwidecells:1;
bool accept_edits:1;
mutable bool selectiondirty:1;
@ -719,6 +720,8 @@ public:
ArrayCtrl& NoCursorOverride() { return CursorOverride(Null); }
ArrayCtrl& SpanWideCells(bool b = true) { spanwidecells = b; Refresh(); return *this; }
ArrayCtrl& AcceptEdits(bool b = true) { accept_edits = b; return *this; }
void Reset();

View file

@ -63,6 +63,8 @@ public:
void SetQTF(const char *qtf, Zoom z = Zoom(1, 1));
const RichText& Get() const { return text; }
String GetQTF(byte cs = CHARSET_UTF8) const { return AsQTF(text, cs); }
int GetCursor() const { return cursor; }
int GetWidth() const { return text.GetWidth(); }
int GetHeight(int cx) const { return text.GetHeight(Zoom(1, 1), cx); }

View file

@ -1073,6 +1073,12 @@ width is extended to span over the next cell (just like in common
spreadsheet applications). ArrayCtrl header must no be in Moving
mode for correct operation. Returns `*this.&]
[s3; &]
[s4;%- &]
[s5;:Upp`:`:ArrayCtrl`:`:AcceptEdits`(bool`):%- ArrayCtrl[@(0.0.255) `&]
[* AcceptEdits]([@(0.0.255) bool] [*@3 b] [@(0.0.255) `=] [@(0.0.255) true])&]
[s2; ArrayCtrl normally does not Accept (check) controlled widgets
(e.g. editors). This mode activates such behaviour.&]
[s3;%- &]
[s4; &]
[s5;:ArrayCtrl`:`:RowFormat`(const char`*`): [_^String^ String]_[* RowFormat]([@(0.0.255) c
onst]_[@(0.0.255) char]_`*[*@3 s])&]

View file

@ -158,7 +158,9 @@ String CleanupId(const char *s)
mm.Cat(*s++);
}
}
return mm;
String m = mm;
m.TrimEnd("=0");
return m;
}
String CleanupPretty(const String& signature)