georecttool.tcl 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. ###############################################################
  2. # georecttool.tcl - toolbar file for georectify canvas, GRASS GIS Manager
  3. # June 2006 Michael Barton, Arizona State University
  4. # COPYRIGHT: (C) 1999 - 2006 by the GRASS Development Team
  5. #
  6. # This program is free software under the GNU General Public
  7. # License (>=v2). Read the file COPYING that comes with GRASS
  8. # for details.
  9. ###############################################################
  10. namespace eval GRToolBar {
  11. variable toolbar
  12. variable grmaptools
  13. }
  14. ###############################################################################
  15. proc GRToolBar::create { tb } {
  16. variable grmaptools
  17. variable toolbar
  18. global gmpath
  19. global bgcolor
  20. global tk_version
  21. global iconpath
  22. set selcolor #88aa88
  23. set grmaptools "selector"
  24. set toolbar $tb
  25. # DISPLAY AND MONITOR SELECTION
  26. set bbox1 [ButtonBox $toolbar.bbox1 -spacing 0 ]
  27. # display
  28. $bbox1 add -image [image create photo -file "$iconpath/gui-display.gif"] \
  29. -command "GRMap::request_redraw 1" \
  30. -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 \
  31. -highlightbackground $bgcolor -activebackground $bgcolor\
  32. -helptext [G_msg "Display active layers"]
  33. # erase
  34. $bbox1 add -image [image create photo -file "$iconpath/gui-erase.gif"] \
  35. -command "GRMap::erase" \
  36. -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 \
  37. -highlightbackground $bgcolor -activebackground $bgcolor\
  38. -helptext [G_msg "Erase to white"]
  39. pack $bbox1 -side left -anchor w
  40. set sep1 [Separator $toolbar.sep1 -orient vertical -background $bgcolor ]
  41. pack $sep1 -side left -fill y -padx 5 -anchor w
  42. # DISPLAY TOOLS
  43. # selector
  44. if {$tk_version < 8.4 } {
  45. set selector [radiobutton $tb.selector \
  46. -image [image create photo -file "$iconpath/gui-gcpset.gif"] \
  47. -command "GRMap::stoptool; GRMap::selector" \
  48. -variable grmaptools -value selector -relief flat \
  49. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  50. -activebackground $bgcolor -highlightbackground $bgcolor ]
  51. } else {
  52. set selector [radiobutton $tb.selector \
  53. -image [image create photo -file "$iconpath/gui-gcpset.gif"] \
  54. -command "GRMap::stoptool; GRMap::selector" \
  55. -variable grmaptools -value selector \
  56. -relief flat -offrelief flat -overrelief raised \
  57. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  58. -activebackground $bgcolor -highlightbackground $bgcolor ]
  59. }
  60. DynamicHelp::register $selector balloon [G_msg "Set ground control points"]
  61. # zoom in
  62. if {$tk_version < 8.4 } {
  63. set zoomin [radiobutton $tb.zoomin \
  64. -image [image create photo -file "$iconpath/gui-zoom_in.gif"] \
  65. -command "GRMap::stoptool; GRMap::zoombind 1" \
  66. -variable grmaptools -value zoomin -relief flat \
  67. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  68. -activebackground $bgcolor -highlightbackground $bgcolor ]
  69. } else {
  70. set zoomin [radiobutton $tb.zoomin \
  71. -image [image create photo -file "$iconpath/gui-zoom_in.gif"] \
  72. -command "GRMap::stoptool; GRMap::zoombind 1" \
  73. -variable grmaptools -value zoomin \
  74. -relief flat -offrelief flat -overrelief raised \
  75. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  76. -activebackground $bgcolor -highlightbackground $bgcolor ]
  77. }
  78. DynamicHelp::register $zoomin balloon [G_msg "Zoom In"]
  79. #zoom out
  80. if {$tk_version < 8.4 } {
  81. set zoomout [radiobutton $tb.zoomout \
  82. -image [image create photo -file "$iconpath/gui-zoom_out.gif"] \
  83. -command "GRMap::stoptool; GRMap::zoombind -1" \
  84. -variable grmaptools -value zoomout -relief flat \
  85. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  86. -activebackground $bgcolor -highlightbackground $bgcolor ]
  87. } else {
  88. set zoomout [radiobutton $tb.zoomout \
  89. -image [image create photo -file "$iconpath/gui-zoom_out.gif"] \
  90. -command "GRMap::stoptool; GRMap::zoombind -1" \
  91. -variable grmaptools -value zoomout \
  92. -relief flat -offrelief flat -overrelief raised \
  93. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  94. -activebackground $bgcolor -highlightbackground $bgcolor ]
  95. }
  96. DynamicHelp::register $zoomout balloon [G_msg "Zoom Out"]
  97. # pan
  98. if {$tk_version < 8.4 } {
  99. set pan [radiobutton $tb.pan \
  100. -image [image create photo -file "$iconpath/gui-pan.gif"] \
  101. -command "GRMap::stoptool; GRMap::panbind" \
  102. -variable grmaptools -value pan -relief flat \
  103. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  104. -activebackground $bgcolor -highlightbackground $bgcolor ]
  105. } else {
  106. set pan [radiobutton $tb.pan \
  107. -image [image create photo -file "$iconpath/gui-pan.gif"] \
  108. -command "GRMap::stoptool; GRMap::panbind" \
  109. -variable grmaptools -value pan \
  110. -relief flat -offrelief flat -overrelief raised \
  111. -borderwidth 1 -indicatoron false -bg $bgcolor -selectcolor $selcolor \
  112. -activebackground $bgcolor -highlightbackground $bgcolor ]
  113. }
  114. DynamicHelp::register $pan balloon [G_msg "Pan"]
  115. pack $selector $zoomin $zoomout $pan -side left -anchor w
  116. set sep2 [Separator $toolbar.sep2 -orient vertical -background $bgcolor ]
  117. pack $sep2 -side left -fill y -padx 5 -anchor w
  118. set bbox2 [ButtonBox $toolbar.bbox2 -spacing 0 ]
  119. # zoom.back
  120. $bbox2 add -image [image create photo -file "$iconpath/gui-zoom_back.gif"] \
  121. -command "GRMap::zoom_back" \
  122. -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1\
  123. -highlightbackground $bgcolor -activebackground $bgcolor \
  124. -helptext [G_msg "Return to previous zoom"]
  125. # zoom to map
  126. $bbox2 add -image [image create photo -file "$iconpath/gui-zoom_map.gif"] \
  127. -command {GRMap::zoom_map} \
  128. -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1\
  129. -highlightbackground $bgcolor -activebackground $bgcolor \
  130. -helptext [G_msg "Zoom to map"]
  131. pack $bbox2 -side left -anchor w
  132. }
  133. ###############################################################################
  134. # changes button on keypress
  135. proc GRToolBar::changebutton { rbname } {
  136. variable grmaptools
  137. set grmaptools $rbname
  138. }