On Aug 17, 2011, at 6:23 PM, Jonathan Wilkes wrote:
How does your private git branch differ from what's currently in svn?
I pushed my git to github, my latest work is in the 'newentry'
branch. I basically focused on the [entry] widget to see if I could
get it going with this new approach.
https://github.com/pd-projects/tkwidgets
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?
That is true, but tkwidgets are all about using Tk widgets in Pd as
easily as possible. If the Tk widget is not drawn to the screen, then
the Tk widget is not involved. What is the problem in particular?
You want to change its state while its not visible? I think the idea
there is to have the state stored in the standard struct as a dump
from the Tk widget. So when its not visible, store the state-changes,
when it becomes visible, dump the state to the Tk widget.
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.
Yeah, tkwidgets was mostly written about the same time as I starting
the pd-gui-rewrite. As I rewrote a lot of pd-gui, I realized I should
wait on tkwidgets since I could fix a lot of things in pd-gui first.
The <<EditMode>> message is one example. tkwdigets is not complete
yet, so this is not fully in there. I think the [entry] in github
does this kind of stuff.
.hc
Hans-Christoph Steiner <[email protected]>
To: Jonathan Wilkes <[email protected]>
Cc: pd-dev List <[email protected]>
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 <[email protected]>
To: Hans- Christoph Steiner <[email protected]>
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
----------------------------------------------------------------------------
"We have nothing to fear from love and commitment." - New York Senator
Diane Savino, trying to convince the NY Senate to pass a gay marriage
bill
_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev