[PD-cvs] pd/src desire.tk,1.1.2.530,1.1.2.531

chunlee chunlee at users.sourceforge.net
Thu Oct 26 04:42:45 CEST 2006


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

Modified Files:
      Tag: devel_0_39
	desire.tk 
Log Message:
commit for nested GOPs


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.530
retrieving revision 1.1.2.531
diff -C2 -d -r1.1.2.530 -r1.1.2.531
*** desire.tk	25 Oct 2006 21:40:01 -0000	1.1.2.530
--- desire.tk	26 Oct 2006 02:42:42 -0000	1.1.2.531
***************
*** 1019,1023 ****
  	#set c [[$self get_canvas] widget]
  	set c [$canvas widget]
! 	set zoom [$@canvas zoom]
  	set coords [lmap * $coords $zoom]
  	#puts "coords::$coords"
--- 1019,1024 ----
  	#set c [[$self get_canvas] widget]
  	set c [$canvas widget]
! 	#set zoom [$@canvas zoom]
! 	set zoom [$canvas zoom]
  	set coords [lmap * $coords $zoom]
  	#puts "coords::$coords"
***************
*** 1038,1043 ****
  	foreach s $suffixes {lappend tags "$self$s"}
  	set ss [lindex $tags 0]
! 	lappend tags list $self
  	if {![llength [$c gettags $ss]]} {
  		eval  [concat [list $c create $type $coords  -tags $tags] $args]
  	} {
--- 1039,1045 ----
  	foreach s $suffixes {lappend tags "$self$s"}
  	set ss [lindex $tags 0]
! 	lappend tags [list $self]
  	if {![llength [$c gettags $ss]]} {
+ 		#puts "       c --> $c"
  		eval  [concat [list $c create $type $coords  -tags $tags] $args]
  	} {
***************
*** 1130,1146 ****
  	}
  	return $canvas
- 
- 
- 	#if {[winfo exists .$@canvas.c]} {
- 	#	return $@canvas
- 	#} else {
- 	#	set next_canvas [$@canvas canvas]
- 	#	if {[winfo exists .$next_canvas.c]} {
- 	#		return $next_canvas
- 	#	} else {
- 	#		#puts "bug:: no canvas found..."
- 	#		return none
- 	#	}
- 	#}
  }
  
--- 1132,1135 ----
***************
*** 1171,1174 ****
--- 1160,1166 ----
  		#set @inside_box 1; return
  		mset {x1 y1} [$@canvas xy]
+ 		$@canvas visible_children+= $self
+ 		set @inside_box 1
+ 		return
  	} else {
  		set x1 $@x1; set y1 $@y1
***************
*** 1208,1217 ****
  			if {[$self class] == "Array"} {$self draw; return}
  #			puts "skipping $self, don't draw it...."
- 			#set c [$self get_canvas]
- 			#if {$c != "none"} {
- 			#	puts "   ............  [$c widget] ............ $self"
- 			#	if {[winfo exists [$c widget]]} {
- 			#	}
- 			#}
  			$self delete
  		}
--- 1200,1203 ----
***************
*** 1877,1881 ****
  def Canvas restack {} {
  	set c [$self get_canvas]
! 	[$c widget] lower $self [lindex [$self children] 0]
  }
  
--- 1863,1877 ----
  def Canvas restack {} {
  	set c [$self get_canvas]
! 	set stack {}
! 	#[$c widget] lower $self [lindex [$self visible_children] 0]
! 	foreach children [$self visible_children] {
! 		foreach i [[$c widget] find withtag $children] {
! 			if {$i != ""} {lappend stack $i}
! 		}
! 	}
! 	set stack [lsort $stack]
! 	set lowest [[$c widget] gettags [lindex $stack 0]]
! 	if {[regexp {^[xo][0-9a-f]{6,8}} $lowest id]} {set lowest $id}
! 	[$c widget] lower $self $lowest
  }
  
***************
*** 2229,2232 ****
--- 2225,2238 ----
  def Canvas visible_children {} {return $@visible_children}
  
+ 
+ def Canvas all_changed {} {
+ 	foreach x $@visible_children {
+ 		if {[$x class] == "Canvas"} {
+ 			if {$@gop} {$x all_changed}
+ 		}
+ 		$x changed
+ 	}
+ }
+ 
  # for undo; calls the server
  def Canvas ins {i constructor} {
***************
*** 3413,3417 ****
--- 3419,3438 ----
  	$spinbox set $per%
  	set @zoom [expr $per/100.0] ;# @zoom must be float, not int
+ 	$self propagate_zoom $@zoom
  	$self redraw
+ 	foreach children $@children {
+ 		if {[$children class] == "Canvas"} {
+ 			if {[$children gop]} {$children all_changed}
+ 		}
+ 	}
+ }
+ 
+ def Canvas propagate_zoom {zoom} {
+ 	foreach children $@children {
+ 		if {[$children class] == "Canvas"} {
+ 			set @zoom $zoom
+ 			$children propagate_zoom $zoom
+ 		}
+ 	}
  }
  
***************
*** 3613,3617 ****
  	#update/move the content of gop 
  	if {[$self class] == "Canvas"} {
! 		if {[$self gop] && ![winfo exists .$self.c]} {foreach x $@visible_children {$x changed}}
  	} else {
  		$self changed_wires
--- 3634,3638 ----
  	#update/move the content of gop 
  	if {[$self class] == "Canvas"} {
! 		if {[$self gop] && ![winfo exists .$self.c]} {$self all_changed}
  	} else {
  		$self changed_wires
***************
*** 5051,5057 ****
  def Array draw {} {
  	global font
  	mset {x_off y_off} [$@canvas xy]
  	mset {xfrom yto xto yfrom pixwidth pixheight} [$@canvas get_mess]
- 	puts "   my canvas :::: $@canvas"
  	if {[winfo exists [$@canvas widget]]} {
  		mset {c_width c_height} [$@canvas get_dimen]
--- 5072,5078 ----
  def Array draw {} {
  	global font
+ 	#set canvas [$self get_canvas]
  	mset {x_off y_off} [$@canvas xy]
  	mset {xfrom yto xto yfrom pixwidth pixheight} [$@canvas get_mess]
  	if {[winfo exists [$@canvas widget]]} {
  		mset {c_width c_height} [$@canvas get_dimen]
***************
*** 5071,5075 ****
  	} else {
  		set width [expr $pixwidth / $@length]
! 	        set canvas [$@canvas canvas]
  		set i 0
  		foreach val $@data {
--- 5092,5098 ----
  	} else {
  		set width [expr $pixwidth / $@length]
! 	        #set canvas [$@canvas canvas]
! 		set canvas [$self get_canvas]
! #		puts "             ....... Array: $self draw on canvas: $canvas  canvas:: $@canvas  width:: $width"
  		set i 0
  		foreach val $@data {
***************
*** 5079,5092 ****
  			set x2 [expr $x1 + $width]
  			set line [list $x1 $y $x2 $y]
! 			set c $@canvas
! 			#$@canvas item elem${i} line $line -fill [$@canvas look compfg] -width 2 \
! 			    #    -tags "$self ${c}elem${i}"
! 			$@canvas item elem${i} line $line -fill [$self look fg] -width 2 \
! 			    -tags "$self ${c}elem${i}"
  			incr i
  		}
- 		# hack, need to remove this.....
- 		after 1 [[$@canvas get_canvas] widget] raise $@canvas
- 		after 1 [[$@canvas get_canvas] widget] raise $self
  	}
  }
--- 5102,5109 ----
  			set x2 [expr $x1 + $width]
  			set line [list $x1 $y $x2 $y]
! 			$canvas item ${self}ELEM${i} line $line -fill [$self look fg] -width 2 \
! 			    -tags "${self}ELEM${i} ${canvas}${self}ELEM${i} $self"
  			incr i
  		}
  	}
  }
***************
*** 5132,5136 ****
  	}
  }
! def Array length= {val} {set @length $val}
  def Array name= {val} {set @name $val}
  def Array array_set {data_list} {
--- 5149,5153 ----
  	}
  }
! def Array length= {val} {set @length [format %f $val]}
  def Array name= {val} {set @name $val}
  def Array array_set {data_list} {





More information about the Pd-cvs mailing list