I would like to see something like the above command which returns the complete path of an item that is selected by index.
Eg:
Code: Select all
+ First Node
|
----+Second Node
|
----Entry (Selected)
Cheers
Mike
Code: Select all
+ First Node
|
----+Second Node
|
----Entry (Selected)
Code: Select all
Procedure TreeGadgetItemNumber(gadget, itemID)
count = CountGadgetItems(gadget)
For i = 0 To count
If GadgetItemID(gadget, i) = itemID
ProcedureReturn i
EndIf
Next i
ProcedureReturn -1
EndProcedure
Procedure.s GetGadgetTree(treeGadget, index, seperator$)
hParent = SendMessage_(GadgetID(treeGadget), #TVM_GETNEXTITEM,
#TVGN_PARENT, GadgetItemID(treeGadget, index))
If hParent
ProcedureReturn GetGadgetTree(treeGadget, TreeGadgetItemNumber(treeGadget, hParent),
seperator$) + seperator$ + GetGadgetItemText(treeGadget, index, 0)
Else
ProcedureReturn GetGadgetItemText(treeGadget, index, 0)
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 200, 200, "Get Tree Hierarchy",
#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(1, 10, 10, 180, 20, "double-click to display hierarchy...")
TreeGadget(0, 10, 35, 180, 155)
AddGadgetItem (0, -1, "Level 1.1", 0, 0)
AddGadgetItem (0, -1, "Level 1.2 Parent", 0, 0)
AddGadgetItem(0, -1, "Level 2.1", 0, 1)
AddGadgetItem(0, -1, "Level 2.2", 0, 1)
AddGadgetItem(0, -1, "Level 2.3 Parent", 0, 1)
AddGadgetItem(0, -1, "Level 3.1", 0, 2)
AddGadgetItem(0, -1, "Level 3.2", 0, 2)
AddGadgetItem(0, -1, "Level 3.3", 0, 2)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
appQuit = 1
Case #PB_Event_Gadget
Select EventGadget()
Case 0
Select EventType()
Case #PB_EventType_LeftDoubleClick
Debug GetGadgetTree(0, GetGadgetState(0), ",")
EndSelect
EndSelect
EndSelect
Until appQuit = 1
EndIf