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.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/a-tkcommons.rb', line 93 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.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def h0 @h0 end |
#height ⇒ Object
Returns the value of attribute height.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def height @height end |
#motion ⇒ Object
Returns the value of attribute motion.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def motion @motion end |
#obj ⇒ Object (readonly)
Returns the value of attribute obj.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def obj @obj end |
#r ⇒ Object
Returns the value of attribute r.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def r @r end |
#relheight ⇒ Object
Returns the value of attribute relheight.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def relheight @relheight end |
#relwidth ⇒ Object
Returns the value of attribute relwidth.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def relwidth @relwidth end |
#start_x ⇒ Object
Returns the value of attribute start_x.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def start_x @start_x end |
#start_y ⇒ Object
Returns the value of attribute start_y.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def start_y @start_y end |
#w0 ⇒ Object (readonly)
Returns the value of attribute w0.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def w0 @w0 end |
#width ⇒ Object
Returns the value of attribute width.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def width @width end |
#x0 ⇒ Object (readonly)
Returns the value of attribute x0.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def x0 @x0 end |
#y0 ⇒ Object (readonly)
Returns the value of attribute y0.
90 91 92 |
# File 'lib/a-tkcommons.rb', line 90 def y0 @y0 end |
Instance Method Details
#amove(_x, _y) ⇒ Object
179 180 181 |
# File 'lib/a-tkcommons.rb', line 179 def amove(_x,_y) move(_x - @x0 , _y - @y0) end |
#do_enter(x, y) ⇒ Object
145 146 147 148 |
# File 'lib/a-tkcommons.rb', line 145 def do_enter(x, y) @oldcursor = @obj.cget('cursor') @obj.configure('cursor'=> @cursor) end |
#do_leave ⇒ Object
150 151 152 |
# File 'lib/a-tkcommons.rb', line 150 def do_leave @obj.configure('cursor'=>@oldcursor) end |
#do_motion(_x, _y) ⇒ Object
159 160 161 162 |
# File 'lib/a-tkcommons.rb', line 159 def do_motion( _x, _y) @motion = true move(_x - @start_x, _y - @start_y) end |
#do_press(x, y) ⇒ Object
154 155 156 157 |
# File 'lib/a-tkcommons.rb', line 154 def do_press(x, y) @start_x = x @start_y = y end |
#go(_w, _h) ⇒ Object
183 184 185 186 187 188 189 190 191 192 |
# File 'lib/a-tkcommons.rb', line 183 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
137 138 139 140 141 142 143 |
# File 'lib/a-tkcommons.rb', line 137 def h if TkWinfo.mapped?(@obj) @h0= TkWinfo.height(@obj) else @h0= TkWinfo.reqheight(@obj) end end |
#move(_x, _y) ⇒ Object
164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
# File 'lib/a-tkcommons.rb', line 164 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
129 130 131 132 133 134 135 |
# File 'lib/a-tkcommons.rb', line 129 def w if TkWinfo.mapped?(@obj) @w0= TkWinfo.width(@obj) else @w0= TkWinfo.reqwidth(@obj) end end |