QtScript TreeGadget events
Posted: Sun Mar 17, 2019 11:44 am
Hi,
How can we determine which item the event is from? GetGadgetState() doesn't return the right position in all cases.
How can we determine which item the event is from? GetGadgetState() doesn't return the right position in all cases.
Code: Select all
Runtime Procedure QtSignalHandler()
MessageRequester("", "Item collapsed")
EndProcedure
If OpenWindow(0, 0, 0, 320, 250, "FrameGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TreeGadget(0, 10, 10, 300, 230)
AddGadgetItem(0, -1, "Folder")
AddGadgetItem(0, -1, "Item", 0, 1)
AddGadgetItem(0, -1, "Folder", 0, 1)
AddGadgetItem(0, -1, "Item", 0, 2)
AddGadgetItem(0, -1, "Item", 0, 0)
Define i
For i = 0 To CountGadgetItems(0) - 1
If GetGadgetItemText(0, i) = "Folder"
SetGadgetItemState(0, i, #PB_Tree_Expanded)
EndIf
Next
QtScript(~"gadget(0).itemCollapsed.connect(function() { runtime.call(\"QtSignalHandler()\"); })")
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf