Treeview: Problem with expanding the items
BlitzMax Forums/MaxGUI Module/Treeview: Problem with expanding the items| 
 | ||
| Hey there, I'm having some problems with my TreeView. It works, but there is no "+" symbol in front of the folder-items. They appear only if I double-click the items. And that's not really nice, lol any ideas? here's my code: 
Global TreeView:TGadget=CreateTreeView(ClientWidth(MainWindow)-210,35,200,360,MainWindow) 
Global TreeViewIconStrip:TIconStrip=LoadIconStrip("images/treeicons.png") 
SetGadgetIconStrip(TreeView, TreeViewIconStrip)
showTreeView(".",TreeView)
Select EventID()
	Case EVENT_GADGETACTION
		Select EventSource()
			Case TreeView
				Local Node:TGadget = SelectedTreeViewNode(TreeView)
				Local s:String=String(Node.Context)
				If s>""
					showTreeView(s,Node)
					Node.context=""
				EndIf
				ExpandTreeViewNode(node)
		End Select
End Select
Function showTreeView:Int(Dir:String, Parent:TGadget)
	Local Folder:Int=ReadDir(Dir)
	Local File:String
	Local FullPath:String
	
	Repeat
		File=NextFile(Folder)
		If File<>"." And File<>".." And File<>Null
			FullPath = RealPath(Dir+"/"+File)
			If FileType(FullPath)=FILETYPE_DIR Then
				Local handle:TGadget=AddTreeViewNode(File,Parent,0)
				handle.context=FullPath
			Else
				AddTreeViewNode(File,Parent,1)
			EndIf
		EndIf
	Until File=Null
EndFunction
thanks in advance! mike | 
| 
 | ||
| Yup, I reported this. I think Skidracer had a fix or a workaround to suggest, but I can't remember what it was now. I'll see if I can find it, and I'll edit this reply if I can. Off the top of my head, I'm thinking he probably suggested expanding and contracting the node, but that I seem to recall that this didn't entirely suit my purposes at the time. But I think he had another suggestion, so hopefully I can find it. | 
| 
 | ||
| ah, so it is actually a "bug"? anyway, thanks man. Waiting for your answer :) | 
| 
 | ||
| I've messed around with some functions and I tried it also with RedrawGadget(TreeView) But this works only, if I add new items to the TreeView manually (via my self-programmed interface). If I create the tree structure with the showTreeView()-function it will NOT work, weird... And thats bad, if I want to load the tree from a save file. Maybe someone can help me? --- Another problem: How can I remove a single item from the tree? I tried it with: RemoveGadgetItem(TreeView,SelectedTreeViewNode(TreeView)) But it gives me an error: I need to declare an Integer (2nd argument) and I do have a TGadget. So how do I get the Int-value of the selected item (SelectedTreeViewNode)? THX in advance | 
| 
 | ||
| nobody knows? I'd love to continue the work on my program. Any help would be appreciated. | 
| 
 | ||
| For removing, Isn't it FreeTreeViewNode( node:TGadget ) | 
| 
 | ||
| Oh yeah. Wonderful, that helped! Thanks man! @Gabriel: I hope you'll have some new infos on the expanding problem soon :-) | 
| 
 | ||
| Sorry man, I completely forgot. The thread I was referring to is this one. http://www.blitzbasic.com/Community/posts.php?topic=63874 It requires a recompile of MaxGUI, though, which I can't personally do, so I can't tell you if it works or not. I'd really like to see it fixed for all though, as it's a real pain in the butt in my own project. |