diff --git a/uppsrc/CtrlCore/gtk3-todo.txt b/uppsrc/CtrlCore/gtk3-todo.txt index 8958fbc0a..7b309295b 100644 --- a/uppsrc/CtrlCore/gtk3-todo.txt +++ b/uppsrc/CtrlCore/gtk3-todo.txt @@ -1,5 +1,4 @@ - DnD crash? -- GUILock docs CH: - Redmond scrollbars width @@ -81,3 +80,4 @@ DONE: - Possible issue with Capture (e.g. ide about box) - WithDropChoice ch issue (again...) - Problem with multibutton is back again +- GUILock docs diff --git a/uppsrc/CtrlCore/src.tpp/GuiLock_en-us.tpp b/uppsrc/CtrlCore/src.tpp/GuiLock_en-us.tpp new file mode 100644 index 000000000..77a1c108a --- /dev/null +++ b/uppsrc/CtrlCore/src.tpp/GuiLock_en-us.tpp @@ -0,0 +1,56 @@ +topic ""; +[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] +[l288;2 $$2,2#27521748481378242620020725143825:desc] +[0 $$3,0#96390100711032703541132217272105:end] +[H6;0 $$4,0#05600065144404261032431302351956:begin] +[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item] +[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement] +[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] +[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] +[b42;2 $$9,9#13035079074754324216151401829390:normal] +[2 $$0,0#00000000000000000000000000000000:Default] +[{_} +[ {{10000@(113.42.0) [s0;%% [*@7;4 GUI Mutex operations]]}}&] +[s3; &] +[s5;:Upp`:`:EnterGuiMutex`(`): [@(0.0.255) void]_[* EnterGuiMutex]()&] +[s2;%% Locks global GUI mutex. Reentrant.&] +[s3;%% &] +[s4; &] +[s5;:Upp`:`:TryEnterGuiMutex`(`): [@(0.0.255) bool]_[* TryEnterGuiMutex]()&] +[s2;%% Attempts to lock global GUI mutex. Returns true on success.&] +[s3; &] +[s4; &] +[s5;:Upp`:`:LeaveGuiMutex`(`): [@(0.0.255) void]_[* LeaveGuiMutex]()&] +[s2;%% Unlocks single level of global GUI mutex.&] +[s3; &] +[s4; &] +[s5;:Upp`:`:LeaveGuiMutexAll`(`): [@(0.0.255) int]_[* LeaveGuiMutexAll]()&] +[s2;%% Completely unlocks GUI mutex `- if it was locked multiple +times in reentrant fashion, unlocks all levels as to leave mutex +unlocked. Returns the number of levels unlocked.&] +[s3; &] +[s4; &] +[s5;:Upp`:`:EnterGuiMutex`(int`): [@(0.0.255) void]_[* EnterGuiMutex]([@(0.0.255) int]_[*@3 n +])&] +[s2;%% Locks GUI mutex [%-*@3 n] times.&] +[s3;%% &] +[s4; &] +[s5;:Upp`:`:ThreadHasGuiLock`(`): [@(0.0.255) bool]_[* ThreadHasGuiLock]()&] +[s2;%% Current thread has locked GUI mutex.&] +[s3; &] +[s4; &] +[s5;:Upp`:`:GetGuiLockLevel`(`): [@(0.0.255) int]_[* GetGuiLockLevel]()&] +[s2;%% Returns reentrancy level of GUI mutex.&] +[s3; &] +[s3; &] +[s4; &] +[s5; struct_[* GuiLock]&] +[s2;%% Constructor locks GUI mutex, destructor unlocks it.&] +[s3; &] +[s4; &] +[s5; class_[* GuiUnlock]&] +[s2;%% Constructor completely unlocks GUI mutex using LeaveGuiMutexAll +and stores the locking leve, destructor locks GUI mutex again +to the same level.&] +[s3; &] +[s0;%% ]] \ No newline at end of file diff --git a/uppsrc/CtrlCore/src.tpp/SystemDrawFn_en-us.tpp b/uppsrc/CtrlCore/src.tpp/SystemDrawFn_en-us.tpp index 7371db86e..5c638e32b 100644 --- a/uppsrc/CtrlCore/src.tpp/SystemDrawFn_en-us.tpp +++ b/uppsrc/CtrlCore/src.tpp/SystemDrawFn_en-us.tpp @@ -1,5 +1,4 @@ topic "SystemDraw utility functions"; -[2 $$0,0#00000000000000000000000000000000:Default] [i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class] [l288;2 $$2,2#27521748481378242620020725143825:desc] [0 $$3,0#96390100711032703541132217272105:end] @@ -9,6 +8,7 @@ topic "SystemDraw utility functions"; [l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param] [i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam] [b42;2 $$9,9#13035079074754324216151401829390:normal] +[2 $$0,0#00000000000000000000000000000000:Default] [{_} [ {{10000@(113.42.0) [s0;%% [*@7;4 SystemDraw utility functions]]}}&] [s3; &]