[PD-cvs] pd/src desire.tk,1.1.2.600.2.103,1.1.2.600.2.104

Mathieu Bouchard matju at users.sourceforge.net
Tue Dec 19 02:07:57 CET 2006


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

Modified Files:
      Tag: desiredata
	desire.tk 
Log Message:
find_last_error (part 2 of 2)


Index: desire.tk
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.tk,v
retrieving revision 1.1.2.600.2.103
retrieving revision 1.1.2.600.2.104
diff -C2 -d -r1.1.2.600.2.103 -r1.1.2.600.2.104
*** desire.tk	19 Dec 2006 00:31:56 -0000	1.1.2.600.2.103
--- desire.tk	19 Dec 2006 01:07:53 -0000	1.1.2.600.2.104
***************
*** 139,142 ****
--- 139,156 ----
  }
  
+ # intervals
+ proc inside {x x0 x1}      {return [expr $x>=$x0 && $x<=$x1]}
+ proc overlap {y0 y1 x0 x1} {return [expr [inside $y0 $x0 $x1] || [inside $y1 $x0 $x1]]}
+ 
+ proc distance {point1 point2} {
+ 	set off [l- $point1 $point2]
+ 	return [expr sqrt([lsum [lzip * $off $off]])]
+ }
+ 
+ proc rect_centre {rect} {
+ 	mset {x1 y1 x2 y2} $rect
+ 	return [list [expr {($x1+$x2)/2}] [expr {($y1+$y2)/2}]]
+ }
+ 
  # will be a wrapper for [catch {}].
  # to be continued...
***************
*** 2500,2508 ****
  }
  
- proc distance {point1 point2} {
- 	set off [l- $point1 $point2]
- 	return [expr sqrt([lsum [lzip * $off $off]])]
- }
- 
  def View position= {xy1} {mset [list @x1 @y1] $xy1; $self changed x1 y1}
  
--- 2514,2517 ----
***************
*** 2699,2703 ****
  	}
  	if {[$self look tooltip]} {
! 		if {[expr [distance $::tooltip(curpos) [list $x $y]] > 10]} {$self hide_tooltip}
  	}
  }
--- 2708,2712 ----
  	}
  	if {[$self look tooltip]} {
! 		if {!$::tooltip(stay) && [expr [distance $::tooltip(curpos) [list $x $y]] > 10]} {$self hide_tooltip}
  	}
  }
***************
*** 3534,3541 ****
  def Canvas key_nav_left_shift  {} {$self key_nav +1 +1 1}
  
- # intervals
- proc inside {x x0 x1}      {return [expr $x>=$x0 && $x<=$x1]}
- proc overlap {y0 y1 x0 x1} {return [expr [inside $y0 $x0 $x1] || [inside $y1 $x0 $x1]]}
- 
  def Canvas key_nav {du dv shift} {
  	if {$@keynav_shift && !$shift} {puts "keynav_shift but not shift"}
--- 3543,3546 ----
***************
*** 4146,4149 ****
--- 4151,4162 ----
  def Box popup_help {} {netsend [list .$@canvas object_help $self]}
  
+ def Box show_error {text} {
+ 	regsub "\n" $text "" text
+ 	mset {x1 y1 x2 y2} [$self bbox]
+ 	[$self get_canvas] show_tooltip [expr $x2+4] [expr ($y1+$y2)/2] $text object 1
+ 	#mset {x1 y1 x2 y2} [$self bbox]
+ 	#[$self get_canvas] show_tooltip ... [expr ($y1+$y2)/2] $text object 1
+ }
+ 
  #-----------------------------------------------------------------------------------#
  class_new Wire {View}
***************
*** 5629,5648 ****
  set tooltip(visible) 0
  set tooltip(text) ""
  
! def Canvas show_tooltip {x y text type} {
  	global tooltip
  	if {$tooltip(visible) && [string compare $text $tooltip(text)]==0} {return}
  	$self hide_tooltip
! 	set border 4
! 	set x [expr $x+$border+4] ;# huh, why add border twice?
  	set c [$self widget]
  	mset {x y} [lmap * [list $x $y] $@zoom]
  	switch $type { i {set y [expr $y - 20]} o {set y [expr $y + 20]} }
! 	$c create text $x $y -text $text -anchor w -tags tooltip_fg
! 	mset {x1 y1 x2 y2} [$c bbox tooltip_fg]
! 	$c create rectangle \
! 	    [expr $x1-$border] [expr $y1-$border] \
! 	    [expr $x2+$border] [expr $y2+$border] \
! 	    -fill "#ffffcc" -outline "#000000" -tags tooltip_bg
  	$c lower tooltip_bg tooltip_fg
  	set tooltip(curpos) $@curpos
--- 5642,5664 ----
  set tooltip(visible) 0
  set tooltip(text) ""
+ set tooltip(stay) 0
  
! def Canvas show_tooltip {x y text type {stay 0}} {
  	global tooltip
  	if {$tooltip(visible) && [string compare $text $tooltip(text)]==0} {return}
  	$self hide_tooltip
! 	set x [expr $x+4]
  	set c [$self widget]
  	mset {x y} [lmap * [list $x $y] $@zoom]
+ 	# it's wrong to hardcode "20" here
  	switch $type { i {set y [expr $y - 20]} o {set y [expr $y + 20]} }
! 	if {$stay} {
! 		set fg "#ffffff"; set bg "#dd0000"
! 	} else {
! 		set fg "#000000"; set bg "#ffffcc"
! 	}
! 	$c create text $x $y -fill $fg -text $text -anchor w -tags tooltip_fg
! 	mset {x1 y1 x2 y2} [l+ [$c bbox tooltip_fg] [list -4 -4 +4 +4]]
! 	$c create rectangle $x1 $y1 $x2 $y2 -fill $bg -outline $fg -tags tooltip_bg
  	$c lower tooltip_bg tooltip_fg
  	set tooltip(curpos) $@curpos
***************
*** 5650,5653 ****
--- 5666,5670 ----
  	set tooltip(visible) 1
  	set tooltip(text) $text
+ 	set tooltip(stay) $stay
  }
  





More information about the Pd-cvs mailing list