Revision: 10480 http://pure-data.svn.sourceforge.net/pure-data/?rev=10480&view=rev Author: eighthave Date: 2009-01-08 02:29:19 +0000 (Thu, 08 Jan 2009)
Log Message: ----------- - added placeholder proc to allow executing without constant errors, while retaining existing code
- created package for post
- created wheredoesthisgo package to for functions that are useful, but don't fit into a package yet
- wrestled unsuccessfully with pkg_mkIndex
- replaced more {} quotes with "" on menu commands
Modified Paths: -------------- branches/pd-devel/0.41.4/src/make_pkgIndex.tcl branches/pd-devel/0.41.4/src/pd.tk branches/pd-devel/0.41.4/src/pd_bindings.tcl branches/pd-devel/0.41.4/src/pd_menucommands.tcl branches/pd-devel/0.41.4/src/pd_menus.tcl branches/pd-devel/0.41.4/src/pkgIndex.tcl
Added Paths: ----------- branches/pd-devel/0.41.4/src/pd_post.tcl branches/pd-devel/0.41.4/src/wheredoesthisgo.tcl
Modified: branches/pd-devel/0.41.4/src/make_pkgIndex.tcl =================================================================== --- branches/pd-devel/0.41.4/src/make_pkgIndex.tcl 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/make_pkgIndex.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -1,5 +1,9 @@ #!/usr/bin/tclsh
-pkg_mkIndex -verbose [pwd] *.tcl +puts stdout "Watch out, this doesn't work on packages with namespace import" +pkg_mkIndex -lazy -verbose -- [pwd] *.tcl *.[info sharedlibextension]
+## this currently needs to be added to pkg_mkIndex manually, ug +#package ifneeded pd_menus 0.1 [list source [file join $dir pd_menus.tcl]]
+
Modified: branches/pd-devel/0.41.4/src/pd.tk =================================================================== --- branches/pd-devel/0.41.4/src/pd.tk 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/pd.tk 2009-01-08 02:29:19 UTC (rev 10480) @@ -3,6 +3,7 @@ # WARRANTIES, see the file, "LICENSE.txt," in this distribution. # Copyright (c) 1997-2009 Miller Puckette.
+package require Tcl 8.3 package require Tk
## replace Tk widgets with Ttk widgets @@ -10,14 +11,17 @@ #namespace import -force ttk::*
# set . as first dir in auto_path -#set auto_path [linsert $auto_path 0 "/Users/hans/code/pure-data/branches/pd-devel/0.41.4/src"] set auto_path [linsert $auto_path 0 "."]
package require pd_connect package require pd_menus package require pd_bindings +package require pd_post +# TODO eliminate this kludge: +package require wheredoesthisgo
-# import 'pd' into the global namespace for backwards compatibility +# import into the global namespace for backwards compatibility +namespace import ::pd_post::pdtk_post namespace import ::pd_connect::pd
# ------------------------------------------------------------------------------ @@ -88,12 +92,6 @@ # TODO what else is needed from the original? }
- -proc pdtk_post {s} { - # TODO this should be switchable between Pd window and stderr - puts stderr $s -} - # ------------------------------------------------------------------------------ # kludges to avoid changing C code
Modified: branches/pd-devel/0.41.4/src/pd_bindings.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pd_bindings.tcl 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/pd_bindings.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -1,18 +1,21 @@ package provide pd_bindings 0.1
package require pd_menucommands +package require pd_post
namespace eval ::pd_bindings:: { + variable modifier + + namespace export window_bindings + namespace export panel_bindings + namespace export canvas_bindings + # for key bindings if {[tk windowingsystem] eq "aqua"} { - variable modifier "Mod1" + set modifier "Mod1" } else { - variable modifier "Control" + set modifier "Control" } - - namespace export window_bindings - namespace export panel_bindings - namespace export canvas_bindings }
proc ::pd_bindings::window_bindings {name} { @@ -43,7 +46,7 @@ bind . <$modifier-Key-x> "tk_textCut .printout.text" bind . <$modifier-Key-c> "tk_textCopy .printout.text" bind . <$modifier-Key-v> "tk_textPaste .printout.text" - bind . <$modifier-Key-w> {pdtk_post "Can't close Pd window, ignored.\n"} + bind . <$modifier-Key-w> {::pd_post::pdtk_post "Can't close Pd window, ignored.\n"}
# Tcl event bindings wm protocol . WM_DELETE_WINDOW "menu_quit"
Modified: branches/pd-devel/0.41.4/src/pd_menucommands.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pd_menucommands.tcl 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/pd_menucommands.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -1,8 +1,7 @@
package provide pd_menucommands 0.1
-# ------------------------------------------------------------------------------ -# PLACEHOLDERS +package require pd_post
namespace eval ::pd_menucommands:: { variable untitled_number "1" @@ -11,19 +10,6 @@ namespace export menu_* }
-proc ::pd_menucommands::menu_doc_open {docdir doc} { - # PLACEHOLDER -} - -proc ::pd_menucommands::menu_helpbrowser {dir} { - # PLACEHOLDER -} - -proc ::pd_menucommands::menu_quit {} { - # PLACEHOLDER - exit -} - # ------------------------------------------------------------------------------ # Mac OS X specific functions
Modified: branches/pd-devel/0.41.4/src/pd_menus.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pd_menus.tcl 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/pd_menus.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -3,33 +3,36 @@
package provide pd_menus 0.1
+package require pd_menucommands +package require pd_say package require Tk #package require tile ## replace Tk widgets with Ttk widgets on 8.5 #namespace import -force ttk::*
-package require pd_menucommands -package require pd_say -namespace import ::pd_menucommands::* - # TODO figure out Undo/Redo/Cut/Copy/Paste/DSP state changes for menus # TODO figure out parent window/window list for Window menu +# TODO what is the Tcl package constructor or init()?
+ + # ------------------------------------------------------------------------------ # global variables
-# for displaying on menus +# TODO this should properly be inside the pd_menus namespace, now it is global +namespace import ::pd_menucommands::*
namespace eval ::pd_menus:: { - # TODO this should be only a variable declaration with the if in some kind of init() + variable accelerator + + namespace export create_menubar + namespace export configure_pdwindow + if {[tk windowingsystem] eq "aqua"} { - variable accelerator "Meta" + set accelerator "Meta" } else { - variable accelerator "Ctrl" + set accelerator "Ctrl" } - - namespace export create_menubar - namespace export configure_pdwindow }
# ------------------------------------------------------------------------------ @@ -79,7 +82,7 @@ $rootmenu add separator $rootmenu add command -label [say "Close"] -accelerator "$accelerator+W" $rootmenu add command -label [say "Quit"] -accelerator "$accelerator+Q" \ - -command {menu_quit} + -command "menu_quit" }
# the "Edit", "Put", and "Find" menus do not have cross-platform differences @@ -109,7 +112,7 @@ $rootmenu add separator $rootmenu add command -label [say "Close"] -accelerator "$accelerator+W" $rootmenu add command -label [say "Quit"] -accelerator "$accelerator+Q" \ - -command {menu_quit} + -command "menu_quit" }
# the "Edit", "Put", and "Find" menus do not have cross-platform differences @@ -127,55 +130,55 @@ # menu building functions proc ::pd_menus::create_file_menu {rootmenu name} { [format create_file_menu_%s [tk windowingsystem]] $rootmenu - $rootmenu entryconfigure [say "new_file"] -command {menu_new} - $rootmenu entryconfigure [say "Open"] -command {menu_open} - $rootmenu entryconfigure [say "Save"] -command {menu_save $name} - $rootmenu entryconfigure [say "Save As..."] -command {menu_saveas $name} - # $rootmenu entryconfigure "Revert*" -command {menu_revert $name} - $rootmenu entryconfigure [say "Close"] -command [concat menu_close $name] - $rootmenu entryconfigure [say "Message"] -command {menu_send} - $rootmenu entryconfigure [say "Print..."] -command {menu_print $name} + $rootmenu entryconfigure [say "new_file"] -command "menu_new" + $rootmenu entryconfigure [say "Open"] -command "menu_open" + $rootmenu entryconfigure [say "Save"] -command "menu_save $name" + $rootmenu entryconfigure [say "Save As..."] -command "menu_saveas $name" + # $rootmenu entryconfigure "Revert*" -command "menu_revert $name" + $rootmenu entryconfigure [say "Close"] -command "menu_close $name" + $rootmenu entryconfigure [say "Message"] -command "menu_send" + $rootmenu entryconfigure [say "Print..."] -command "menu_print $name" }
proc ::pd_menus::create_edit_menu {rootmenu name} { variable accelerator $rootmenu add command -label [say "Undo"] -accelerator "$accelerator+Z" \ - -command {menu_undo $name} + -command "menu_undo $name" $rootmenu add command -label [say "Redo"] -accelerator "Shift+$accelerator+Z" \ - -command {menu_redo $name} + -command "menu_redo $name" $rootmenu add separator $rootmenu add command -label [say "Cut"] -accelerator "$accelerator+X" \ - -command {menu_cut $name} + -command "menu_cut $name" $rootmenu add command -label [say "Copy"] -accelerator "$accelerator+C" \ - -command {menu_copy $name} + -command "menu_copy $name" $rootmenu add command -label [say "Paste"] -accelerator "$accelerator+V" \ - -command {menu_paste $name} + -command "menu_paste $name" $rootmenu add command -label [say "Duplicate"] -accelerator "$accelerator+D" \ - -command {menu_duplicate $name} + -command "menu_duplicate $name" $rootmenu add command -label [say "Select All"] -accelerator "$accelerator+A" \ - -command {menu_selectall $name} + -command "menu_selectall $name" $rootmenu add separator if {[tk windowingsystem] eq "aqua"} { $rootmenu add command -label [say "Text Editor"] \ - -command {menu_texteditor $name} + -command "menu_texteditor $name" $rootmenu add command -label [say "Font"] -accelerator "$accelerator+T" \ - -command {menu_font $name} + -command "menu_font $name" } else { $rootmenu add command -label [say "Text Editor"] -accelerator "$accelerator+T"\ - -command {menu_texteditor $name} + -command "menu_texteditor $name" $rootmenu add command -label [say "Font"] \ - -command {menu_font $name} + -command "menu_font $name" } $rootmenu add command -label [say "Tidy Up"] \ - -command {menu_tidyup $name} + -command "menu_tidyup $name" $rootmenu add command -label [say "Toggle Console"] -accelerator "Shift+$accelerator+R" \ -command {.controls.switches.console invoke} $rootmenu add command -label [say "Clear Console"] -accelerator "Shift+$accelerator+L" \ - -command {menu_clear_console} + -command "menu_clear_console" $rootmenu add separator $rootmenu add radiobutton -label [say "Edit Mode"] -accelerator "$accelerator+E" \ -indicatoron true -selectcolor grey85 \ - -command {menu_editmode $name} \ + -command "menu_editmode $name" \ # if { $editable == 0 } { # $name.m.edit entryconfigure "Edit mode" -indicatoron false @@ -185,72 +188,72 @@ proc ::pd_menus::create_put_menu {rootmenu name} { variable accelerator $rootmenu add command -label [say "Object"] -accelerator "$accelerator+1" \ - -command {menu_object $name 0} + -command "menu_object $name 0" $rootmenu add command -label [say "Message"] -accelerator "$accelerator+2" \ - -command {menu_message $name 0} + -command "menu_message $name 0" $rootmenu add command -label [say "Number"] -accelerator "$accelerator+3" \ - -command {menu_floatatom $name 0} + -command "menu_floatatom $name 0" $rootmenu add command -label [say "Symbol"] -accelerator "$accelerator+4" \ - -command {menu_symbolatom $name 0} + -command "menu_symbolatom $name 0" $rootmenu add command -label [say "Comment"] -accelerator "$accelerator+5" \ - -command {menu_comment $name 0} + -command "menu_comment $name 0" $rootmenu add separator $rootmenu add command -label [say "Bang"] -accelerator "Shift+$accelerator+B" \ - -command {menu_bng $name 0} + -command "menu_bng $name 0" $rootmenu add command -label [say "Toggle"] -accelerator "Shift+$accelerator+T" \ - -command {menu_toggle $name 0} + -command "menu_toggle $name 0" $rootmenu add command -label [say "Number2"] -accelerator "Shift+$accelerator+N" \ - -command {menu_numbox $name 0} + -command "menu_numbox $name 0" $rootmenu add command -label [say "Vslider"] -accelerator "Shift+$accelerator+V" \ - -command {menu_vslider $name 0} + -command "menu_vslider $name 0" $rootmenu add command -label [say "Hslider"] -accelerator "Shift+$accelerator+H" \ - -command {menu_hslider $name 0} + -command "menu_hslider $name 0" $rootmenu add command -label [say "Vradio"] -accelerator "Shift+$accelerator+D" \ - -command {menu_vradio $name 0} + -command "menu_vradio $name 0" $rootmenu add command -label [say "Hradio"] -accelerator "Shift+$accelerator+I" \ - -command {menu_hradio $name 0} + -command "menu_hradio $name 0" $rootmenu add command -label [say "VU Meter"] -accelerator "Shift+$accelerator+U"\ - -command {menu_vumeter $name 0} + -command "menu_vumeter $name 0" $rootmenu add command -label [say "Canvas"] -accelerator "Shift+$accelerator+C" \ - -command {menu_mycnv $name 0} + -command "menu_mycnv $name 0" $rootmenu add separator - $rootmenu add command -label Graph -command {menu_graph $name} - $rootmenu add command -label Array -command {menu_array $name} + $rootmenu add command -label Graph -command "menu_graph $name" + $rootmenu add command -label Array -command "menu_array $name" }
proc ::pd_menus::create_find_menu {rootmenu name} { variable accelerator $rootmenu add command -label [say "Find..."] -accelerator "$accelerator+F" \ - -command {menu_findobject $name} + -command "menu_findobject $name" $rootmenu add command -label [say "Find Again"] -accelerator "$accelerator+G" \ - -command {menu_findagain $name} + -command "menu_findagain $name" $rootmenu add command -label [say "Find last error"] \ - -command {menu_finderror} + -command "menu_finderror" }
proc ::pd_menus::create_media_menu {rootmenu name} { variable accelerator $rootmenu add radiobutton -label [say "Compute Audio On"] -accelerator "$accelerator+/" \ - -command {menu_audio 1} + -command "menu_audio 1" $rootmenu add radiobutton -label [say "Compute Audio Off"] -accelerator "$accelerator+." \ - -command {menu_audio 0} -indicatoron true + -command "menu_audio 0" -indicatoron true $rootmenu add separator $rootmenu add command -label [say "Test Audio and MIDI"] \ - -command {menu_doc_open doc/7.stuff/tools testtone.pd} + -command "menu_doc_open doc/7.stuff/tools testtone.pd" $rootmenu add command -label [say "Load Meter"] \ - -command {menu_doc_open doc/7.stuff/tools load-meter.pd} + -command "menu_doc_open doc/7.stuff/tools load-meter.pd" }
proc ::pd_menus::create_window_menu {rootmenu name} { variable accelerator if {[tk windowingsystem] eq "aqua"} { - $rootmenu add command -label [say "Minimize"] -command {menu_minimize .} \ + $rootmenu add command -label [say "Minimize"] -command "menu_minimize ." \ -accelerator "$accelerator+M" - $rootmenu add command -label [say "Zoom"] -command {menu_zoom .} + $rootmenu add command -label [say "Zoom"] -command "menu_zoom ." $rootmenu add separator } $rootmenu add command -label [say "Parent Window"] -state disabled - $rootmenu add command -label [say "Pd window"] -command {menu_raise_console} \ + $rootmenu add command -label [say "Pd window"] -command "menu_raise_console" \ -accelerator "$accelerator+R" -state disabled $rootmenu add separator } @@ -258,17 +261,17 @@ proc ::pd_menus::create_help_menu {rootmenu name} { if {[tk windowingsystem] ne "aqua"} { $rootmenu add command -label {About Pd} \ - -command {menu_doc_open doc/1.manual 1.introduction.txt} + -command "placeholder menu_doc_open doc/1.manual 1.introduction.txt" } $rootmenu add command -label {HTML ...} \ - -command {menu_doc_open doc/1.manual index.htm} + -command "placeholder menu_doc_open doc/1.manual index.htm" $rootmenu add command -label {Browser ...} \ - -command {menu_helpbrowser $help_top_directory} + -command "placeholder menu_helpbrowser $help_top_directory" }
proc ::pd_menus::create_apple_menu {rootmenu name} { $rootmenu add command -label [say "About Pd..."] -command \ - {menu_doc_open doc/1.manual 1.introduction.txt} + "menu_doc_open doc/1.manual 1.introduction.txt" menu $rootmenu.preferences -tearoff 0 $rootmenu add cascade -label "Preferences" -menu $rootmenu.preferences $rootmenu.preferences add command -label [say "Path..."] \
Added: branches/pd-devel/0.41.4/src/pd_post.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pd_post.tcl (rev 0) +++ branches/pd-devel/0.41.4/src/pd_post.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -0,0 +1,13 @@ + +package provide pd_post 0.1 + +namespace eval ::pd_post:: { + + namespace export pdtk_post +} + +proc ::pd_post::pdtk_post {message} { + # TODO this should be switchable between Pd window and stderr + puts stderr $message +} +
Modified: branches/pd-devel/0.41.4/src/pkgIndex.tcl =================================================================== --- branches/pd-devel/0.41.4/src/pkgIndex.tcl 2009-01-08 01:11:05 UTC (rev 10479) +++ branches/pd-devel/0.41.4/src/pkgIndex.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -1,5 +1,5 @@ # Tcl package index file, version 1.1 -# This file is generated by the "pkg_mkIndex" command +# This file is generated by the "pkg_mkIndex -lazy" command # and sourced either when an application starts up or # by a "package unknown" script. It invokes the # "package ifneeded" command to set up package-related @@ -8,9 +8,11 @@ # script is sourced, the variable $dir must contain the # full path name of this file's directory.
-package ifneeded pd_bindings 0.1 [list source [file join $dir pd_bindings.tcl]] -package ifneeded pd_iemgui 0.1 [list source [file join $dir pd_iemgui.tcl]] -package ifneeded pd_menucommands 0.1 [list source [file join $dir pd_menucommands.tcl]] +package ifneeded pd_bindings 0.1 [list tclPkgSetup $dir pd_bindings 0.1 {{pd_bindings.tcl source {::pd_bindings::canvas_bindings ::pd_bindings::panel_bindings ::pd_bindings::window_bindings}}}] +package ifneeded pd_connect 0.1 [list tclPkgSetup $dir pd_connect 0.1 {{pd_connect.tcl source {::pd_connect::connect_to_pd ::pd_connect::pd}}}] +package ifneeded pd_iemgui 0.1 [list tclPkgSetup $dir pd_iemgui 0.1 {{pd_iemgui.tcl source ::pd_iemgui::pdtk_iemgui_dialog}}] +package ifneeded pd_menucommands 0.1 [list tclPkgSetup $dir pd_menucommands 0.1 {{pd_menucommands.tcl source {::pd_menucommands::menu_bringalltofront ::pd_menucommands::menu_close ::pd_menucommands::menu_maximize ::pd_menucommands::menu_minimize ::pd_menucommands::menu_new ::pd_menucommands::menu_open}}}] +package ifneeded pd_post 0.1 [list tclPkgSetup $dir pd_post 0.1 {{pd_post.tcl source ::pd_post::pdtk_post}}] +package ifneeded pd_say 0.1 [list tclPkgSetup $dir pd_say 0.1 {{pd_say.tcl source {init_locale say say2 say_category say_namespace}}}] +package ifneeded wheredoesthisgo 0.1 [list tclPkgSetup $dir wheredoesthisgo 0.1 {{wheredoesthisgo.tcl source placeholder}}] package ifneeded pd_menus 0.1 [list source [file join $dir pd_menus.tcl]] -package ifneeded pd_say 0.1 [list source [file join $dir pd_say.tcl]] -package ifneeded pd_connect 0.1 [list source [file join $dir pd_connect.tcl]]
Added: branches/pd-devel/0.41.4/src/wheredoesthisgo.tcl =================================================================== --- branches/pd-devel/0.41.4/src/wheredoesthisgo.tcl (rev 0) +++ branches/pd-devel/0.41.4/src/wheredoesthisgo.tcl 2009-01-08 02:29:19 UTC (rev 10480) @@ -0,0 +1,13 @@ + +package provide wheredoesthisgo 0.1 + +# a place to temporarily store things until they find a home + +set help_top_directory "" + +proc placeholder {args} { + # PLACEHOLDER + ::pd_post::pdtk_post "PLACEHOLDER $args" +} + +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.