diff --git a/reference/TreeCtrlEdited/TreeCtrlEdited.upp b/reference/TreeCtrlEdited/TreeCtrlEdited.upp new file mode 100644 index 000000000..6ae31dc0d --- /dev/null +++ b/reference/TreeCtrlEdited/TreeCtrlEdited.upp @@ -0,0 +1,11 @@ +description "Using TreeCtrl WhenEdited for edit on click (similar to shell rename)\377"; + +uses + CtrlLib; + +file + main.cpp; + +mainconfig + "" = "GUI"; + diff --git a/reference/TreeCtrlEdited/main.cpp b/reference/TreeCtrlEdited/main.cpp new file mode 100644 index 000000000..d2cff784e --- /dev/null +++ b/reference/TreeCtrlEdited/main.cpp @@ -0,0 +1,40 @@ +#include "CtrlLib/CtrlLib.h" + +using namespace Upp; + +struct App : TopWindow { + Splitter split; + TreeCtrl tree1, tree2; + EditInt int_editor; + + typedef App CLASSNAME; + + App() { + tree1.WhenEdited << [=](const Value& v) { // using default EditString + if(tree1.IsCursor()) + tree1.Set(tree1.GetCursor(), v); + }; + + tree2.Editor(int_editor); + tree2.WhenEdited << [=](const Value& v) { + if(tree2.IsCursor()) + tree2.Set(tree2.GetCursor(), v); + }; + + split << tree1 << tree2; + Add(split.SizePos()); + + for(int i = 0; i < 100; i++) { + tree1.Add(i ? Random(i) : 0, Null, AsString(Random())); + tree2.Add(i ? Random(i) : 0, Null, (int)Random()); + } + + tree1.OpenDeep(0); + tree2.OpenDeep(0); + } +}; + +GUI_APP_MAIN +{ + App().Run(); +}