Class: Tk::Canvas
Direct Known Subclasses
Tcllib::Plotchart::Barchart, Tcllib::Plotchart::Barchart3D, Tcllib::Plotchart::Boxplot, Tcllib::Plotchart::Ganttchart, Tcllib::Plotchart::IsometricPlot, Tcllib::Plotchart::Piechart, Tcllib::Plotchart::Plot3D, Tcllib::Plotchart::PolarPlot, Tcllib::Plotchart::Radialchart, Tcllib::Plotchart::RibbonChart3D, Tcllib::Plotchart::RightAxis, Tcllib::Plotchart::Timechart, Tcllib::Plotchart::XYPlot, Tcllib::Widget::Canvas_Sqmap, Tcllib::Widget::Canvas_Zoom
Constant Summary
collapse
- TkCommandNames =
['canvas'.freeze].freeze
- WidgetClassName =
'Canvas'.freeze
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
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
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
-
#imove(tagOrId, idx, x, y) ⇒ Object
(also: #i_move)
-
#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, dx, dy) ⇒ Object
-
#moveto(tag, x, y) ⇒ Object
(also: #move_to)
-
#postscript(keys) ⇒ Object
-
#raise(tag, above = nil) ⇒ Object
-
#rchars(tag, first, last, str_or_coords) ⇒ Object
(also: #replace_chars, #replace_coords)
-
#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, #itemcget_tkstring, #itemconfiginfo, #itemconfigure
#__conv_item_keyonly_opts, #itemconfig_hash_kv
#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 Busy
__item_cget_cmd, __item_config_cmd, __item_confinfo_cmd, #busy, #busy_cget, #busy_configinfo, #busy_configure, #busy_current?, #busy_current_configinfo, #busy_forget, #busy_status, current, forget, hold, method_missing, status
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_nil, num_or_str, number, procedure, simplelist, slice_ary, string, #subst, tk_tcl2ruby, uninstall_cmd, #uninstall_cmd, window
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
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, __create_widget_set__, __disable_toplevel_control__, __import_toplevel_aliases__, __regist_toplevel_aliases__, __remove_toplevel_aliases__, __reset_toplevel_owner__, __set_loaded_toplevel_aliases__, __set_toplevel_aliases__, __toplevel_alias_setup_proc__, _replace_toplevel_aliases, add_kinsoku, backup_current_topdef, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, define_topalias, define_topobj, 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, regist_sym_for_loaded_file, replace_topalias, replace_topobj, #root, set_topalias, 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, topalias_defined?, toplevel_aliases_on_widget_set, topobj_defined?, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup, widget_set_symbols
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 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, #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, #cget_tkstring, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
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 'lib/tkextlib/blt/eps.rb', line 26
alias __BLT_EPS_item_boolval_optkeys __item_boolval_optkeys
|
#__BLT_EPS_item_strval_optkeys ⇒ Object
18
|
# File 'lib/tkextlib/blt/eps.rb', line 18
alias __BLT_EPS_item_strval_optkeys __item_strval_optkeys
|
#addtag(tag, mode, *args) ⇒ Object
92
93
94
95
96
97
98
99
|
# File 'lib/tk/canvas.rb', line 92
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
100
101
102
|
# File 'lib/tk/canvas.rb', line 100
def addtag_above(tagOrId, target)
addtag(tagOrId, 'above', tagid(target))
end
|
#addtag_all(tagOrId) ⇒ Object
103
104
105
|
# File 'lib/tk/canvas.rb', line 103
def addtag_all(tagOrId)
addtag(tagOrId, 'all')
end
|
#addtag_below(tagOrId, target) ⇒ Object
106
107
108
|
# File 'lib/tk/canvas.rb', line 106
def addtag_below(tagOrId, target)
addtag(tagOrId, 'below', tagid(target))
end
|
#addtag_closest(tagOrId, x, y, halo = None, start = None) ⇒ Object
109
110
111
|
# File 'lib/tk/canvas.rb', line 109
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
112
113
114
|
# File 'lib/tk/canvas.rb', line 112
def addtag_enclosed(tagOrId, x1, y1, x2, y2)
addtag(tagOrId, 'enclosed', x1, y1, x2, y2)
end
|
#addtag_overlapping(tagOrId, x1, y1, x2, y2) ⇒ Object
115
116
117
|
# File 'lib/tk/canvas.rb', line 115
def addtag_overlapping(tagOrId, x1, y1, x2, y2)
addtag(tagOrId, 'overlapping', x1, y1, x2, y2)
end
|
#addtag_withtag(tagOrId, tag) ⇒ Object
118
119
120
|
# File 'lib/tk/canvas.rb', line 118
def addtag_withtag(tagOrId, tag)
addtag(tagOrId, 'withtag', tagid(tag))
end
|
#bbox(tagOrId, *tags) ⇒ Object
122
123
124
125
|
# File 'lib/tk/canvas.rb', line 122
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
166
167
168
169
|
# File 'lib/tk/canvas.rb', line 166
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
170
171
172
173
|
# File 'lib/tk/canvas.rb', line 170
def canvasy(screen_y, *args)
number(tk_send_without_enc('canvasy', screen_y, *args))
end
|
#coords(tag, *args) ⇒ Object
177
178
179
180
181
182
183
184
|
# File 'lib/tk/canvas.rb', line 177
def coords(tag, *args)
if args.empty?
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
87
88
89
|
# File 'lib/tk/canvas.rb', line 87
def create(type, *args)
type.create(self, *args)
end
|
#dchars(tag, first, last = None) ⇒ Object
186
187
188
189
190
|
# File 'lib/tk/canvas.rb', line 186
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
# File 'lib/tk/canvas.rb', line 192
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
213
214
215
216
|
# File 'lib/tk/canvas.rb', line 213
def dtag(tag, tag_to_del=None)
tk_send_without_enc('dtag', tagid(tag), tagid(tag_to_del))
self
end
|
#find(mode, *args) ⇒ Object
219
220
221
222
223
|
# File 'lib/tk/canvas.rb', line 219
def find(mode, *args)
list(tk_send_without_enc('find', mode, *args)).collect!{|id|
TkcItem.id2obj(self, id)
}
end
|
#find_above(target) ⇒ Object
224
225
226
|
# File 'lib/tk/canvas.rb', line 224
def find_above(target)
find('above', tagid(target))
end
|
227
228
229
|
# File 'lib/tk/canvas.rb', line 227
def find_all
find('all')
end
|
#find_below(target) ⇒ Object
230
231
232
|
# File 'lib/tk/canvas.rb', line 230
def find_below(target)
find('below', tagid(target))
end
|
#find_closest(x, y, halo = None, start = None) ⇒ Object
233
234
235
|
# File 'lib/tk/canvas.rb', line 233
def find_closest(x, y, halo=None, start=None)
find('closest', x, y, halo, start)
end
|
#find_enclosed(x1, y1, x2, y2) ⇒ Object
236
237
238
|
# File 'lib/tk/canvas.rb', line 236
def find_enclosed(x1, y1, x2, y2)
find('enclosed', x1, y1, x2, y2)
end
|
#find_overlapping(x1, y1, x2, y2) ⇒ Object
239
240
241
|
# File 'lib/tk/canvas.rb', line 239
def find_overlapping(x1, y1, x2, y2)
find('overlapping', x1, y1, x2, y2)
end
|
#find_withtag(tag) ⇒ Object
242
243
244
|
# File 'lib/tk/canvas.rb', line 242
def find_withtag(tag)
find('withtag', tag)
end
|
260
261
262
263
264
|
# File 'lib/tk/canvas.rb', line 260
def gettags(tagOrId)
list(tk_send_without_enc('gettags', tagid(tagOrId))).collect{|tag|
TkcTag.id2obj(self, tag)
}
end
|
#icursor(tagOrId, index) ⇒ Object
266
267
268
269
|
# File 'lib/tk/canvas.rb', line 266
def icursor(tagOrId, index)
tk_send_without_enc('icursor', tagid(tagOrId), index)
self
end
|
#imove(tagOrId, idx, x, y) ⇒ Object
Also known as:
i_move
271
272
273
274
|
# File 'lib/tk/canvas.rb', line 271
def imove(tagOrId, idx, x, y)
tk_send_without_enc('imove', tagid(tagOrId), idx, x, y)
self
end
|
#index(tagOrId, idx) ⇒ Object
277
278
279
|
# File 'lib/tk/canvas.rb', line 277
def index(tagOrId, idx)
number(tk_send_without_enc('index', tagid(tagOrId), idx))
end
|
#insert(tagOrId, index, string) ⇒ Object
281
282
283
284
285
|
# File 'lib/tk/canvas.rb', line 281
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
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/tk/canvas.rb', line 131
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
146
147
148
149
150
151
152
153
154
155
|
# File 'lib/tk/canvas.rb', line 146
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
157
158
159
160
|
# File 'lib/tk/canvas.rb', line 157
def itembind_remove(tag, context)
_bind_remove([path, "bind", tagid(tag)], context)
self
end
|
#itembindinfo(tag, context = nil) ⇒ Object
162
163
164
|
# File 'lib/tk/canvas.rb', line 162
def itembindinfo(tag, context=nil)
_bindinfo([path, "bind", tagid(tag)], context)
end
|
#itemfocus(tagOrId = nil) ⇒ Object
246
247
248
249
250
251
252
253
254
255
256
257
258
|
# File 'lib/tk/canvas.rb', line 246
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
603
604
605
|
# File 'lib/tk/canvas.rb', line 603
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
526
527
528
529
530
531
532
533
|
# File 'lib/tk/canvas.rb', line 526
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, dx, dy) ⇒ Object
535
536
537
538
|
# File 'lib/tk/canvas.rb', line 535
def move(tag, dx, dy)
tk_send_without_enc('move', tagid(tag), dx, dy)
self
end
|
#moveto(tag, x, y) ⇒ Object
Also known as:
move_to
540
541
542
543
544
|
# File 'lib/tk/canvas.rb', line 540
def moveto(tag, x, y)
tk_send_without_enc('moveto', tagid(tag), x, y)
self
end
|
#postscript(keys) ⇒ Object
547
548
549
|
# File 'lib/tk/canvas.rb', line 547
def postscript(keys)
tk_send("postscript", *hash_kv(keys))
end
|
#raise(tag, above = nil) ⇒ Object
551
552
553
554
555
556
557
558
|
# File 'lib/tk/canvas.rb', line 551
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
|
#rchars(tag, first, last, str_or_coords) ⇒ Object
Also known as:
replace_chars, replace_coords
560
561
562
563
564
565
|
# File 'lib/tk/canvas.rb', line 560
def rchars(tag, first, last, str_or_coords)
str_or_coords = str_or_coords.flatten if str_or_coords.kinad_of? Array
tk_send_without_enc('rchars', tagid(tag), first, last, str_or_coords)
self
end
|
#scale(tag, x, y, xs, ys) ⇒ Object
569
570
571
572
|
# File 'lib/tk/canvas.rb', line 569
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
578
579
580
581
|
# File 'lib/tk/canvas.rb', line 578
def scan_dragto(x, y, gain=None)
tk_send_without_enc('scan', 'dragto', x, y, gain)
self
end
|
#scan_mark(x, y) ⇒ Object
574
575
576
577
|
# File 'lib/tk/canvas.rb', line 574
def scan_mark(x, y)
tk_send_without_enc('scan', 'mark', x, y)
self
end
|
#select(mode, *args) ⇒ Object
583
584
585
586
|
# File 'lib/tk/canvas.rb', line 583
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
587
588
589
|
# File 'lib/tk/canvas.rb', line 587
def select_adjust(tagOrId, index)
select('adjust', tagid(tagOrId), index)
end
|
#select_clear ⇒ Object
590
591
592
|
# File 'lib/tk/canvas.rb', line 590
def select_clear
select('clear')
end
|
#select_from(tagOrId, index) ⇒ Object
593
594
595
|
# File 'lib/tk/canvas.rb', line 593
def select_from(tagOrId, index)
select('from', tagid(tagOrId), index)
end
|
#select_item ⇒ Object
596
597
598
|
# File 'lib/tk/canvas.rb', line 596
def select_item
select('item')
end
|
#select_to(tagOrId, index) ⇒ Object
599
600
601
|
# File 'lib/tk/canvas.rb', line 599
def select_to(tagOrId, index)
select('to', tagid(tagOrId), index)
end
|