Revision: 10633 http://pure-data.svn.sourceforge.net/pure-data/?rev=10633&view=rev Author: eighthave Date: 2009-01-25 06:43:15 +0000 (Sun, 25 Jan 2009)
Log Message: ----------- updated with lots of ideas from dev work
Modified Paths: -------------- branches/pd-devel/0.41.4/devel_doc/TODO
Added Paths: ----------- branches/pd-devel/0.41.4/devel_doc/ChangeLog.txt
Added: branches/pd-devel/0.41.4/devel_doc/ChangeLog.txt =================================================================== --- branches/pd-devel/0.41.4/devel_doc/ChangeLog.txt (rev 0) +++ branches/pd-devel/0.41.4/devel_doc/ChangeLog.txt 2009-01-25 06:43:15 UTC (rev 10633) @@ -0,0 +1,14 @@ + +- pure Tcl GUI. The C build system now has zero Tcl dependencies. + +- Pd can now handle filenames that include ,;" characters in them. The + only caveat is that SaveAs doesn't work with names with " in it. + +- unlike the earlier 'pd' command in Tcl, 'pdsend' handles the semi-colon + +- exception handling on commands being sent from pd->pd-gui, so we should see + fewer Tcl exception windows + +- The File->Open panel can open multiple files at once + +- arbitary fonts now fit into the fixed box sizes
Modified: branches/pd-devel/0.41.4/devel_doc/TODO =================================================================== --- branches/pd-devel/0.41.4/devel_doc/TODO 2009-01-25 06:42:32 UTC (rev 10632) +++ branches/pd-devel/0.41.4/devel_doc/TODO 2009-01-25 06:43:15 UTC (rev 10633) @@ -12,14 +12,56 @@ [ ] figure out parent window/window list for Window menu [ ] canvas scrollbar logic [ ] flash menu when accelerator hits (i.e. flash Edit when Ctrl-E) +[ ] make File->New default dir the dir of the current top window (pdsend_map) +[ ] use gnocl for GNOME feel
- panels ------ [ ] find panel [ ] send message panel [ ] restructure Pd window for cleaner UI and code +[ ] font panel [ ] unified preference panel with tabs (like standard on GNOME, Mac OS X, Win) [ ] help browser [ ] wm attributes -topmost for panels like Find, message [ ] MacWindowStyle for panels: http://wiki.tcl.tk/13428 +[ ] Open/Save panel dirs with separate dirs for openpanel and savepanel + http://lists.puredata.info/pipermail/pd-list/2008-05/062630.html + + + +post-GUI rewrite +================ + +These are things to address once the initial Tcl-only GUI rewrite is complete. + +[ ] streamline pdsend_key and the C side of things, using %N +[ ] implement [wm attributes -titlepath] on Mac OS X and change pdsend_map +[ ] move sys_font setting from 'pd' to 'pd-gui', probably in pdtk_pd_startup + +- switch to using toplevel classes instead of creating the bindings each time + bind MyCanvas + bind MyToplevel + + +[2:07pm] ijchain: <patthoyts> If you bind to the classname of the toplevel you;ll only get the Map event from that toplevel. +[2:07pm] ijchain: <patthoyts> eg: bind Dialog <Map> {puts "map %W"} ; toplevel .t -class Dialog; pack [canvas .t.c]; wm withdraw .t; wm deiconify .t +[2:08pm] ijchain: <patthoyts> will only show a Map from .t +[2:09pm] hans_: patthoyts: hmm, I am getting two messages, one from the toplevel, one from the canvas +[2:09pm] hans_: here's the code where the bind happens: +[2:09pm] hans_: http://pure-data.svn.sourceforge.net/viewvc/pure-data/branches/pd-devel/0.41... +[2:09pm] hans_: line 155 +[2:09pm] ijchain: <patthoyts> yes. Because you bound to the window name. +[2:09pm] ijchain: <patthoyts> read what I wrote. bind to the classname of the toplevel. +[2:10pm] hans_: ok, let me try that +[2:10pm] hans_: thanks +[2:10pm] ijchain: <patthoyts> If you dont want to change the bindings, in the function itself you could test the class using [winfo class %W] +[2:10pm] hans_: is there a preferred approach? +[2:10pm] hans_: I could do either +[2:11pm] ijchain: <patthoyts> I'd bind to the class if I was writing it from scratch. +[2:11pm] hans_: ok, sounds good, I am rewriting an app from scratch, so I am trying to use the cleanest Tcl style +[2:12pm] ijchain: <patthoyts> For instance, looking at your code, you have to run through the bindings each time you make a toplevel. +[2:12pm] ijchain: <patthoyts> Instead you can do the binding to the class name once in the initialization for the application. +[2:13pm] ijchain: <patthoyts> Then any toplevel created with that class will automatically get the correct bindings. +[2:14pm] ijchain: <patthoyts> If you look at the code in tk/library/*.tcl where the widget bindings are all setup you can see thats how its done for Tk's own stuff. Mostly anyway. +[2:15pm] hans_: thanks, very helpfuil!
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.