aboutsummaryrefslogtreecommitdiff
path: root/packages/patches/extended-help-menu.patch
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-12-29 01:00:28 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-12-29 01:00:28 +0000
commit61de202d0fea8f5f28a6c2aa5d47e6383b2d6b75 (patch)
treea6d950776ca94076d45d60cef3377d454ecf61c3 /packages/patches/extended-help-menu.patch
parentafba34abe715244650a5e8a8314715edbd64c26a (diff)
ditched the help menu hack and finally wrote a help browser in Tk
svn path=/trunk/; revision=4309
Diffstat (limited to 'packages/patches/extended-help-menu.patch')
-rw-r--r--packages/patches/extended-help-menu.patch308
1 files changed, 0 insertions, 308 deletions
diff --git a/packages/patches/extended-help-menu.patch b/packages/patches/extended-help-menu.patch
deleted file mode 100644
index a717578b..00000000
--- a/packages/patches/extended-help-menu.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-Index: u_main.tk
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v
-retrieving revision 1.7.2.4
-diff -u -w -r1.7.2.4 u_main.tk
---- u_main.tk 21 Feb 2005 04:20:20 -0000 1.7.2.4
-+++ u_main.tk 28 Nov 2005 15:27:03 -0000
-@@ -24,6 +24,14 @@
- # Tearoff is set to true by default:
- set pd_tearoff 1
-
-+
-+# a menu on the main menubar named $whatever.help while be treated
-+# as a special menu with specific behaviors on different platforms.
-+# See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
-+# this is the default name for the Help menu
-+set help_menu_name "help"
-+
-+#################### init for Windows ####################
- if {$pd_nt == 1} {
- global pd_guidir
- global pd_tearoff
-@@ -32,8 +40,12 @@
- set pd_guidir $pd_gui3/..
- load $pd_guidir/bin/pdtcl.dll
- set pd_tearoff 1
-+ set help_top_directory $pd_guidir/doc
-+ # init last help directory browsed
-+ set help_directory $help_top_directory
- }
-
-+##################### init for Mac OS X/Darwin ####################
- if {$pd_nt == 2} {
- # turn on James Tittle II's fast drawing (wait until I can test this...):
- # set tk::mac::useCGDrawing 1
-@@ -43,6 +55,39 @@
- set pd_guidir $pd_gui2/..
- load $pd_guidir/bin/pdtcl
- set pd_tearoff 0
-+ set help_top_directory $pd_guidir/doc
-+
-+
-+ # This procedure generates a temporary mirror of the documentation directory
-+ # in /tmp so that it can be opened from the Help->Pure Documentation... menu
-+ # under Mac OS X. It is meant to be run at startup.
-+ # Damn you Apple and your hide-stuff-from-the-user "features".
-+ # <hans@at.or.at.>
-+ regsub -all "/" $help_top_directory "." help_directory_alias
-+ set help_directory_alias /tmp/.pd_help_directory_alias-$help_directory_alias
-+ set help_directory_tmpdir $help_directory_alias/doc
-+ # if something other than a directory exists, delete it
-+ if [file exists $help_directory_alias] {
-+ file delete -force -- $help_directory_alias
-+ }
-+ if { ! [ file isdirectory $help_directory_tmpdir ] } {
-+ file mkdir $help_directory_tmpdir
-+ }
-+ foreach file [ lsort [ glob -dir $help_top_directory * ] ] {
-+ regsub -all ".*/" $file "" link_file_name
-+ file link -symbolic $help_directory_tmpdir/$link_file_name $file
-+ }
-+ # init last help directory browsed
-+ set help_directory $help_directory_tmpdir
-+
-+
-+ # a menu on the main menubar named "$whatever.help" while be treated
-+ # as a special menu with specific behaviors on different platforms.
-+ # See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
-+ # Apple doesn't allow cascading menus in their Help so I had to call this
-+ # one "docs" <hans@at.or.at>
-+ set help_menu_name "docs"
-+
-
- # tk::mac::OpenDocument is called with the filenames put into the
- # var args whenever docs are either dropped on the Pd.app icon or
-@@ -60,14 +105,22 @@
- # hack so you can easily test-run this script in linux... define pd_guidir
- # (which is normally defined at startup in pd under linux...)
-
-+#################### init for GNU/Linux ####################
- if {$pd_nt == 0} {
- if {! [info exists pd_guidir]} {
- global pd_guidir
- puts stderr {setting pd_guidir to '.'}
- set pd_guidir .
- }
-+ set help_top_directory $pd_guidir/doc
-+ # init last help directory browsed
-+ set help_directory $help_top_directory
- }
-
-+#################### init for all platforms ####################
-+
-+
-+
- # it's unfortunate but we seem to have to turn off global bindings
- # for Text objects to get control-s and control-t to do what we want for
- # "text" dialogs below. Also we have to get rid of tab's changing the focus.
-@@ -95,25 +148,15 @@
- if {$pd_nt != 2} {
- .mbar add cascade -label "Windows" -menu .mbar.windows
- .mbar add cascade -label "Media" -menu .mbar.audio
--# a menu on the main menubar named $whatever.help while be treated
--# as a special menu with specific behaviors on different platforms.
--# See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
-- menu .mbar.help -tearoff $pd_tearoff
-- .mbar add cascade -label "Help" -menu .mbar.help
- } else {
- menu .mbar.apple -tearoff 0
- .mbar add cascade -label "Apple" -menu .mbar.apple
- # arrange menus according to Apple HIG
- .mbar add cascade -label "Media" -menu .mbar.audio
- .mbar add cascade -label "Window" -menu .mbar.windows
--# a menu on the main menubar named "$whatever.help" while be treated
--# as a special menu with specific behaviors on different platforms.
--# See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
--# Apple doesn't allow cascading menus in their Help so I had to call this
--# one $mbar.docs # <hans@at.or.at>
-- menu .mbar.docs -tearoff $pd_tearoff
-- .mbar add cascade -label "Help" -menu .mbar.docs
- }
-+menu .mbar.$help_menu_name -tearoff $pd_tearoff
-+.mbar add cascade -label "Help" -menu .mbar.$help_menu_name
-
- set ctrls_audio_on 0
- set ctrls_meter_on 0
-@@ -371,25 +414,15 @@
- }
- }
-
--set help_directory $pd_guidir/doc
--set help_top_directory $pd_guidir/doc
--
-+################## menu_documentation #########################
- proc menu_documentation {} {
- global help_directory
- global pd_nt
- global pd_guidir
-
-- if {$pd_nt == 2} {
-- exec rm -rf /tmp/pd-documentation
-- exec cp -pr $pd_guidir/doc /tmp/pd-documentation
- set filename [tk_getOpenFile -defaultextension .pd \
-- -filetypes { {{documentation} {.pd .txt .htm}} } \
-- -initialdir /tmp/pd-documentation]
-- } else {
-- set filename [tk_getOpenFile -defaultextension .pd \
-- -filetypes { {{documentation} {.pd .txt .htm}} } \
-+ -filetypes { {{documentation} {.pd .txt .htm .html}} } \
- -initialdir $help_directory]
-- }
- if {$filename != ""} {
- if {[string first .txt $filename] >= 0} {
- menu_opentext $filename
-@@ -411,42 +444,69 @@
-
- set dirname $pd_guidir/$subdir
-
-+ set file_type [file type $dirname/$basename]
-+ if { $file_type == "directory" } {
-+ pd [concat pd open [pdtk_enquote $basename] \
-+ [pdtk_enquote $dirname] \;]
-+ } else {
- if {[regexp ".*\.(txt|c)$" $basename]} {
- menu_opentext $dirname/$basename
-+ } elseif {[regexp ".*\.(pd|max)$" $basename]} {
-+ pd [concat pd open [pdtk_enquote $basename] \
-+ [pdtk_enquote $dirname] \;]
- } elseif {[regexp ".*\.html?$" $basename]} {
- menu_openhtml $dirname/$basename
- } else {
-- pd [concat pd open [pdtk_enquote $basename] \
-- [pdtk_enquote $dirname] \;]
-+ menu_openhtml $dirname/$basename
- }
- }
-+}
-+
-
--proc doc_submenu {helpmenu subdir} {
-- global help_top_directory pd_tearoff
-+################## menu_doc_submenu #########################
-
-- set menudir $help_top_directory/$subdir
-+# this is a recursive function to generation a nested menu in the help menu
-+# which shows the complete contents of the doc directory <hans@at.or.at>
-+proc menu_doc_submenu {helpmenu base_dir sub_dir} {
-+ global pd_tearoff
-+ global help_top_directory
-+
-+ set menu_dir $help_top_directory/$base_dir/$sub_dir
-
-- regsub -all "\\\." $subdir "" submenu
-+ catch {
-+ foreach file [ lsort [ glob -nocomplain -dir $menu_dir * ] ] {
-+ set file_type [file type $file]
-+ regsub {.*/(.*$)} $file {\1} file_name
-
-+ # If links are going to be used then there needs to be a check to
-+ # see if each link might cause this function to recurse forever
-+ # <hans@at.or.at>
-+ if { $file_type == "link"} {
-+ puts stderr "Warning doc_submenu found a link: $file"
-+ }
-+ if { $file_type == "file" } {
-+ # only put certain file types on the menu
-+ if {[regexp ".*\.(htm|html|c|pd|txt|tk|pdf|wav|aif|aiff)$" $file]} {
-+ $helpmenu add command -label $file_name \
-+ -command "menu_doc_open doc/$base_dir/$sub_dir $file_name"
-+ }
-+ } elseif { $file_type == "directory" } {
-+ regsub -all "\\\." [string tolower $file_name] "" submenu
- menu $helpmenu.$submenu -tearoff $pd_tearoff
-- regsub -all "\\\." $subdir " " submenuname
-+ regsub -all "\\\." $file_name " " submenuname
- $helpmenu add cascade -label $submenuname \
- -menu $helpmenu.$submenu
--
--# use this glob pattern to exclude the supporting files
--# foreach file [ lsort [ glob -dir $menudir {*[0-9][0-9]*} ] ]
-- foreach file [ lsort [ glob -dir $menudir * ] ] {
-- set filename ""
-- regsub {.*/(.*\..+$)} $file {\1} filename
-- $helpmenu.$submenu add command -label $filename \
-- -command "menu_doc_open doc/$subdir $filename"
-+ menu_doc_submenu $helpmenu.$submenu $base_dir/$sub_dir \
-+ [file tail $file]
-+ }
-+ }
- }
- }
-
- ############# routine to add media, help, and apple menu items ###############
-
- proc menu_addstd {mbar} {
-- global pd_apilist pd_nt pd_tearoff
-+ global pd_apilist pd_nt pd_tearoff help_menu_name
- # the "Audio" menu
- $mbar.audio add command -label {audio ON} -accelerator [accel_munge "Ctrl+/"] \
- -command {menu_audio 1}
-@@ -490,34 +550,17 @@
- -command {pd pd audio-properties \;}
- $mbar.apple.preferences add command -label "MIDI settings..." \
- -command {pd pd midi-properties \;}
-- }
--
--
--# the "Help" menu
-- if {$pd_nt != 2} {
--# a menu on the main menubar named "$whatever.help" while be treated
--# as a special menu with specific behaviors on different platforms.
--# See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
-- $mbar.help add command -label {About Pd} \
-- -command {menu_doc_open doc/1.manual 1.introduction.txt}
-- $mbar.help add command -label {Pure Documentation...} \
-- -command {menu_documentation}
-- # add menu items for each section instead of using Pd patches
-- $mbar.help add separator
-- set helpmenuname help
- } else {
--# Apple doesn't allow cascading menus in their Help so I had to call this
--# one "docs" <hans@at.or.at>
-- set helpmenuname docs
-+ $mbar.$help_menu_name add command -label "About Pd..." -command \
-+ {menu_doc_open doc/1.manual 1.introduction.txt}
- }
-
-- $mbar.$helpmenuname add command -label {1 manual...} \
-+ $mbar.$help_menu_name add command -label {Browse Documentation...} \
-+ -command {menu_documentation}
-+ $mbar.$help_menu_name add command -label {Pd HTML Manual...} \
- -command {menu_doc_open doc/1.manual index.htm}
-- doc_submenu $mbar.$helpmenuname 2.control.examples
-- doc_submenu $mbar.$helpmenuname 3.audio.examples
-- doc_submenu $mbar.$helpmenuname 4.fft.examples
-- doc_submenu $mbar.$helpmenuname 5.reference
-- doc_submenu $mbar.$helpmenuname 6.externs
-+ $mbar.$help_menu_name add separator
-+ menu_doc_submenu $mbar.$help_menu_name "." "."
- }
-
- #################### the "File" menu for the Pd window ##############
-@@ -820,6 +863,7 @@
- global pd_opendir
- global pd_tearoff
- global pd_nt
-+ global help_menu_name
-
- toplevel $name -menu $name.m
- # puts stderr [concat geometry: $geometry]
-@@ -1078,13 +1122,11 @@
- # as a special menu with specific behaviors on different platforms.
- # See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm
- if {$pd_nt != 2} {
-- menu $name.m.help -tearoff $pd_tearoff
-- $name.m add cascade -label Help -menu $name.m.help
-+ menu $name.m.$help_menu_name -tearoff $pd_tearoff
-+ $name.m add cascade -label Help -menu $name.m.$help_menu_name
- } else {
-- # Apple doesn't allow cascading menus in their Help
-- # so I had to call this one "docs". <hans@at.or.at>
-- menu $name.m.docs -tearoff $pd_tearoff
-- $name.m add cascade -label Help -menu $name.m.docs
-+ menu $name.m.$help_menu_name -tearoff $pd_tearoff
-+ $name.m add cascade -label Help -menu $name.m.$help_menu_name
- }
-
- menu_addstd $name.m