the only thing I need now is to have it disassemble the text given by the function and rearrange it into a code format
Code: Select all
Gui, New, , TreeViewCreator
Gui, Add, Button, w20 h20 gAdd, +
Gui, Add, Button, yp+25 w20 h20 gAddChild, +C
Gui, Add, Button, x+5 ym w40 h20 gDelete, Delete
Gui, Add, Button, yp+25 w40 h20 gModify, Modify
Gui, Add, Button, x+5 ym w40 h45 gDeleteAll, Delete All
Gui, Add, Button, x+5 ym w50 h45 gGen, Generate Code
Gui, Add, Button, x+5 ym w50 h20 gReset, Reset
Gui, Add, Button, yp+25 w50 h20 gRedraw, Redraw
Gui, Add, CheckBox, x+5 ym+1 w40 h20 vBold, Bold
Gui, Add, CheckBox, yp+24 w60 h20 vChecked, Checked ;this is whether the treeview itself will be with checkboxes
Gui, Add, Edit, x+6 ym+1 w70 h42 vName hwndHandle,
Gui, Add, TreeView, xm W363 h250 -ReadOnly AltSubmit vTV
Gui, Show, , TreeView List Creator
Gui, TreeView, TV
return
Add:
Gui, Submit, NoHide
if Bold
Options .= "Bold "
if Checked
Options .= "Check "
TV_Add(Name, , Options "Expand")
Options := ""
GuiControl, , Edit1
GoSub, Redraw
return
AddChild:
Selected := TV_GetSelection()
Gui, Submit, NoHide
if Bold
Options .= "Bold "
if Checked
Options .= "Check "
TV_Add(Name, Selected, Options "Expand")
Options := ""
GuiControl, , Edit1
GoSub, Redraw
return
Delete:
Selected := TV_GetSelection()
if (Selected = 0)
MsgBox, 8208, Sorry, Select an item first., 0
else
TV_Delete(Selected)
GoSub, Redraw
return
DeleteAll:
MsgBox, 8500, Warning!, Are you sure you want to erase all items?, 0
ifMsgBox, Yes
TV_Delete()
ifMsgBox, No
GoSub, Redraw
GoSub, Redraw
return
Modify:
Selected := TV_GetSelection()
if (Selected = 0)
MsgBox, 8208, Sorry, Select an item first., 0
else
{
InputBox, Name, New Name, , , 140, 100
if not ErrorLevel
TV_Modify(Selected, , Name)
}
GoSub, Redraw
return
Reset:
Reload
return
Redraw:
GuiControl, -Redraw, TV
GuiControl, +Redraw, TV
GuiControl, Focus, Edit1
SendMessage, 0xB1, -2, -1,, ahk_id %Handle%
SendMessage, 0xB7,,,, ahk_id %Handle%
return
Gen:
Gui, Submit, NoHide
GenCode .= "Gui, Add, TreeView, "
GenCode .= Checked = 1 ? "Checked" : ""
GenCode .= "`n"
MsgBox, % TV_GetAllText()
return
TV_GetAllText(ItemID := 0) { ; uses the default TreeView of the default Gui
Text := ""
If (ItemID = 0)
ItemID := TV_GetNext()
While (ItemID){
TV_GetText(ItemText, ItemID)
Text .= ItemText
If ChildID := TV_GetChild(ItemID)
Text .= "[" . TV_GetAllText(ChildID) . "],"
Else
Text .= ","
ItemID := TV_GetNext(ItemID)
}
Return StrReplace(SubStr(Text, 1, -1), ",]", "]")
}
That's the code for it so far, like I said I just need to disassemble the text into a code format