reference/ocr-new/multi_zone.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
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
set zoneWindow .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
set HorizMerge 70
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
set VertMerge  70
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 region_list [list]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
set ordered_region_list [list]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
set prev_reg_id 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
set region_data(0,x_final) 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
set region_data(0,y_final) 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
set region_data(0,x_init) -40
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
set region_data(0,y_init) -20
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
set cur_xoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
set cur_yoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
proc multiZone_open { filename } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
    global HorizMerge VertMerge cur_xoffset curyoffset
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
    set cur_xoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
    set cur_yoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
# 1 means success
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
    global IMAGE_DISPLAY_WIN ZONING_SCALE_FACTOR DISPLAY_IMAGE XV xvprocess \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
	    multiZone_display_open zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
    set open 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
    if { $multiZone_display_open == $open } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
	focus .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
	toplevel .zoning_window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
	init_zoning_display 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
    }
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
        
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
#   puts stdout "Opening $filename"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
    zoned_page_open $filename
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
# Scale image to display    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
    init_ZONING_SCALE_FACTOR
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
#   puts stdout "Done putting into page structure"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
    if { 1 }  {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
	set display_height [expr $ZONING_SCALE_FACTOR * [get_page_height]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
	set display_width [expr $ZONING_SCALE_FACTOR * [get_page_width]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
	wm geometry .zoning_window [expr int($display_width) +20]x[expr int($display_height) + 150]+300+100
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
	if { $DISPLAY_IMAGE == $XV } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
	    set xvprocess [exec xv $filename &]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
	    puts stdout "xvprocess $xvprocess"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
# use the canvas...
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
	DESKEW
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    58
	zone_message  "Displaying Image"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    59
	DISPLAY_INTERVALS .zoning_window.work_space $ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    60
	zone_message  "Determining Line boundaries"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    61
	FIND_LINES
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    62
	zone_message  " "
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    63
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    64
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    65
	popup_image_failure_win
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    66
    }
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
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    70
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    71
proc init_ZONING_SCALE_FACTOR { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    72
    global ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    73
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    74
    set ZONING_SCALE_FACTOR [expr 800.0/[get_page_height]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    75
    set temp [expr 800.0/[get_page_width]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    76
    puts $ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    77
    puts $temp
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    78
    if {[expr $temp] < [expr $ZONING_SCALE_FACTOR] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    79
	set ZONING_SCALE_FACTOR $temp
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
    if { $ZONING_SCALE_FACTOR > 1} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    82
	set ZONING_SCALE_FACTOR 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    83
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    84
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
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    87
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    88
proc init_zoning_display { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    89
    global ZONING_SCALE_FACTOR BACKGROUND FOREGROUND scroll_inc zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    90
    global menu_bar_height button_bar_height SMALLFONT FONT
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
    wm geometry $zoneWindow 600x900+300+100
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    93
    wm title $zoneWindow "CalZoning"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    94
    wm positionfrom $zoneWindow user
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    95
    wm minsize $zoneWindow 500 300
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    96
    $zoneWindow configure -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    97
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
    set canvas_width 1000
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   100
    set canvas_height 1000
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   101
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   102
   canvas $zoneWindow.work_space -bg white -xscrollcommand \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   103
	  "$zoneWindow.xscroller set" -yscrollcommand \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   104
	  "$zoneWindow.yscroller set" -xscrollincrement \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   105
	   $scroll_inc -cursor {crosshair black gray}  \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   106
	   -width $canvas_width -height $canvas_height 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   107
# two scrollbars
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   108
    scrollbar $zoneWindow.xscroller -command "$zoneWindow.work_space xview" -orient horizontal -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   109
    scrollbar $zoneWindow.yscroller -command "$zoneWindow.work_space yview" -background $BACKGROUND
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
    frame $zoneWindow.menu_bar -height $menu_bar_height -relief raised -bd 2 -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   112
    init_zoning_menu_bar
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   113
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   114
    frame $zoneWindow.message_bar -height $button_bar_height \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   115
	    -background $BACKGROUND -relief raised -bd 2
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   116
    message $zoneWindow.message_bar.m  -background \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   117
	    $BACKGROUND -foreground $FOREGROUND -font $SMALLFONT \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   118
	    -justify center 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   119
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   120
    pack $zoneWindow.menu_bar -side top -fill x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   121
    pack $zoneWindow.message_bar -side top -fill x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   122
    pack $zoneWindow.message_bar.m  -fill x -fill y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   123
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   124
    pack $zoneWindow.xscroller -side bottom -fill x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   125
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   126
    pack  $zoneWindow.yscroller -side right -fill y 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   127
    pack $zoneWindow.work_space -side top -fill x -fill y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   128
    $zoneWindow.work_space configure -scrollregion { 0 0 5000 5000 }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   129
    bind $zoneWindow.work_space <Double-3> { 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   130
	set curx [.main_window.display.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   131
	set cury [.main_window.display.work_space canvasy %y] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   132
	set_active_zone $curx $cury
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
    initialize_region_grab 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   136
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
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
proc max { a b } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   141
    if { [expr $a] > [expr $b] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   142
	return $a
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   143
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   144
	return $b
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   145
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   146
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   147
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   148
proc init_zoning_menu_bar { } {
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
# this command initializes the zoning menu bar
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   151
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   152
    global BACKGROUND FOREGROUND FONT zoneWindow
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
    #Zoning
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   155
    menubutton $zoneWindow.menu_bar.zoning -text "Zoning"\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   156
	    -menu $zoneWindow.menu_bar.zoning.menu -borderwidth\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   157
	    2 -background $BACKGROUND -foreground $FOREGROUND -font $FONT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   158
    menu $zoneWindow.menu_bar.zoning.menu -background $BACKGROUND \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   159
	    -foreground $FOREGROUND -font $FONT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   160
    $zoneWindow.menu_bar.zoning.menu add command -label "AutoZone..." \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   161
	    -command popup_autozone_menu 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   162
    $zoneWindow.menu_bar.zoning.menu add command -label "Destroy Zones" \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   163
	    -command destroy_all_regions
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   164
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   165
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   166
    button $zoneWindow.menu_bar.scale -text "Scale Factor" \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   167
	     -borderwidth 2 -background $BACKGROUND -foreground $FOREGROUND \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   168
	     -relief flat \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   169
	     -font $FONT -command popup_scale_menu
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
#    button $zoneWindow.menu_bar.recognize -text "Recognize All" \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   172
#	     -borderwidth 2 -background $BACKGROUND -foreground $FOREGROUND \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   173
#	     -relief flat \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   174
#	     -font $FONT -command {puts "Recognize All"}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   175
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   176
    button  $zoneWindow.menu_bar.help -text "Help"  -borderwidth 2 -background $BACKGROUND -foreground $FOREGROUND -font $FONT -relief flat \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   177
	    -command { init_zoning_help .main_window.menu_bar.help }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   178
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   179
   button $zoneWindow.menu_bar.close -text "Close" \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   180
	     -borderwidth 2 -background $BACKGROUND -foreground $FOREGROUND \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   181
	     -relief flat \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   182
	     -font $FONT -command close_zoned_document
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   183
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   184
    pack $zoneWindow.menu_bar.zoning $zoneWindow.menu_bar.scale  \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   185
	    $zoneWindow.menu_bar.close -side left -padx 1m -pady 1m 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   186
    pack $zoneWindow.menu_bar.help -side right -padx 1m -pady 1m 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   187
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   188
 }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   189
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   190
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   191
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   192
proc popup_scale_menu { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   193
# a little box for the user to change the horizontal and vertial merging
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   194
# parameters and initiate automatic zoning 
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
    global BACKGROUND FOREGROUND SMALLFONT FONT ZONING_SCALE_FACTOR SELECT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   197
    if { [winfo exists .scale] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   198
	focus .scale
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   199
	return
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   200
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   201
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   202
    toplevel .scale -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   203
    wm geometry .scale 200x100+350+150
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   204
    message .scale.m -text "Scale Factor\n"  -background \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   205
	    $BACKGROUND -foreground $FOREGROUND -font $SMALLFONT \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   206
	    -justify center -width 200
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
        set gm .scale
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   209
        set var ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   210
    	set varWindow  [string tolower $var]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   211
	frame $gm.$varWindow 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   212
	label $gm.$varWindow.l -text "Scale Factor" -width 13 -fg $FOREGROUND -background $BACKGROUND -font $FONT -justify left
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   213
	entry $gm.$varWindow.set -width 4 -relief sunken -textvariable $var -fg $FOREGROUND -background $BACKGROUND -font $FONT -selectbackground $SELECT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   214
        $gm.$varWindow.set icursor 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   215
        $gm.$varWindow.set select range 0 10
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   216
        bind $gm.$varWindow.set  <Return> scale_zoned_page
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   217
	pack $gm.$varWindow.l -side left 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   218
 	pack $gm.$varWindow.set -side right 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   219
	pack $gm.$varWindow  -side top
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   220
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   221
    frame .scale.buttons
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   222
    button .scale.buttons.ok -text OK -command scale_zoned_page -fg $FOREGROUND -background $BACKGROUND -font $SMALLFONT -width 5
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   223
    button .scale.buttons.cancel -text Cancel -command {destroy .scale}\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   224
	    -fg $FOREGROUND -background $BACKGROUND -font $SMALLFONT -width 5
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   225
    pack .scale.buttons.ok .scale.buttons.cancel -side left -expand 1 \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   226
	    -fill x 	
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
    pack  .scale.buttons\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   229
	   -side top -fill x
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
    focus $gm.$varWindow.set
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
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   235
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   236
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   237
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   238
proc popup_autozone_menu { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   239
# a little box for the user to change the horizontal and vertial merging
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   240
# parameters and initiate automatic zoning 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   241
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   242
    global BACKGROUND FOREGROUND SMALLFONT FONT HorizMerge VertMerge
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   243
    if { [winfo exists .autozone] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   244
	focus .autozone
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   245
	return
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   246
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   247
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   248
    toplevel .autozone -background $BACKGROUND
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   249
    wm geometry .autozone 250x225+300+150
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   250
    message .autozone.m -text "Merging Parameters\n"  -background \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   251
	    $BACKGROUND -foreground $FOREGROUND -font $SMALLFONT \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   252
	    -justify center -width 250
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   253
    scale .autozone.hmerge -from 0 -to 255 -variable HorizMerge \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   254
	    -orient horizontal -label "Horizontal Merge" \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   255
	    -background $BACKGROUND -foreground $FOREGROUND -font $SMALLFONT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   256
    scale .autozone.vmerge -from 0 -to 255 -variable VertMerge \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   257
	    -orient horizontal -label "Vertical Merge" -background \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   258
	    $BACKGROUND -foreground $FOREGROUND -font $SMALLFONT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   259
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   260
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   261
    frame .autozone.buttons
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   262
    button .autozone.buttons.ok -text OK -command autozone -fg $FOREGROUND -background $BACKGROUND -font $SMALLFONT -width 5
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   263
    button .autozone.buttons.cancel -text Cancel -command {destroy .autozone}\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   264
	    -fg $FOREGROUND -background $BACKGROUND -font $SMALLFONT -width 5
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   265
    pack .autozone.buttons.ok .autozone.buttons.cancel -side left -expand 1 \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   266
	    -fill x 	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   267
 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   268
   pack .autozone.m .autozone.hmerge .autozone.vmerge .autozone.buttons \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   269
	   -side top -fill x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   270
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   271
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   272
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   273
proc autozone { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   274
    global HorizMerge VertMerge zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   275
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   276
    zone_message "Zoning Document"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   277
    destroy_all_regions
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   278
    AUTO_ZONE $HorizMerge $VertMerge
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   279
    destroy .autozone
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   280
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   281
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   282
proc zone_message { msg } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   283
    global zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   284
    $zoneWindow.message_bar.m configure -text $msg \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   285
	 -width 500 -justify center
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   286
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   287
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   288
set x_init 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   289
set y_init 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   290
set x_final 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   291
set y_final 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   292
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   293
set prev_region_id 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   294
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   295
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   296
set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   297
set region_count 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   298
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   299
proc initialize_region_grab { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   300
global window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   301
#
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   302
#
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   303
# facilitates the grabbing of a rectangle of the window
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   304
# using mouse button 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   305
# canvas subwindow must be called $zoneWindow.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   306
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   307
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   308
    global x_init y_init x_final y_final started_region region_data region_list region_id arrow_in_progress current_arrow zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   309
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   310
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   311
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   312
    bind $zoneWindow.work_space <ButtonPress-1> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   313
	if [expr ! $started_region] {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   314
	    puts stdout "window: $zoneWindow \n" 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   315
	    grab set $zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   316
	    set x_init [$zoneWindow.work_space canvasx %x]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   317
	    set y_init [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   318
	    start_region $x_init $y_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   319
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   320
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   321
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   322
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   323
    bind $zoneWindow.work_space <ButtonRelease-1> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   324
	set x_final [$zoneWindow.work_space canvasx %x]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   325
	set y_final [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   326
	end_region $x_final $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   327
	ADD_ZONE $x_init $y_init $x_final $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   328
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   329
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   330
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   331
    bind $zoneWindow.work_space <B2-Motion> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   332
	if $arrow_in_progress {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   333
	    set curx [$zoneWindow.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   334
	    set cury [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   335
	    $zoneWindow.work_space coords $current_arrow 0 0 $curx $cury
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   336
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   337
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   338
    bind $zoneWindow.work_space <B1-Motion> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   339
	if $started_region {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   340
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   341
	    set curx [$zoneWindow.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   342
	    set cury [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   343
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   344
	    $zoneWindow.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
   345
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   346
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   347
	} 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   348
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   349
    bind $zoneWindow <Enter> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   350
		    SWITCH_TO_ZONED_PAGE
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   351
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   352
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   353
    bind $zoneWindow <Leave> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   354
	# on leaving the display, release control of the mouse etc.
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   355
	# maybe make it scroll instead?
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   356
	if $started_region {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   357
	    grab release $zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   358
	    set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   359
	    $zoneWindow.work_space coords region$region_id 0 0 0 0  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   360
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   361
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   362
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   363
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   364
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   365
set arrow_in_progress 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   366
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   367
proc make_region_buttons { reg_id } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   368
    global region_data kill_button_data next_button_data arrow_in_progress current_arrow zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   369
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   370
    set x_init $region_data($reg_id,x_init)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   371
    set y_init $region_data($reg_id,y_init)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   372
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   373
    set next_num [$zoneWindow.work_space create rectangle $x_init $y_init [expr $x_init + 40] [expr $y_init + 20]  -fill blue -tags "region$reg_id next_button$reg_id"]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   374
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   375
    set next_button_data($next_num,reg_id) $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   376
    $zoneWindow.work_space bind next_button$reg_id <Double-2> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   377
	set reg_id $next_button_data([$zoneWindow.work_space find withtag current],reg_id)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   378
	if { $arrow_in_progress } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   379
	    set canvas_x [$zoneWindow.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   380
	    set canvas_y [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   381
	    finish_arrow $reg_id $canvas_x $canvas_y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   382
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   383
	    set canvas_x [$zoneWindow.work_space canvasx %x] 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   384
	    set canvas_y [$zoneWindow.work_space canvasy %y]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   385
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   386
	    start_arrow  $reg_id $canvas_x $canvas_y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   387
	    puts stdout "Starting an arrow at $canvas_x $canvas_y"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   388
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   389
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   390
    set kill_num [$zoneWindow.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
   391
    set kill_button_data($kill_num,reg_id) $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   392
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   393
    $zoneWindow.work_space bind kill_button$reg_id <Double-2> {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   394
	set reg_id $kill_button_data([$zoneWindow.work_space find withtag current],reg_id)
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   395
	destroy_region $reg_id $zoneWindow.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   396
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   397
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   398
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   399
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   400
proc start_region { x y} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   401
    global x_init y_init x_final y_final started_region region_data region_list region_id arrow_in_progress current_arrow zoneWindow region_list
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   402
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   403
    set x_init $x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   404
    set y_init $y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   405
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   406
    set region_id [$zoneWindow.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
   407
    $zoneWindow.work_space itemconfigure $region_id -tags region$region_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   408
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   409
    lappend region_list $region_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   410
    set started_region 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   411
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   412
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   413
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   414
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   415
proc end_region { x y } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   416
    global x_init y_init x_final y_final started_region region_data region_list region_id arrow_in_progress current_arrow zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   417
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   418
        set x_final $x
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   419
        set y_final $y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   420
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   421
	$zoneWindow.work_space coords region$region_id $x_init $y_init $x $y
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   422
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   423
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   424
	# if finishing a rectangle, initialize its stuff in the array
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   425
	if {$x_init <= $x_final} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   426
	    set region_data($region_id,x_init) $x_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   427
	    set region_data($region_id,x_final) $x_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   428
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   429
	    set region_data($region_id,x_final) $x_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   430
	    set region_data($region_id,x_init) $x_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   431
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   432
	if {$y_init <= $y_final} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   433
	    set region_data($region_id,y_init) $y_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   434
	    set region_data($region_id,y_final) $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   435
	} else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   436
	    set region_data($region_id,y_init) $y_final
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   437
	    set region_data($region_id,y_final) $y_init
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   438
	}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   439
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   440
	set region_data($region_id,next_region_id) 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   441
	lappend region_list $region_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   442
	
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   443
	make_region_buttons  $region_id	    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   444
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   445
	set started_region 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   446
	grab release $zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   447
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   448
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   449
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   450
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   451
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   452
proc start_arrow { reg_id x_start y_start } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   453
    global arrow_in_progress next_button_data region_data current_arrow \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   454
	    zoneWindow prev_reg_id ordered_region_list
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   455
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   456
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   457
    set path_name $zoneWindow.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   458
# start an arrow in the middle of the little red button
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   459
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   460
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   461
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   462
    set arrow [$zoneWindow.work_space create line \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   463
	    [expr $region_data($prev_reg_id,x_init) + 40] \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   464
	    [expr $region_data($prev_reg_id,y_init) + 20]\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   465
	    \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   466
	    $x_start $y_start -width 3 -arrow last \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   467
	    -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
   468
#	    [expr $region_data($prev_reg_id,x_init) + 40] \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   469
#	    [expr $region_data($prev_reg_id,y_final)]\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   470
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   471
    set region_data($reg_id,arrow) $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   472
    #set arrow_in_progress 1
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   473
    set current_arrow $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   474
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   475
    set prev_reg_id $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   476
    lappend ordered_region_list $reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   477
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   478
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   479
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   480
proc finish_arrow { reg_id x_end y_end} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   481
    global arrow_in_progress next_button_data region_data current_arrow \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   482
	    zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   483
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   484
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   485
    set path_name $zoneWindow.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   486
# end an arrow in the middle of the little blue button
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   487
   
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   488
  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   489
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   490
    set arrow [$zoneWindow.work_space create line $last_arrow_x $last_arrow_y $x_end $y_end  -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
   491
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   492
    set region_data($reg_id,arrow) $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   493
    set arrow_in_progress 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   494
    set current_arrow $arrow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   495
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   496
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   497
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   498
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   499
proc destroy_region { reg_id path_name } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   500
    global region_list ordered_region_list region_data prev_reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   501
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   502
    set curx [expr [expr $region_data($reg_id,x_init) \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   503
	    + $region_data($reg_id,x_final)] /2]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   504
    set cury [expr [expr $region_data($reg_id,y_init) \
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   505
	    + $region_data($reg_id,y_final)] /2]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   506
    REMOVE_ZONE $curx $cury
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   507
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   508
    $path_name delete region$reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   509
    set region_list [ldelete $region_list $reg_id]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   510
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   511
    # Now we have to delete all of the ordering
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   512
    foreach reg $ordered_region_list {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   513
    $path_name delete arrow$reg
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   514
    set ordered_region_list [ldelete $ordered_region_list $reg]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   515
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   516
    set prev_reg_id 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   517
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   518
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   519
proc destroy_all_regions { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   520
    global region_data region_list zoneWindow prev_reg_id
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   521
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   522
#    puts [array get region_list]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   523
    foreach reg $region_list {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   524
	destroy_region $reg $zoneWindow.work_space
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   525
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   526
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   527
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   528
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   529
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   530
proc scale_zoned_page { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   531
        
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   532
    global ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   533
    .zoning_window.work_space delete all
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   534
    set display_height [expr $ZONING_SCALE_FACTOR * [get_page_height]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   535
    set display_width [expr $ZONING_SCALE_FACTOR * [get_page_width]]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   536
    wm geometry .zoning_window [expr int($display_width)]x[expr int($display_height)]+300+100
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   537
    zone_message  "Displaying Image"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   538
    DISPLAY_INTERVALS .zoning_window.work_space $ZONING_SCALE_FACTOR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   539
    zone_message  "Determining Line boundaries"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   540
    FIND_LINES
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   541
    zone_message  " "
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   542
    destroy .scale
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   543
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   544
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   545
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   546
proc set_active_zone { x y } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   547
    global ZONING_SCALE_FACTOR SCALE_FACTOR cur_xoffset cur_yoffset
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   548
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   549
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   550
    SET_ACTIVE_PAGE [expr int( [expr $x / $ZONING_SCALE_FACTOR ] ) ]\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   551
	    [expr int( [expr $y / $ZONING_SCALE_FACTOR ] ) ]  
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   552
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   553
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   554
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   555
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   556
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   557
proc close_zoned_document { } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   558
    global zoneWindow cur_xoffset cur_yoffset
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   559
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   560
    set cur_xoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   561
    set cur_yoffset 0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   562
    .main_window.edit_window.text_part delete 1.0 end
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   563
    .main_window.display.work_space delete all
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   564
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   565
    destroy $zoneWindow
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   566
    set COLORED_WORDS {}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   567
    DEALLOCATE_PAGE
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   568
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   569
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   570
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   571
proc init_zoning_help { path } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   572
    global FOREGROUND BACKGROUND FONT
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   573
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   574
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   575
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   576
   
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   577
    if { [winfo exists $help] } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   578
	focus $help
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   579
	return
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   580
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   581
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   582
    set help [toplevel .zoning_help ]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   583
    wm title $help "CalZoning Help"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   584
#    wm geometry $help  400x500+600+150
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   585
    message $help.msg -background white -foreground $FOREGROUND -font $FONT\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   586
	    -width 600  -text "\n\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   587
	    Delete a Zone - <Double-2> on red button\n\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   588
            Draw arrow to Zone - <Double-2> on blue button\n\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   589
            Create a Zone - <Button-1> drag and release\n\
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   590
            Activate a Zone - <Double-2> within region (not on buttons)\n"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   591
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   592
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   593
            
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   594
	                 
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   595
    pack $help.msg -fill x -fill y -expand true
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   596
    
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   597
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   598
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   599
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   600
proc ldelete {list value} {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   601
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   602
    set ix [lsearch -exact $list $value]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   603
    if { $ix >= 0 } {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   604
	return [lreplace $list $ix $ix]
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   605
    } else {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   606
	return $list
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   607
    }
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   608
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   609
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   610
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   611
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
   612