[PD-cvs] pd/src desire.tk,1.1.2.253,1.1.2.254

chunlee chunlee at users.sourceforge.net
Tue Jun 20 21:46:20 CEST 2006


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31401

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
commited some codes for floatatom


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.253
retrieving revision 1.1.2.254
diff -C2 -d -r1.1.2.253 -r1.1.2.254
*** desire.tk	20 Jun 2006 04:07:31 -0000	1.1.2.253
--- desire.tk	20 Jun 2006 19:46:15 -0000	1.1.2.254
***************
*** 1425,1428 ****
--- 1425,1429 ----
      # confusing?;)
      # puts "metrics: [font metrics courier]"
+     #$self update_size
      global font look
      mset {x1 y1} [$self xy]
***************
*** 1528,1532 ****
  }
  
! def TextBox update_size {} {
  	global font look
  	set @textwidth [expr $font(padx)+$font(width)*([string length $@text]+$@edit)]
--- 1529,1533 ----
  }
  
! def* TextBox update_size {} {
  	global font look
  	set @textwidth [expr $font(padx)+$font(width)*([string length $@text]+$@edit)]
***************
*** 2307,2311 ****
  
  def* Canvas unclickrun {x y b} {
! 	#if {[focus] != $self} {[$self focus] unclick $x $y $b}
  }
  
--- 2308,2312 ----
  
  def* Canvas unclickrun {x y b} {
! 	if {[$self focus] != $self} {[$self focus] unclick $x $y $b}
  }
  
***************
*** 2688,2692 ****
  set fields(msg) {foo bar x1 y1}
  set fields(coords) {foo bar xfrom yfrom xto yto w h gop x1 y1}
! 
  
  #             @pdclass {@_class}
--- 2689,2693 ----
  set fields(msg) {foo bar x1 y1}
  set fields(coords) {foo bar xfrom yfrom xto yto w h gop x1 y1}
! set fields(floatatom) {foo bar x1 y1 w min max pos lab snd rcv}
  
  #             @pdclass {@_class}
***************
*** 2706,2709 ****
--- 2707,2711 ----
  set classinfo(canvas)  {Canvas}
  set classinfo(cnv)     {Cnv}
+ set classinfo(floatatom)     {FloatAtom}
  
  #
***************
*** 2937,2952 ****
  }
  
! class_new AtomBox {View}
! def AtomBox draw {} {
  	global look
  	mset {x1 y1} [$self xy]
! 	set x2 [expr $x1+$xs]
! 	set y2 [expr $y1+$ys]
  	set points [list $x1 $y1 [expr $x2-4] $y1 $x2 [expr $y1+4] $x2 $y2 $x1 $y2]
! 	$@canvas canvasx $x1
! 	$self item BASE polygon $points -tag -fill $look(objectbg) -outline $look(objectframe3)
  	io_draw $self
  	if {[$self selected?]} {set frcol $look(objectframe4)} {set frcol $look(objectframe3)}
! 	$@canvas itemconfigure ${self}BASE -outline $frcol
  }
  
--- 2939,2955 ----
  }
  
! class_new AtomBox {View Box}
! def* AtomBox draw {} {
  	global look
+ 	$self update_size
  	mset {x1 y1} [$self xy]
! 	set x2 [expr $x1+$@xs]
! 	set y2 [expr $y1+$@ys]
  	set points [list $x1 $y1 [expr $x2-4] $y1 $x2 [expr $y1+4] $x2 $y2 $x1 $y2]
! 	.$@canvas.c canvasx $x1
! 	$self item BASE polygon $points -fill $look(objectbg) -outline $look(objectframe3)
  	io_draw $self
  	if {[$self selected?]} {set frcol $look(objectframe4)} {set frcol $look(objectframe3)}
! 	.$@canvas.c itemconfigure ${self}BASE -outline $frcol
  }
  
***************
*** 3259,3262 ****
--- 3262,3355 ----
  }
  
+ class_new FloatAtom {AtomBox}
+ def* FloatAtom init {args} {
+ 	global font look
+ 	eval [concat [list super] $args]
+ 	set @clicking 0
+ 	set @buf 0
+ 	set @valid 0
+ 	set @text 0
+ 	set @edit 0
+ 	set @isnew 1
+ 	
+ }
+ 
+ 
+ def* FloatAtom draw {} {
+ 	global font look
+ 	super
+ 	mset {x1 y1} [$self xy]
+ 	set xs [expr 4+10*$@w]
+ 	set ys $font(height)
+ 	set xt [expr $x1+$ys/2+2]
+ 	set yt [expr $y1+$ys/2+1+$xs/34]
+ 	$self item TEXT text [list $xt $yt] -anchor w -text $@buf \
+ 		-font $font(str) -fill #000000
+ 	set t .$@canvas.c.${self}TEXT
+ 	if {$@isnew} {
+ 	bind $t <Key> "$self key %W %x %y %K %A 0"
+ 	set @isnew 0
+ 	#focus .$@canvas.c.${self}TEXT
+ 	}
+ 	
+ }
+ 
+ def* FloatAtom key {x y key iso shift} {
+ 
+ }
+ 
+ def* FloatAtom ftoa {} {
+ 	set f $@val
+ 	set is_exp 0
+ 	if {[string length $@buf]>0} {return $@buf}
+ 	set buf [format %g $f]
+ 	set bufsize [string length buf]
+ 	if {$bufsize >= 5} {
+ 		# exponential mode
+ 		set is_exp [regexp -nocase e]
+ 	}
+ 	if {$bufsize > $@w} {
+ 		# must shrink number
+ 		if {$is_exp} {
+ 			#...
+ 		} {
+ 			#...
+ 		}
+ 	}
+ 	return $buf
+ }
+ 
+ def FloatAtom update_size {} {
+ 	global font look
+ 	set @textwidth [expr $font(padx)+$font(width)*[string length $@buf]]
+ 	set @topwidth [expr ($@ninlets + ($@ninlets - 1)) * $look(iowidth)]
+ 	set @bottomwidth [expr ($@noutlets + ($@noutlets - 1)) * $look(iowidth)]
+ 	set @xs [max $look(minobjwidth) [max $@bottomwidth [max $@topwidth $@textwidth]]]
+ 	
+ 	set @ys  [expr $font(pady)+$font(height)]
+ }
+ 
+ def* FloatAtom click {args} {
+ 	#$self edit
+ 	set t .$@canvas.c.${self}text
+ 	puts ".$@canvas.c itemconfigure $t -state disabled"
+ 	.$@canvas.c itemconfigure $t -state disabled
+ 	$@canvas focus= $self
+ 	.$@canvas.c itemconfigure ${self}BASE4 -fill #00ff00
+ 	#set @mouse [list $x $y]
+ 	#set @oval $@val
+ 	#set @clicking 1
+ 	#set @rate [expr $f&1 ? 0.01 : 1.00]
+ }
+ 
+ def* FloatAtom unclick {args} {
+ 	global look
+ 	set @clicking 0
+ 	$@canvas focus= $@canvas
+ 	.$@canvas.c itemconfigure ${self}BASE4 -fill $look(objectbg)
+ }
+ 
+ def* FloatAtom motion {args} {}
+ 
  class_new NumBox {Labeled Box}
  def* NumBox init {args} {
***************
*** 3267,3270 ****
--- 3360,3372 ----
  }
  
+ def* NumBox update_size {} {
+ 	global font look
+ 	set @textwidth [expr $font(padx)+$font(width)*[string length $@buf]]
+ 	set @topwidth [expr ($@ninlets + ($@ninlets - 1)) * $look(iowidth)]
+ 	set @bottomwidth [expr ($@noutlets + ($@noutlets - 1)) * $look(iowidth)]
+ 	set @xs [max $look(minobjwidth) [max $@bottomwidth [max $@topwidth $@textwidth]]]
+ 	set @ys  [expr $font(pady)+$font(height)]
+ }
+ 
  def* NumBox draw {} {
  	$self update_size
***************
*** 3301,3313 ****
  }
  
- def* NumBox update_size {} {
- 	global font look
- 	set @textwidth [expr $font(padx)+$font(width)*[string length $@buf]]
- 	set @topwidth [expr ($@ninlets + ($@ninlets - 1)) * $look(iowidth)]
- 	set @bottomwidth [expr ($@noutlets + ($@noutlets - 1)) * $look(iowidth)]
- 	set @xs [max $look(minobjwidth) [max $@bottomwidth [max $@topwidth $@textwidth]]]
- 	
- 	set @ys  [expr $font(pady)+$font(height)]
- }
  
  
--- 3403,3406 ----





More information about the Pd-cvs mailing list