How does your private git branch differ from what's currently in svn?

One thing I'd like to point out is that your tkwidgets suffer from the same problem tot/widget did -- by handling all the widget state in tcl you make it impossible to use your objects inside a subpatch/abstraction that doesn't have a visible canvas (because the widget no longer exists).  I was considering create a "master" widget as a child of the main window and sync it to the widget drawn on the canvas, but that seems like a lot of trouble.  Is there some other workaround?

Another thing: to get "Pd-style" interaction, bind $canvas <<EditMode>> to a proc that sets -state to disabled for all tkwidgets in that $canvas when editmode == 1.  That way you don't end up triggering the widget when you want to edit it.

-Jonathan


From: Hans-Christoph Steiner <hans@at.or.at>
To: Jonathan Wilkes <jancsika@yahoo.com>
Cc: pd-dev List <pd-dev@iem.at>
Sent: Wednesday, August 17, 2011 2:54 PM
Subject: Re: tkwidgets


Hey Jonathan,

I'm cc'ing pd-dev since this is a topic that could interest others and others could contribute to.  I've started a private git branch of tkwidgets that I intent to push once I get somewhere with it.  The idea is to try out a new idea for how GUI objects can work.  Basically, I think I can make it so that Tcl handles more of the interaction with the user, minimizing on pd-gui <--> pd communications, and making it easier to write GUI objects.  Its not trivial to do, but should be doable.

.hc


On Aug 17, 2011, at 12:26 PM, Jonathan Wilkes wrote:

Never mind, I see it now inside canvas_vis... too bad canvas' "window" subcommand doesn't have something like pack's "-in" option...

But I guess I could make a toplevel checkbutton widget and just manually clone it.

-Jonathan


From: Jonathan Wilkes <jancsika@yahoo.com>
To: Hans- Christoph Steiner <hans@at.or.at>
Sent: Wednesday, August 17, 2011 3:14 AM
Subject: tkwidgets

Hi Hans,
     Do I have it right that your tkwidgets get destroyed when the containing patch is vis'd 0?  If so, any hints on how this happens?

Specifically, I'm playing around with [checkbutton], and even if I comment out everything in eraseme and checkbutton_free, and every single "destroy" subcommand, I still get a tcl error when sending a bang or float to a [checkbutton] that's in a subpatch with no window mapped:

(Tcl) INVALID COMMAND NAME: invalid command name ".x252a690.c.widget25272b0"
    while executing
".x252a690.c.widget25272b0 cget -onvalue"
    ("uplevel" body line 2)
    invoked from within
"uplevel #0 $cmd_from_pd"







----------------------------------------------------------------------------

Man has survived hitherto because he was too ignorant to know how to realize his wishes.  Now that he can realize them, he must either change them, or perish.    -William Carlos Williams