Class: Tk::Canvas
Constant Summary
collapse
- TkCommandNames =
['canvas'.freeze].freeze
- WidgetClassName =
'Canvas'.freeze
Constants included
from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included
from Tk
AUTO_PATH, Checkbutton, CloneMenu, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, TreeCtrl_Widget, X_Scrollable, Y_Scrollable
Constants included
from Encoding
Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::DEFAULT_INTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::UNKNOWN, Encoding::UTF8_NAME
Constants included
from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM
Constants included
from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
TkDND::Shape::PACKAGE_NAME
Instance Method Summary
collapse
-
#__BLT_EPS_item_boolval_optkeys ⇒ Object
-
#__BLT_EPS_item_strval_optkeys ⇒ Object
-
#__destroy_hook__ ⇒ Object
-
#addtag(tag, mode, *args) ⇒ Object
-
#addtag_above(tagOrId, target) ⇒ Object
-
#addtag_all(tagOrId) ⇒ Object
-
#addtag_below(tagOrId, target) ⇒ Object
-
#addtag_closest(tagOrId, x, y, halo = None, start = None) ⇒ Object
-
#addtag_enclosed(tagOrId, x1, y1, x2, y2) ⇒ Object
-
#addtag_overlapping(tagOrId, x1, y1, x2, y2) ⇒ Object
-
#addtag_withtag(tagOrId, tag) ⇒ Object
-
#bbox(tagOrId, *tags) ⇒ Object
-
#canvasx(screen_x, *args) ⇒ Object
(also: #canvas_x)
-
#canvasy(screen_y, *args) ⇒ Object
(also: #canvas_y)
-
#coords(tag, *args) ⇒ Object
-
#create(type, *args) ⇒ Object
create a canvas item without creating a TkcItem object.
-
#dchars(tag, first, last = None) ⇒ Object
-
#delete(*args) ⇒ Object
(also: #remove)
-
#dtag(tag, tag_to_del = None) ⇒ Object
(also: #deltag)
-
#find(mode, *args) ⇒ Object
-
#find_above(target) ⇒ Object
-
#find_all ⇒ Object
-
#find_below(target) ⇒ Object
-
#find_closest(x, y, halo = None, start = None) ⇒ Object
-
#find_enclosed(x1, y1, x2, y2) ⇒ Object
-
#find_overlapping(x1, y1, x2, y2) ⇒ Object
-
#find_withtag(tag) ⇒ Object
-
#gettags(tagOrId) ⇒ Object
-
#icursor(tagOrId, index) ⇒ Object
-
#index(tagOrId, idx) ⇒ Object
-
#insert(tagOrId, index, string) ⇒ Object
-
#itembind(tag, context, *args) ⇒ Object
def itembind(tag, context, cmd=Proc.new, *args) _bind([path, “bind”, tagid(tag)], context, cmd, *args) self end.
-
#itembind_append(tag, context, *args) ⇒ Object
def itembind_append(tag, context, cmd=Proc.new, *args) _bind_append([path, “bind”, tagid(tag)], context, cmd, *args) self end.
-
#itembind_remove(tag, context) ⇒ Object
-
#itembindinfo(tag, context = nil) ⇒ Object
-
#itemfocus(tagOrId = nil) ⇒ Object
-
#itemtype(tag) ⇒ Object
-
#lower(tag, below = nil) ⇒ Object
def itemcget(tagOrId, option) case option.to_s when ‘dash’, ‘activedash’, ‘disableddash’ conf = tk_send_without_enc(‘itemcget’, tagid(tagOrId), “-#option”) if conf =~ /^[0-9]/ list(conf) else conf end when ‘text’, ‘label’, ‘show’, ‘data’, ‘file’, ‘maskdata’, ‘maskfile’ _fromUTF8(tk_send_without_enc(‘itemcget’, tagid(tagOrId), “-#option”)) when ‘font’, ‘kanjifont’ #fnt = tk_tcl2ruby(tk_send(‘itemcget’, tagid(tagOrId), “-#option”)) fnt = tk_tcl2ruby(_fromUTF8(tk_send_with_enc(‘itemcget’, tagid(tagOrId), ‘-font’))) unless fnt.kind_of?(TkFont) fnt = tagfontobj(tagid(tagOrId), fnt) end if option.to_s == ‘kanjifont’ && JAPANIZED_TK && TK_VERSION =~ /^4.*/ # obsolete; just for compatibility fnt.kanji_font else fnt end else tk_tcl2ruby(_fromUTF8(tk_send_without_enc(‘itemcget’, tagid(tagOrId), “-#option”))) end end.
-
#move(tag, x, y) ⇒ Object
-
#postscript(keys) ⇒ Object
-
#raise(tag, above = nil) ⇒ Object
-
#scale(tag, x, y, xs, ys) ⇒ Object
-
#scan_dragto(x, y, gain = None) ⇒ Object
-
#scan_mark(x, y) ⇒ Object
-
#select(mode, *args) ⇒ Object
-
#select_adjust(tagOrId, index) ⇒ Object
-
#select_clear ⇒ Object
-
#select_from(tagOrId, index) ⇒ Object
-
#select_item ⇒ Object
-
#select_to(tagOrId, index) ⇒ Object
Methods included from Scrollable
#autoscroll, #unautoscroll
#yscrollbar, #yscrollcommand, #yview, #yview_moveto, #yview_scroll
#xscrollbar, #xscrollcommand, #xview, #xview_moveto, #xview_scroll
__IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_itemconfigure_options, #__current_itemconfiginfo, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #current_itemconfiginfo, #itemcget, #itemcget_strict, #itemconfiginfo, #itemconfigure
#__conv_item_keyonly_opts, #itemconfig_hash_kv
Methods included from TkUtil
_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd
#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy
Methods inherited from TkWindow
_widget_inspect_full_=, _widget_inspect_full_?, #bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, database_class, #database_class, #database_classname, database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #exist?, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_anchor, #grid_bbox, #grid_column, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_row, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #initialize, #inspect, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkWinfo
appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, delete_kinsoku, destroy, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, sleep, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
Methods included from Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, install_cmd, #install_cmd, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkDND::DND
#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version
package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods inherited from TkKernel
new
Constructor Details
This class inherits a constructor from TkWindow
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class TkObject
Instance Method Details
#__BLT_EPS_item_boolval_optkeys ⇒ Object
26
|
# File 'ext/lib/tkextlib/blt/eps.rb', line 26
alias __BLT_EPS_item_boolval_optkeys __item_boolval_optkeys
|
#__BLT_EPS_item_strval_optkeys ⇒ Object
18
|
# File 'ext/lib/tkextlib/blt/eps.rb', line 18
alias __BLT_EPS_item_strval_optkeys __item_strval_optkeys
|
#addtag(tag, mode, *args) ⇒ Object
89
90
91
92
93
94
95
96
|
# File 'ext/lib/tk/canvas.rb', line 89
def addtag(tag, mode, *args)
mode = mode.to_s
if args[0] && mode =~ /^(above|below|with(tag)?)$/
args[0] = tagid(args[0])
end
tk_send_without_enc('addtag', tagid(tag), mode, *args)
self
end
|
#addtag_above(tagOrId, target) ⇒ Object
97
98
99
|
# File 'ext/lib/tk/canvas.rb', line 97
def addtag_above(tagOrId, target)
addtag(tagOrId, 'above', tagid(target))
end
|
#addtag_all(tagOrId) ⇒ Object
100
101
102
|
# File 'ext/lib/tk/canvas.rb', line 100
def addtag_all(tagOrId)
addtag(tagOrId, 'all')
end
|
#addtag_below(tagOrId, target) ⇒ Object
103
104
105
|
# File 'ext/lib/tk/canvas.rb', line 103
def addtag_below(tagOrId, target)
addtag(tagOrId, 'below', tagid(target))
end
|
#addtag_closest(tagOrId, x, y, halo = None, start = None) ⇒ Object
106
107
108
|
# File 'ext/lib/tk/canvas.rb', line 106
def addtag_closest(tagOrId, x, y, halo=None, start=None)
addtag(tagOrId, 'closest', x, y, halo, start)
end
|
#addtag_enclosed(tagOrId, x1, y1, x2, y2) ⇒ Object
109
110
111
|
# File 'ext/lib/tk/canvas.rb', line 109
def addtag_enclosed(tagOrId, x1, y1, x2, y2)
addtag(tagOrId, 'enclosed', x1, y1, x2, y2)
end
|
#addtag_overlapping(tagOrId, x1, y1, x2, y2) ⇒ Object
112
113
114
|
# File 'ext/lib/tk/canvas.rb', line 112
def addtag_overlapping(tagOrId, x1, y1, x2, y2)
addtag(tagOrId, 'overlapping', x1, y1, x2, y2)
end
|
#addtag_withtag(tagOrId, tag) ⇒ Object
115
116
117
|
# File 'ext/lib/tk/canvas.rb', line 115
def addtag_withtag(tagOrId, tag)
addtag(tagOrId, 'withtag', tagid(tag))
end
|
#bbox(tagOrId, *tags) ⇒ Object
119
120
121
122
|
# File 'ext/lib/tk/canvas.rb', line 119
def bbox(tagOrId, *tags)
list(tk_send_without_enc('bbox', tagid(tagOrId),
*tags.collect{|t| tagid(t)}))
end
|
#canvasx(screen_x, *args) ⇒ Object
Also known as:
canvas_x
163
164
165
166
|
# File 'ext/lib/tk/canvas.rb', line 163
def canvasx(screen_x, *args)
number(tk_send_without_enc('canvasx', screen_x, *args))
end
|
#canvasy(screen_y, *args) ⇒ Object
Also known as:
canvas_y
167
168
169
170
|
# File 'ext/lib/tk/canvas.rb', line 167
def canvasy(screen_y, *args)
number(tk_send_without_enc('canvasy', screen_y, *args))
end
|
#coords(tag, *args) ⇒ Object
174
175
176
177
178
179
180
181
|
# File 'ext/lib/tk/canvas.rb', line 174
def coords(tag, *args)
if args == []
tk_split_list(tk_send_without_enc('coords', tagid(tag)))
else
tk_send_without_enc('coords', tagid(tag), *(args.flatten))
self
end
end
|
#create(type, *args) ⇒ Object
create a canvas item without creating a TkcItem object
84
85
86
|
# File 'ext/lib/tk/canvas.rb', line 84
def create(type, *args)
type.create(self, *args)
end
|
#dchars(tag, first, last = None) ⇒ Object
183
184
185
186
187
|
# File 'ext/lib/tk/canvas.rb', line 183
def dchars(tag, first, last=None)
tk_send_without_enc('dchars', tagid(tag),
_get_eval_enc_str(first), _get_eval_enc_str(last))
self
end
|
#delete(*args) ⇒ Object
Also known as:
remove
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
# File 'ext/lib/tk/canvas.rb', line 189
def delete(*args)
tbl = nil
TkcItem::CItemID_TBL.mutex.synchronize{
tbl = TkcItem::CItemID_TBL[self.path]
}
if tbl
args.each{|tag|
find('withtag', tag).each{|item|
if item.kind_of?(TkcItem)
TkcItem::CItemID_TBL.mutex.synchronize{
tbl.delete(item.id)
}
end
}
}
end
tk_send_without_enc('delete', *args.collect{|t| tagid(t)})
self
end
|
#dtag(tag, tag_to_del = None) ⇒ Object
Also known as:
deltag
210
211
212
213
|
# File 'ext/lib/tk/canvas.rb', line 210
def dtag(tag, tag_to_del=None)
tk_send_without_enc('dtag', tagid(tag), tagid(tag_to_del))
self
end
|
#find(mode, *args) ⇒ Object
216
217
218
219
220
|
# File 'ext/lib/tk/canvas.rb', line 216
def find(mode, *args)
list(tk_send_without_enc('find', mode, *args)).collect!{|id|
TkcItem.id2obj(self, id)
}
end
|
#find_above(target) ⇒ Object
221
222
223
|
# File 'ext/lib/tk/canvas.rb', line 221
def find_above(target)
find('above', tagid(target))
end
|
224
225
226
|
# File 'ext/lib/tk/canvas.rb', line 224
def find_all
find('all')
end
|
#find_below(target) ⇒ Object
227
228
229
|
# File 'ext/lib/tk/canvas.rb', line 227
def find_below(target)
find('below', tagid(target))
end
|
#find_closest(x, y, halo = None, start = None) ⇒ Object
230
231
232
|
# File 'ext/lib/tk/canvas.rb', line 230
def find_closest(x, y, halo=None, start=None)
find('closest', x, y, halo, start)
end
|
#find_enclosed(x1, y1, x2, y2) ⇒ Object
233
234
235
|
# File 'ext/lib/tk/canvas.rb', line 233
def find_enclosed(x1, y1, x2, y2)
find('enclosed', x1, y1, x2, y2)
end
|
#find_overlapping(x1, y1, x2, y2) ⇒ Object
236
237
238
|
# File 'ext/lib/tk/canvas.rb', line 236
def find_overlapping(x1, y1, x2, y2)
find('overlapping', x1, y1, x2, y2)
end
|
#find_withtag(tag) ⇒ Object
239
240
241
|
# File 'ext/lib/tk/canvas.rb', line 239
def find_withtag(tag)
find('withtag', tag)
end
|
257
258
259
260
261
|
# File 'ext/lib/tk/canvas.rb', line 257
def gettags(tagOrId)
list(tk_send_without_enc('gettags', tagid(tagOrId))).collect{|tag|
TkcTag.id2obj(self, tag)
}
end
|
#icursor(tagOrId, index) ⇒ Object
263
264
265
266
|
# File 'ext/lib/tk/canvas.rb', line 263
def icursor(tagOrId, index)
tk_send_without_enc('icursor', tagid(tagOrId), index)
self
end
|
#index(tagOrId, idx) ⇒ Object
268
269
270
|
# File 'ext/lib/tk/canvas.rb', line 268
def index(tagOrId, idx)
number(tk_send_without_enc('index', tagid(tagOrId), idx))
end
|
#insert(tagOrId, index, string) ⇒ Object
272
273
274
275
276
|
# File 'ext/lib/tk/canvas.rb', line 272
def insert(tagOrId, index, string)
tk_send_without_enc('insert', tagid(tagOrId), index,
_get_eval_enc_str(string))
self
end
|
#itembind(tag, context, *args) ⇒ Object
def itembind(tag, context, cmd=Proc.new, *args)
_bind([path, "bind", tagid(tag)], context, cmd, *args)
self
end
128
129
130
131
132
133
134
135
136
137
|
# File 'ext/lib/tk/canvas.rb', line 128
def itembind(tag, context, *args)
if TkComm._callback_entry?(args[0]) || !block_given?
cmd = args.shift
else
cmd = Proc.new
end
_bind([path, "bind", tagid(tag)], context, cmd, *args)
self
end
|
#itembind_append(tag, context, *args) ⇒ Object
def itembind_append(tag, context, cmd=Proc.new, *args)
_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self
end
143
144
145
146
147
148
149
150
151
152
|
# File 'ext/lib/tk/canvas.rb', line 143
def itembind_append(tag, context, *args)
if TkComm._callback_entry?(args[0]) || !block_given?
cmd = args.shift
else
cmd = Proc.new
end
_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self
end
|
#itembind_remove(tag, context) ⇒ Object
154
155
156
157
|
# File 'ext/lib/tk/canvas.rb', line 154
def itembind_remove(tag, context)
_bind_remove([path, "bind", tagid(tag)], context)
self
end
|
#itembindinfo(tag, context = nil) ⇒ Object
159
160
161
|
# File 'ext/lib/tk/canvas.rb', line 159
def itembindinfo(tag, context=nil)
_bindinfo([path, "bind", tagid(tag)], context)
end
|
#itemfocus(tagOrId = nil) ⇒ Object
243
244
245
246
247
248
249
250
251
252
253
254
255
|
# File 'ext/lib/tk/canvas.rb', line 243
def itemfocus(tagOrId=nil)
if tagOrId
tk_send_without_enc('focus', tagid(tagOrId))
self
else
ret = tk_send_without_enc('focus')
if ret == ""
nil
else
TkcItem.id2obj(self, ret)
end
end
end
|
#itemtype(tag) ⇒ Object
578
579
580
|
# File 'ext/lib/tk/canvas.rb', line 578
def itemtype(tag)
TkcItem.type2class(tk_send('type', tagid(tag)))
end
|
#lower(tag, below = nil) ⇒ Object
def itemcget(tagOrId, option)
case option.to_s
when 'dash', 'activedash', 'disableddash'
conf = tk_send_without_enc('itemcget', tagid(tagOrId), "-#{option}")
if conf =~ /^[0-9]/
list(conf)
else
conf
end
when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
_fromUTF8(tk_send_without_enc('itemcget', tagid(tagOrId), "-#{option}"))
when 'font', 'kanjifont'
#fnt = tk_tcl2ruby(tk_send('itemcget', tagid(tagOrId), "-#{option}"))
fnt = tk_tcl2ruby(_fromUTF8(tk_send_with_enc('itemcget', tagid(tagOrId), '-font')))
unless fnt.kind_of?(TkFont)
fnt = tagfontobj(tagid(tagOrId), fnt)
end
if option.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/
# obsolete; just for compatibility
fnt.kanji_font
else
fnt
end
else
tk_tcl2ruby(_fromUTF8(tk_send_without_enc('itemcget', tagid(tagOrId),
"-#{option}")))
end
end
def itemconfigure(tagOrId, key, value=None)
if key.kind_of? Hash
key = _symbolkey2str(key)
coords = key.delete('coords')
self.coords(tagOrId, coords) if coords
if ( key['font'] || key['kanjifont'] \
|| key['latinfont'] || key['asciifont'] )
tagfont_configure(tagid(tagOrId), key.dup)
else
_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),
*hash_kv(key, true)))
end
else
if ( key == 'coords' || key == :coords )
self.coords(tagOrId, value)
elsif ( key == 'font' || key == :font ||
key == 'kanjifont' || key == :kanjifont ||
key == 'latinfont' || key == :latinfont ||
key == 'asciifont' || key == :asciifont )
if value == None
tagfontobj(tagid(tagOrId))
else
tagfont_configure(tagid(tagOrId), {key=>value})
end
else
_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),
"-#{key}", _get_eval_enc_str(value)))
end
end
self
end
# def itemconfigure(tagOrId, key, value=None) # if key.kind_of? Hash # tk_send ‘itemconfigure’, tagid(tagOrId), *hash_kv(key) # else # tk_send ‘itemconfigure’, tagid(tagOrId), “-#key”, value # end # end # def itemconfigure(tagOrId, keys) # tk_send ‘itemconfigure’, tagid(tagOrId), *hash_kv(keys) # end
def itemconfiginfo(tagOrId, key=nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if key
case key.to_s
when 'coords'
return ['coords', '', '', '', self.coords(tagOrId)]
when 'dash', 'activedash', 'disableddash'
conf = tk_split_simplelist(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}"))
if conf[3] && conf[3] =~ /^[0-9]/
conf[3] = list(conf[3])
end
if conf[4] && conf[4] =~ /^[0-9]/
conf[4] = list(conf[4])
end
when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
when 'font', 'kanjifont'
conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),"-#{key}")))
conf[4] = tagfont_configinfo(tagid(tagOrId), conf[4])
else
conf = tk_split_list(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
end
conf[0] = conf[0][1..-1]
conf
else
ret = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId)))).collect{|conflist|
conf = tk_split_simplelist(conflist)
conf[0] = conf[0][1..-1]
case conf[0]
when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
when 'dash', 'activedash', 'disableddash'
if conf[3] && conf[3] =~ /^[0-9]/
conf[3] = list(conf[3])
end
if conf[4] && conf[4] =~ /^[0-9]/
conf[4] = list(conf[4])
end
else
if conf[3]
if conf[3].index('{')
conf[3] = tk_split_list(conf[3])
else
conf[3] = tk_tcl2ruby(conf[3])
end
end
if conf[4]
if conf[4].index('{')
conf[4] = tk_split_list(conf[4])
else
conf[4] = tk_tcl2ruby(conf[4])
end
end
end
conf[1] = conf[1][1..-1] if conf.size == 2 conf
}
fontconf = ret.assoc('font')
if fontconf
ret.delete_if{|item| item[0] == 'font' || item[0] == 'kanjifont'}
fontconf[4] = tagfont_configinfo(tagid(tagOrId), fontconf[4])
ret.push(fontconf)
end
ret << ['coords', '', '', '', self.coords(tagOrId)]
end
else if key
case key.to_s
when 'coords'
{'coords' => ['', '', '', self.coords(tagOrId)]}
when 'dash', 'activedash', 'disableddash'
conf = tk_split_simplelist(tk_send_without_enc('itemconfigure',
tagid(tagOrId),
"-#{key}"))
if conf[3] && conf[3] =~ /^[0-9]/
conf[3] = list(conf[3])
end
if conf[4] && conf[4] =~ /^[0-9]/
conf[4] = list(conf[4])
end
when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
when 'font', 'kanjifont'
conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId),"-#{key}")))
conf[4] = tagfont_configinfo(tagid(tagOrId), conf[4])
else
conf = tk_split_list(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId), "-#{key}")))
end
key = conf.shift[1..-1]
{ key => conf }
else
ret = {}
tk_split_simplelist(_fromUTF8(tk_send_without_enc('itemconfigure', tagid(tagOrId)))).each{|conflist|
conf = tk_split_simplelist(conflist)
key = conf.shift[1..-1]
case key
when 'text', 'label', 'show', 'data', 'file', 'maskdata', 'maskfile'
when 'dash', 'activedash', 'disableddash'
if conf[2] && conf[2] =~ /^[0-9]/
conf[2] = list(conf[2])
end
if conf[3] && conf[3] =~ /^[0-9]/
conf[3] = list(conf[3])
end
else
if conf[2]
if conf[2].index('{')
conf[2] = tk_split_list(conf[2])
else
conf[2] = tk_tcl2ruby(conf[2])
end
end
if conf[3]
if conf[3].index('{')
conf[3] = tk_split_list(conf[3])
else
conf[3] = tk_tcl2ruby(conf[3])
end
end
end
if conf.size == 1
ret[key] = conf[0][1..-1] else
ret[key] = conf
end
}
fontconf = ret['font']
if fontconf
ret.delete('font')
ret.delete('kanjifont')
fontconf[3] = tagfont_configinfo(tagid(tagOrId), fontconf[3])
ret['font'] = fontconf
end
ret['coords'] = ['', '', '', self.coords(tagOrId)]
ret
end
end
end
def current_itemconfiginfo(tagOrId, key=nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if key
conf = itemconfiginfo(tagOrId, key)
{conf[0] => conf[4]}
else
ret = {}
itemconfiginfo(tagOrId).each{|conf|
ret[conf[0]] = conf[4] if conf.size > 2
}
ret
end
else ret = {}
itemconfiginfo(tagOrId, key).each{|k, conf|
ret[k] = conf[-1] if conf.kind_of?(Array)
}
ret
end
end
517
518
519
520
521
522
523
524
|
# File 'ext/lib/tk/canvas.rb', line 517
def lower(tag, below=nil)
if below
tk_send_without_enc('lower', tagid(tag), tagid(below))
else
tk_send_without_enc('lower', tagid(tag))
end
self
end
|
#move(tag, x, y) ⇒ Object
526
527
528
529
|
# File 'ext/lib/tk/canvas.rb', line 526
def move(tag, x, y)
tk_send_without_enc('move', tagid(tag), x, y)
self
end
|
#postscript(keys) ⇒ Object
531
532
533
|
# File 'ext/lib/tk/canvas.rb', line 531
def postscript(keys)
tk_send("postscript", *hash_kv(keys))
end
|
#raise(tag, above = nil) ⇒ Object
535
536
537
538
539
540
541
542
|
# File 'ext/lib/tk/canvas.rb', line 535
def raise(tag, above=nil)
if above
tk_send_without_enc('raise', tagid(tag), tagid(above))
else
tk_send_without_enc('raise', tagid(tag))
end
self
end
|
#scale(tag, x, y, xs, ys) ⇒ Object
544
545
546
547
|
# File 'ext/lib/tk/canvas.rb', line 544
def scale(tag, x, y, xs, ys)
tk_send_without_enc('scale', tagid(tag), x, y, xs, ys)
self
end
|
#scan_dragto(x, y, gain = None) ⇒ Object
553
554
555
556
|
# File 'ext/lib/tk/canvas.rb', line 553
def scan_dragto(x, y, gain=None)
tk_send_without_enc('scan', 'dragto', x, y, gain)
self
end
|
#scan_mark(x, y) ⇒ Object
549
550
551
552
|
# File 'ext/lib/tk/canvas.rb', line 549
def scan_mark(x, y)
tk_send_without_enc('scan', 'mark', x, y)
self
end
|
#select(mode, *args) ⇒ Object
558
559
560
561
|
# File 'ext/lib/tk/canvas.rb', line 558
def select(mode, *args)
r = tk_send_without_enc('select', mode, *args)
(mode == 'item')? TkcItem.id2obj(self, r): self
end
|
#select_adjust(tagOrId, index) ⇒ Object
562
563
564
|
# File 'ext/lib/tk/canvas.rb', line 562
def select_adjust(tagOrId, index)
select('adjust', tagid(tagOrId), index)
end
|
#select_clear ⇒ Object
565
566
567
|
# File 'ext/lib/tk/canvas.rb', line 565
def select_clear
select('clear')
end
|
#select_from(tagOrId, index) ⇒ Object
568
569
570
|
# File 'ext/lib/tk/canvas.rb', line 568
def select_from(tagOrId, index)
select('from', tagid(tagOrId), index)
end
|
#select_item ⇒ Object
571
572
573
|
# File 'ext/lib/tk/canvas.rb', line 571
def select_item
select('item')
end
|
#select_to(tagOrId, index) ⇒ Object
574
575
576
|
# File 'ext/lib/tk/canvas.rb', line 574
def select_to(tagOrId, index)
select('to', tagid(tagOrId), index)
end
|