Class: AGTkObjPlace
- Inherits:
-
Object
- Object
- AGTkObjPlace
- Defined in:
- lib/a-tkcommons.rb
Instance Attribute Summary collapse
-
#h0 ⇒ Object
readonly
Returns the value of attribute h0.
-
#height ⇒ Object
Returns the value of attribute height.
-
#motion ⇒ Object
Returns the value of attribute motion.
-
#obj ⇒ Object
readonly
Returns the value of attribute obj.
-
#r ⇒ Object
Returns the value of attribute r.
-
#relheight ⇒ Object
Returns the value of attribute relheight.
-
#relwidth ⇒ Object
Returns the value of attribute relwidth.
-
#start_x ⇒ Object
Returns the value of attribute start_x.
-
#start_y ⇒ Object
Returns the value of attribute start_y.
-
#w0 ⇒ Object
readonly
Returns the value of attribute w0.
-
#width ⇒ Object
Returns the value of attribute width.
-
#x0 ⇒ Object
readonly
Returns the value of attribute x0.
-
#y0 ⇒ Object
readonly
Returns the value of attribute y0.
Instance Method Summary collapse
- #amove(_x, _y) ⇒ Object
- #do_enter(x, y) ⇒ Object
- #do_leave ⇒ Object
- #do_motion(_x, _y) ⇒ Object
- #do_press(x, y) ⇒ Object
- #go(_w, _h) ⇒ Object
- #h ⇒ Object
-
#initialize(_obj = nil, _side = 'both', _cursor = nil, _bind = true) ⇒ AGTkObjPlace
constructor
A new instance of AGTkObjPlace.
- #move(_x, _y) ⇒ Object
- #w ⇒ Object
Constructor Details
#initialize(_obj = nil, _side = 'both', _cursor = nil, _bind = true) ⇒ AGTkObjPlace
Returns a new instance of AGTkObjPlace.
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
# File 'lib/a-tkcommons.rb', line 133 def initialize(_obj=nil , _side='both' , _cursor=nil, _bind = true ) if !_obj return end @obj = _obj if !_cursor case _side when 'x' _cursor = 'sb_h_double_arrow' when 'y' _cursor = 'sb_v_double_arrow' when 'both' _cursor = 'draft_small' end end @motion = false @side = _side @x0 = TkPlace.info(@obj)['x'] @y0 = TkPlace.info(@obj)['y'] if TkWinfo.mapped?(@obj) @w0=TkWinfo.width(@obj) @h0=TkWinfo.height(@obj) else @w0=TkWinfo.reqwidth(@obj) @h0=TkWinfo.reqheight(@obj) end @start_x = @x0 @start_y = @y0 @cursor = _cursor if _bind @obj.bind_append("Enter", proc{|x, y| do_enter(x, y)}, "%x %y") @obj.bind_append("ButtonPress-1", proc{|e| do_press(e.x, e.y)}) @obj.bind_append("B1-Motion", proc{|x, y| do_motion(x,y)},"%x %y") end end |
Instance Attribute Details
#h0 ⇒ Object (readonly)
Returns the value of attribute h0.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def h0 @h0 end |
#height ⇒ Object
Returns the value of attribute height.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def height @height end |
#motion ⇒ Object
Returns the value of attribute motion.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def motion @motion end |
#obj ⇒ Object (readonly)
Returns the value of attribute obj.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def obj @obj end |
#r ⇒ Object
Returns the value of attribute r.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def r @r end |
#relheight ⇒ Object
Returns the value of attribute relheight.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def relheight @relheight end |
#relwidth ⇒ Object
Returns the value of attribute relwidth.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def relwidth @relwidth end |
#start_x ⇒ Object
Returns the value of attribute start_x.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def start_x @start_x end |
#start_y ⇒ Object
Returns the value of attribute start_y.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def start_y @start_y end |
#w0 ⇒ Object (readonly)
Returns the value of attribute w0.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def w0 @w0 end |
#width ⇒ Object
Returns the value of attribute width.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def width @width end |
#x0 ⇒ Object (readonly)
Returns the value of attribute x0.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def x0 @x0 end |
#y0 ⇒ Object (readonly)
Returns the value of attribute y0.
130 131 132 |
# File 'lib/a-tkcommons.rb', line 130 def y0 @y0 end |
Instance Method Details
#amove(_x, _y) ⇒ Object
219 220 221 |
# File 'lib/a-tkcommons.rb', line 219 def amove(_x,_y) move(_x - @x0 , _y - @y0) end |
#do_enter(x, y) ⇒ Object
185 186 187 188 |
# File 'lib/a-tkcommons.rb', line 185 def do_enter(x, y) @oldcursor = @obj.cget('cursor') @obj.configure('cursor'=> @cursor) end |
#do_leave ⇒ Object
190 191 192 |
# File 'lib/a-tkcommons.rb', line 190 def do_leave @obj.configure('cursor'=>@oldcursor) end |
#do_motion(_x, _y) ⇒ Object
199 200 201 202 |
# File 'lib/a-tkcommons.rb', line 199 def do_motion( _x, _y) @motion = true move(_x - @start_x, _y - @start_y) end |
#do_press(x, y) ⇒ Object
194 195 196 197 |
# File 'lib/a-tkcommons.rb', line 194 def do_press(x, y) @start_x = x @start_y = y end |
#go(_w, _h) ⇒ Object
223 224 225 226 227 228 229 230 231 232 |
# File 'lib/a-tkcommons.rb', line 223 def go(_w, _h) case @side when 'x' @w0 = _w @obj.place('width' => @w0, 'height'=>@height, 'relwidth'=>@relwidth, 'relheight'=>@relheight) when 'y' @h0 = _h @obj.place('height' => @h0, 'width' => @width, 'relwidth'=>@relwidth, 'relheight'=>@relheight) end end |
#h ⇒ Object
177 178 179 180 181 182 183 |
# File 'lib/a-tkcommons.rb', line 177 def h if TkWinfo.mapped?(@obj) @h0= TkWinfo.height(@obj) else @h0= TkWinfo.reqheight(@obj) end end |
#move(_x, _y) ⇒ Object
204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
# File 'lib/a-tkcommons.rb', line 204 def move(_x,_y) case @side when 'both' @x0 = @x0 + _x if (@x0 + _x) >= 0 @y0 = @y0 + _y @obj.place('x' => @x0, 'y' => @y0, 'width' => @width, 'height'=>@height, 'relwidth'=>@relwidth, 'relheight'=>@relheight) when 'x' @x0 = @x0 + _x if (@x0 + _x) >= 0 @obj.place('x' => @x0, 'width' => @width, 'height'=>@height, 'relwidth'=>@relwidth, 'relheight'=>@relheight) when 'y' @y0 = @y0 + _y @obj.place('y' => @y0, 'width' => @width, 'height'=>@height, 'relwidth'=>@relwidth, 'relheight'=>@relheight) end end |
#w ⇒ Object
169 170 171 172 173 174 175 |
# File 'lib/a-tkcommons.rb', line 169 def w if TkWinfo.mapped?(@obj) @w0= TkWinfo.width(@obj) else @w0= TkWinfo.reqwidth(@obj) end end |