reference/ocr-new/multi_zone.test.tcl
author viric@llimona
Thu, 18 May 2006 23:12:51 +0200
changeset 0 6b8091ca909a
permissions -rw-r--r--
Init from working directory of svn repository.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
proc multiZone_open { filename } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
# 1 means success
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
    global IMAGE_DISPLAY_WIN ZONING_SCALE_FACTOR DISPLAY_IMAGE XV xvprocess \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
	    multiZone_display_open
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
    set open 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
    if { $multiZone_display_open == $open } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
	focus .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
	toplevel .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
	init_zoning_display .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
        
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
#   puts stdout "Opening $filename"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
    page_open $filename
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
# Scale image to display    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
    set ZONING_SCALE_FACTOR .50
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
#[ max [expr 800.0/[get_page_height]] \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
#		[expr 800/[get_page_width]] ]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
#   puts stdout "Done putting into page structure"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
    if { 1 }  {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
	set display_height [expr $ZONING_SCALE_FACTOR * [get_page_height]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
	set display_width [expr $ZONING_SCALE_FACTOR * [get_page_width]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
	append geometry [expr int($display_width)] x [expr int($display_height)]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
#	puts stdout "Displaying Image"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
	if { $DISPLAY_IMAGE == $XV } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
	    set xvprocess [exec xv $filename &]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
	    puts stdout "xvprocess $xvprocess"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
# use the canvas...
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
	DISPLAY_INTERVALS .zoning_window.work_space $ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
	FIND_LINES
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
	popup_image_failure_win
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
    puts stdout "Determining Line boundaries"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
proc init_zoning_display { window } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
    global ZONING_SCALE_FACTOR BACKGROUND FOREGROUND scroll_inc
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
	wm geometry $window 800x800
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
	wm title $window "Zoning Window"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
	wm minsize $window 400 300
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
        $window configure -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
    set canvas_width 1000
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
    set canvas_height 1000
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
   canvas $window.work_space -bg white -xscrollcommand \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
	  "$window.xscroller set" -yscrollcommand \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
	  "$window.yscroller set" -xscrollincrement \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
	   $scroll_inc -cursor {crosshair black gray}  \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
	   -width $canvas_width -height $canvas_height 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    62
# two scrollbars
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    63
    scrollbar $window.xscroller -command "$window.work_space xview" -orient horizontal -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    64
    scrollbar $window.yscroller -command "$window.work_space yview" -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    65
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    66
    pack $window.xscroller -side bottom -fill x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    67
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    68
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    69
proc max { a b } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    70
    if { [expr $a] > [expr $b] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    71
	return $a
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    72
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    73
	return $b
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    74
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    75
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    76
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    77
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    78
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    79
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    80
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    81
set x_init 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    82
set y_init 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    83
set x_final 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    84
set y_final 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    85
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    86
set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    87
set region_count 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    88
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    89
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    90
proc initialize_region_grab { window } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    91
#
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    92
#
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    93
# facilitates the grabbing of a rectangle of the window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    94
# using mouse button 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    95
# canvas subwindow must be called $window.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    96
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    97
    global x_init y_init x_final y_final started_region region_data region_list region_id arrow_in_progress current_arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    98
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    99
    bind $window.work_space <ButtonPress-1> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   100
	if [expr ! $started_region] {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   101
	    grab set $window 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   102
	    set x_init [$window.work_space canvasx %x]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   103
	    set y_init [$window.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   104
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   105
	    set region_id [$window.work_space create rectangle $x_init $y_init $x_init $y_init -outline black -width 3 ]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   106
	    $window.work_space itemconfigure $region_id -tags region$region_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   107
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   108
	    set started_region 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   109
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   110
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   111
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   112
    bind $window.work_space <ButtonRelease-1> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   113
	set x_final [$window.work_space canvasx %x]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   114
	set y_final [$window.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   115
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   116
	$window.work_space coords region$region_id $x_init $y_init $x_final $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   117
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   118
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   119
	# if finishing a rectangle, initialize its stuff in the array
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   120
	if {$x_init <= $x_final} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   121
	    set region_data($region_id,x_init) $x_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   122
	    set region_data($region_id,x_final) $x_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   123
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   124
	    set region_data($region_id,x_final) $x_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   125
	    set region_data($region_id,x_init) $x_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   126
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   127
	if {$y_init <= $y_final} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   128
	    set region_data($region_id,y_init) $y_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   129
	    set region_data($region_id,y_final) $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   130
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   131
	    set region_data($region_id,y_init) $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   132
	    set region_data($region_id,y_final) $y_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   133
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   134
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   135
	set region_data($region_id,next_region_id) 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   136
	lappend region_list $region_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   137
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   138
	make_region_buttons $region_id	    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   139
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   140
	set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   141
	grab release $window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   142
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   143
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   144
    bind $window.work_space <B2-Motion> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   145
	if $arrow_in_progress {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   146
	    set curx [$window.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   147
	    set cury [$window.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   148
	    $window.work_space coords $current_arrow 0 0 $curx $cury
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   149
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   150
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   151
    bind $window.work_space <B1-Motion> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   152
	if $started_region {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   153
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   154
	    set curx [$window.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   155
	    set cury [$window.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   156
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   157
	    $window.work_space coords region$region_id $x_init $y_init $curx $cury
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   158
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   159
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   160
	} 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   161
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   162
    bind $window <Leave> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   163
	# on leaving the display, release control of the mouse etc.
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   164
	# maybe make it scroll instead?
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   165
	if $started_region {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   166
	    grab release $window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   167
	    set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   168
	    $window.work_space coords region$region_id 0 0 0 0  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   169
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   170
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   171
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   172
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   173
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   174
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   175
set arrow_in_progress 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   176
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   177
proc make_region_buttons {reg_id } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   178
    global region_data kill_button_data next_button_data arrow_in_progress current_arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   179
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   180
    set x_init $region_data($reg_id,x_init)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   181
    set y_init $region_data($reg_id,y_init)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   182
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   183
    set next_num [$window.work_space create rectangle $x_init $y_init [expr $x_init + 40] [expr $y_init + 20]  -tags "region$reg_id next_button$reg_id"]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   184
#statement above had -fill blue between 20 and -tags
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   185
    set next_button_data($next_num,reg_id) $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   186
    $window.work_space bind next_button$reg_id <Double-2> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   187
	set reg_id $next_button_data([$window.work_space find withtag current],reg_id)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   188
	if { $arrow_in_progress } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   189
	    finish_arrow $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   190
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   191
	    set canvas_x [$window.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   192
	    set canvas_y [$window.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   193
	    start_arrow $reg_id $canvas_x $canvas_y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   194
	    puts stdout "Starting an arrow at $canvas_x $canvas_y"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   195
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   196
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   197
    set kill_num [$window.work_space create rectangle [expr $x_init] $y_init [expr $x_init + 20] [expr $y_init + 20] -fill red  -tags "region$reg_id kill_button$reg_id"]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   198
    set kill_button_data($kill_num,reg_id) $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   199
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   200
    $window.work_space bind kill_button$reg_id <Double-2> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   201
	set reg_id $kill_button_data([$window.work_space find withtag current],reg_id)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   202
	destroy_region $reg_id $window.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   203
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   204
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   205
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   206
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   207
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   208
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   209
proc start_arrow { reg_id x_start y_start } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   210
    global arrow_in_progress next_button_data region_data current_arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   211
    set path_name $window.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   212
# start an arrow in the middle of the little red button
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   213
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   214
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   215
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   216
    set arrow [$window.work_space create line $x_start $y_start $x_start $y_start -width 3 -arrow last -arrowshape {6.0m 8.0m 1.5m} -fill blue -tags arrow$reg_id]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   217
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   218
    set region_data($reg_id,arrow) $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   219
    set arrow_in_progress 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   220
    set current_arrow $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   221
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   222
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   223
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   224
proc destroy_region { reg_id path_name } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   225
    $path_name delete region$reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   226
    puts stdout "Destroying $reg_id"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   227
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   228
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   229
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   230
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   231
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   232
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   233
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   234