Figured out my problem. There is a bug in the pybwidget Tree::nodes() member.
The correct code should be: def nodes(self, node, *args): return self.tk.call(self._w, "nodes", node, *args) The "node" argument was not being passed into the call function. BTW, I did define a constant ROOT ROOT='root' and it works as expected. I don't follow your comment that is different than NORMAL. In Tcl, you'd do: Tree .tree .tree insert end root bob -text "Bob" .tree nodes root In Python, I'm doing: ROOT='root' tree = Tree( ... ) tree.insert( END, ROOT, 'bob', text = 'Bob' ) tree.nodes( ROOT ) Looks like I'll modify the pybwidget package to fit my needs. I'll submit any changes to the author for consideration. A --- Stewart Midwinter <[EMAIL PROTECTED]> wrote: > Arthur: > > you can't extend the idea of NORMAL to ROOT. NORMAL > is a variable > with content 'normal', but root is an object. I'm > guessing that your > tree node deletion fails because you have root in > quotes - it's not a > string. But I haven't worked with that module yet. > > The other thing might be to look in pybwidget.py, > since there are some > clues in there. And lastly, since bwidget are TCL > widgets, you may > want to look into the tcl code. I know, it's kind > of strange if you > are used to python... > > After you get it all working, please consider > visiting the wiki at > http://tkinter.unpy.net/wiki/ and add some text and > a screen print for > the bwidget tree widget. > > thanks > S > > > On Tue, 21 Dec 2004 16:57:07 -0500 (EST), Arthur C > <[EMAIL PROTECTED]> wrote: > > - I've gotten used to Tkinter's definition of > > constants such as NORMAL (which is merely a string > > 'normal') for certain argument values. When > adding > > nodes off the root to a Tree, the Tcl code uses > the > > name root. I was expecting to do something like: > > > > t = Tree( ... ) > > t.insert( END, ROOT, text = 'Something' ) > > > > Okay, so not ROOT constant exists. So, what do I > use? > > I'm guess 'root'. Changed the code to: > > > > t.insert( END, 'root', text = 'Something' ) > > > > Now, I want to delete all the nodes in the tree. > So I > > want to do something like: > > > > t.delete( t.nodes( 'root' ) ) > > > > However, doing so gives the following error: > > > > TclError: wrong # args: should be "Tree::nodes > path > > node ?first? ?last?" > > > > Any idea what the issue is? FYI, I'm using > > pybwidget-0.1.1_1.7.0 > > > > Thanks for any clues offered. > > > > Regards, > > Arthur > > _______________________________________________ > > Tkinter-discuss mailing list > > [email protected] > > > http://mail.python.org/mailman/listinfo/tkinter-discuss > > > > > -- > Stewart Midwinter > [EMAIL PROTECTED] > [EMAIL PROTECTED] > _______________________________________________ Tkinter-discuss mailing list [email protected] http://mail.python.org/mailman/listinfo/tkinter-discuss
