[PD-cvs] pd/src desire.tk,1.1.2.242,1.1.2.243
chunlee
chunlee at users.sourceforge.net
Tue Jun 13 23:22:00 CEST 2006
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32180
Modified Files:
Tag: devel_0_39
desire.tk
Log Message:
rewrite def* IEMPropertiesDialog init
Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.242
retrieving revision 1.1.2.243
diff -C2 -d -r1.1.2.242 -r1.1.2.243
*** desire.tk 13 Jun 2006 17:52:24 -0000 1.1.2.242
--- desire.tk 13 Jun 2006 21:21:58 -0000 1.1.2.243
***************
*** 956,980 ****
}
! def* View popup_properties {} {
! global fields
! set class $@class
! if {![info exists fields($class)]} {set class obj}
! puts "this is a $@class class"
! puts "it has [llength $fields($class)] properties"
!
! PagedDialog new_as ${self}prefs
!
! #set f .$self.1
! #set section 0
! #set subsection 0
! #foreach propertie $fields($class) {
! #switch $propertie {
! # bcol {
! # properties_dialog $which_self $which_section ClientPrefsDialog_ok \
! # [list [lindex $name 0] [say $name] color {}]
! # }
! #}
! #}
! }
# in the future, one View may have several canvases. (??)
--- 956,968 ----
}
! #def* View popup_properties {} {
! # global fields
! # set class $@class
! # if {![info exists fields($class)]} {set class obj}
! # puts "this is a $@class class"
! # puts "it has [llength $fields($class)] properties"
! #
! # PagedDialog new_as ${self}prefs
! #}
# in the future, one View may have several canvases. (??)
***************
*** 2953,2957 ****
}
! def BlueBox popup_properties {} {IEMPropertiesDialog new $self}
class_new PropertiesDialog {Dialog}
--- 2941,2945 ----
}
! def* BlueBox popup_properties {} {IEMPropertiesDialog new $self}
class_new PropertiesDialog {Dialog}
***************
*** 2964,3032 ****
class_new IEMPropertiesDialog {PropertiesDialog}
! def IEMPropertiesDialog init {of} {
! global classinfo fields
! super $of
!
! # cloning contents of the $of object, except for some little exceptions
! foreach var {snd rcv lab} {
! catch {set val $_($@of:$var); switch -- $val { empty {set val ""}}; set @$var $val}
! }
! foreach var {w h hold break ldx ldy fstyle fs is_log steady min max
! on nonzero val change log_height hh isa} {
! catch {set @$var $_($of:$var)}
! }
! foreach var {bcol fcol lcol} {
! catch {set @$var [parse_color $_($of:$var)]}
! }
!
! set @loadbang [expr $@isa & 1]
! set @scale [expr ($@isa>>20) & 1]
!
! set @class $_($of:class)
! post %s "$self = IEMPropertiesDialog $of"
! set id .$self
! wm title $id "$classinfo($@class) Properties"
! wm protocol $id WM_DELETE_WINDOW "iemgui_cancel $id"
! set props {}
!
! set fi $fields($@class)
!
! if {[lsearch $fi w]>=0} {lappend props w "width(px): " integer {-width 7}}
! if {[lsearch $fi h]>=0} {lappend props h "height(px): " integer {-width 7}}
! if {[lsearch $fi hold]>=0} {lappend props hold "hold time(ms): " float {-width 9}}
! if {[lsearch $fi break]>=0} {lappend props break "break time(ms): " float {-width 9}}
! if {[lsearch $fi min]>=0} {lappend props min "minimum value: " float {-width 9}}
! if {[lsearch $fi max]>=0} {lappend props max "maximum value: " float {-width 9}}
! if {[lsearch $fi is_log]>=0} {lappend props is_log [list "Mode: " "linear" "logarithmic"] choice {}}
! if {[lsearch $fi isa]>=0} {lappend props loadbang "init" toggle {}}
! if {[lsearch $fi n]>=0} {lappend props n "n: " integer {-width 4}}
! if {[lsearch $fi steady]>=0} {lappend props steady [list "Steadiness: " "jump on click" "steady on click"] choice {}}
! properties_dialog $self .$self iemgui_ok $props
! set props {}
! if {[lsearch $fi snd]>=0} {lappend props snd "send-symbol: " entry {-width 20}}
! if {[lsearch $fi rcv]>=0} {lappend props rcv "receive-symbol: " entry {-width 20}}
! lappend props lab "label: " entry {-width 20}
! lappend props ldx "label x offset: " entry {-width 5}
! lappend props ldy "label y offset: " entry {-width 5}
! lappend props fstyle {"Typeface: " "courier (typewriter)" "helvetica (sansserif)" "times (serif)"} choice {}
! lappend props fs "font size: " fontsize {-width 5}
! lappend props bcol "background color: " color {}
! if {[lsearch $fi fcol]>=0} {lappend props fcol "foreground color: " color {}}
! lappend props lcol "label color: " color {}
! properties_dialog $self .$self iemgui_ok $props
!
! if {[info tclversion] < 8.4} {
! bind $id <Key-Tab> {tkTabToWindow [tk_focusNext %W]}
! bind $id <<PrevWindow>> {tkTabToWindow [tk_focusPrev %W]}
! } else {
! bind $id <Key-Tab> {tk::TabToWindow [tk_focusNext %W]}
! bind $id <<PrevWindow>> {tk::TabToWindow [tk_focusPrev %W]}
! }
! catch {
! $id.w.entry select from 0
! $id.w.entry select adjust end
! }
! focus $id.w.entry
}
--- 2952,3019 ----
class_new IEMPropertiesDialog {PropertiesDialog}
! def* IEMPropertiesDialog init {of} {
! global classinfo fields
! super $of
! set class $_($of:class)
! if {![info exists fields($class)]} {set class obj}
! puts "this is a $_($of:class) class"
! puts "it has [llength $fields($class)] properties"
! #clone values
! foreach var $fields($class) {
! set val $_($of:$var)
! switch -- $val { empty {set val ""}}
! if {[regexp -nocase {^([a-z])col$} $var]} {set val [parse_color $val]}
! set @$var $val
! }
! set @loadbang [expr $@isa & 1]
! set @scale [expr ($@isa>>20) & 1]
! set @class $_($of:class)
! # the longest label is...
! foreach propertie $fields($class) {
! set label [say $propertie]
! if {[string length $label] > $@max_label} {set @max_label [string length $label]}
! }
!
! foreach propertie $fields($class) {
! #puts "propertie ::: $propertie"
! switch $propertie {
! w {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] integer {-width 7}]}
! h {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] integer {-width 7}]}
! hold {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] float {-width 9}]}
! break {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] float {-width 9}]}
! min {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] float {-width 9}]}
! max {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] float {-width 9}]}
! is_log {
! set options [list [say $propertie] [say linear] [say logarithmic]]
! properties_dialog $self .$self iemgui_ok [list $propertie $options choice {}]
! }
! isa {
! set options [list [say $propertie] [say yes] [say no]]
! properties_dialog $self .$self iemgui_ok [list $propertie $options choice {}]
! }
! n {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] integer {-width 4}]}
! steady {
! set options [list [say $propertie] [say jump] [say steady]]
! properties_dialog $self .$self iemgui_ok [list $propertie $options choice {}]
! }
! snd {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] entry {-width 20}]}
! rcv {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] entry {-width 20}]}
! lab {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] entry {-width 20}]}
! labx {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] entry {-width 5}]}
! laby {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] entry {-width 5}]}
! fstyle {
! set options [list [say $propertie] "courier (typewriter)" "helvetica (sansserif)" "times (serif)"]
! properties_dialog $self .$self iemgui_ok [list $propertie $options choice {}]
! }
! fs {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] fontsize {-width 5}]}
! bcol {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] color {}]}
! fcol {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] color {}]}
! lcol {properties_dialog $self .$self iemgui_ok [list $propertie [say $propertie] color {}]}
! }
! }
!
!
! #puts "$self = IEMPropertiesDialog $of"
}
***************
*** 4219,4223 ****
frame $f
set i 0
! pack [label $f.label -text [lindex $label 0]] $f -side left
# this which is not good, need to sort it out...
set m [menu $f.$name -tearoff 0]
--- 4206,4211 ----
frame $f
set i 0
! label $f.label -text [lindex $label 0]
! #pack [label $f.label -text [lindex $label 0]] $f -side left
# this which is not good, need to sort it out...
set m [menu $f.$name -tearoff 0]
***************
*** 4228,4232 ****
label $f.label_set -text "default" -relief raised
balloon $f.label_set "click to change setting"
! pack $f.label_set -side top -fill x
# need to sort this out.......
bind $f.label_set <1> "tk_popup $f.$name \[expr %X - 100\] %Y"
--- 4216,4220 ----
label $f.label_set -text "default" -relief raised
balloon $f.label_set "click to change setting"
! pack $f.label $f.label_set -side left
# need to sort this out.......
bind $f.label_set <1> "tk_popup $f.$name \[expr %X - 100\] %Y"
***************
*** 4301,4306 ****
}
pack $f -side top -fill x
! catch {$f.label configure -width 45 -anchor e}
}
}
--- 4289,4296 ----
}
pack $f -side top -fill x
! #catch {$f.label configure -width 45 -anchor e}
! catch {$f.label configure -width $_($self:max_label) -anchor e}
}
+
}
***************
*** 4381,4384 ****
--- 4371,4375 ----
def Dialog init {} {
set f .$self
+ set @max_label 0
toplevel $f
frame $f.buttonsep -height 2 -borderwidth 1 -relief sunken
***************
*** 4589,4592 ****
--- 4580,4584 ----
set babble {}
foreach subname $names {lappend babble [say [lindex [split $subname |] 0]]}
+ puts "babble :::: $babble"
properties_dialog $self $f.main.$section ServerPrefsDialog_ok \
[list [lindex $name 0] $babble choice {}]
***************
*** 4774,4777 ****
--- 4766,4783 ----
set section 0
set subsection 0
+
+ foreach {type names} $ddrc_options {
+ set label ""
+
+ if {[llength $names] > 1} {
+ foreach name $names {
+ append label " [say $name]"
+ }
+ } else {
+ set label [say $names]
+ }
+ if {[string length $label] > $@max_label} {set @max_label [string length $label]}
+ }
+
foreach {type names} $ddrc_options {
set name [lindex [split $names |] 0]
More information about the Pd-cvs
mailing list