[PD-cvs] SF.net SVN: pure-data:[10719] branches/pd-devel/0.41.4

eighthave at users.sourceforge.net eighthave at users.sourceforge.net
Mon Feb 2 20:17:30 CET 2009


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.




More information about the Pd-cvs mailing list