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