Revision: 10719 http://pure-data.svn.sourceforge.net/pure-data/?rev=10719&view=rev Author: eighthave Date: 2009-02-02 19:17:30 +0000 (Mon, 02 Feb 2009)
Log Message: ----------- updated TODO and sketched out some comments and panel code
Modified Paths: -------------- branches/pd-devel/0.41.4/devel_doc/TODO branches/pd-devel/0.41.4/src/gatom.tcl branches/pd-devel/0.41.4/src/pd_menucommands.tcl
Modified: branches/pd-devel/0.41.4/devel_doc/TODO =================================================================== --- branches/pd-devel/0.41.4/devel_doc/TODO 2009-02-02 19:13:22 UTC (rev 10718) +++ branches/pd-devel/0.41.4/devel_doc/TODO 2009-02-02 19:17:30 UTC (rev 10719) @@ -4,9 +4,16 @@ [ ] performance testing to make sure the Tcl networking is up to snuff [ ] overall naming/organization scheme for variables, functions, and packages [ ] implement checking to see if another Pd is already running follwoing this code example: http://tcl.tk/man/tcl8.4/TkCmd/send.htm -[ ] search path for startup.tcl and load, this is a file for GUI customizations +[ ] search path for startup.tcl and load, this is a file for GUI +customizations +[ ] create pd_panels.tcl with the code for creating the various panels, or +maybe it should be like font_panel.tcl, find_panel.tcl, etc. +[ ] make pd_menucommands only have the commands that are called form the +menus, the meat of the code should go into more approriate places +[ ] make pdtk_* procs just serve as message passing, since that is what they +are doing. the real world should be more cleanly laid out by functionality. +For example, the font panel should be created by Tk, then the
- gui logic --------- [ ] figure out Undo/Redo/Cut/Copy/Paste state changes for menus @@ -14,11 +21,18 @@ [ ] 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 +[ ] made "performance mode" on menu which disables closing of toplevel + windows, probably using binding/unbinding to toplevel classes +[ ] if pd_*dir for panels no longer exists, step down one level at a time + until a still-existing directory is found. +[ ] add DIO error option to the Media menu +[ ] add "edit" option to canvas popup to edit the text on GUI objects +[ ] use "system" colors to use colors from the OS's preferences
panels ------ -[ ] find panel +[ ] add findagain support to find panel +[ ] make text entry in find/sendmessage panels a popup menu with the history [ ] send message panel [ ] restructure Pd window for cleaner UI and code [ ] font panel @@ -30,22 +44,12 @@ 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 pdtk_canvas_getscroll to mytoplevel and bind <Configure> to a -class - +using toplevel classes +---------------------- - 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 @@ -66,3 +70,16 @@ [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. + +================ +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 pdtk_canvas_getscroll to mytoplevel and bind <Configure> to a -class +[ ] use gnocl for GNOME feel +[ ] fix X11 copy/paste custom code (i.e. not [clipboard get] http://wiki.tcl.tk/1217
Modified: branches/pd-devel/0.41.4/src/gatom.tcl =================================================================== --- branches/pd-devel/0.41.4/src/gatom.tcl 2009-02-02 19:13:22 UTC (rev 10718) +++ branches/pd-devel/0.41.4/src/gatom.tcl 2009-02-02 19:17:30 UTC (rev 10719) @@ -7,7 +7,8 @@ namespace export pdtk_gatom_dialog }
-# the radiobutton widget requires this to be global +# hashtable for communicating the position of the radiobuttons (Tk's +# radiobutton widget requires this to be global) global gatomlabel_position
############ pdtk_gatom_dialog -- run a gatom dialog #########
Modified: branches/pd-devel/0.41.4/src/pd_menucommands.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pd_menucommands.tcl 2009-02-02 19:13:22 UTC (rev 10718) +++ branches/pd-devel/0.41.4/src/pd_menucommands.tcl 2009-02-02 19:17:30 UTC (rev 10719) @@ -44,6 +44,15 @@ } }
+ +proc ::pd_menucommands::menu_showpanel {panelname mytoplevel} { + if {[winfo exists .$panelname]} { + wm deiconify .$panelname + raise .$panelname + } else { + ::${panelname}::create_panel $mytoplevel + } +} # ------------------------------------------------------------------------------ # send message panel
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.