From 21c068f1916330e90f814bed461fe0821d1665ec Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 9 Oct 2011 16:36:37 +0000 Subject: checked in pd-0.43-0.src.tar.gz svn path=/trunk/; revision=15557 --- pd/tcl/dialog_data.tcl | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 pd/tcl/dialog_data.tcl (limited to 'pd/tcl/dialog_data.tcl') diff --git a/pd/tcl/dialog_data.tcl b/pd/tcl/dialog_data.tcl new file mode 100644 index 00000000..0bc989f5 --- /dev/null +++ b/pd/tcl/dialog_data.tcl @@ -0,0 +1,53 @@ + +package provide dialog_data 0.1 + +namespace eval ::dialog_data:: { + namespace export pdtk_data_dialog +} + +############ pdtk_data_dialog -- run a data dialog ######### + +proc ::dialog_data::send {mytoplevel} { + for {set i 1} {[$mytoplevel.text compare [concat $i.0 + 3 chars] < end]} \ + {incr i 1} { + pdsend "$mytoplevel data [$mytoplevel.text get $i.0 [expr $i + 1].0]" + } + pdsend "$mytoplevel end" +} + +proc ::dialog_data::cancel {mytoplevel} { + pdsend "$mytoplevel cancel" +} + +proc ::dialog_data::ok {mytoplevel} { + ::dialog_data::send $mytoplevel + ::dialog_data::cancel $mytoplevel +} + +proc ::dialog_data::pdtk_data_dialog {mytoplevel stuff} { + toplevel $mytoplevel -class DialogWindow + wm title $mytoplevel [_ "Data Properties"] + wm group $mytoplevel $::focused_window + wm transient $mytoplevel $::focused_window + $mytoplevel configure -menu $::dialog_menubar + $mytoplevel configure -padx 0 -pady 0 + + frame $mytoplevel.buttonframe + pack $mytoplevel.buttonframe -side bottom -fill x -pady 2m + button $mytoplevel.buttonframe.send -text [_ "Send (Ctrl s)"] \ + -command "::dialog_data::send $mytoplevel" + button $mytoplevel.buttonframe.ok -text [_ "OK (Ctrl t)"] \ + -command "::dialog_data::ok $mytoplevel" + pack $mytoplevel.buttonframe.send -side left -expand 1 + pack $mytoplevel.buttonframe.ok -side left -expand 1 + + text $mytoplevel.text -relief raised -bd 2 -height 40 -width 60 \ + -yscrollcommand "$mytoplevel.scroll set" + scrollbar $mytoplevel.scroll -command "$mytoplevel.text yview" + pack $mytoplevel.scroll -side right -fill y + pack $mytoplevel.text -side left -fill both -expand 1 + $mytoplevel.text insert end $stuff + focus $mytoplevel.text + bind $mytoplevel.text "::dialog_data::ok $mytoplevel" + bind $mytoplevel.text "::dialog_data::send $mytoplevel" +} -- cgit v1.2.1