- #
- A
- B
- C
- D
- F
- G
- I
- L
- M
- P
- R
- S
| TkCommandNames | = | ['canvas'.freeze].freeze |
| WidgetClassName | = | 'Canvas'.freeze |
Source: show
# File ext/tk/lib/tk/canvas.rb, line 53 def __destroy_hook__ TkcItem::CItemID_TBL.delete(@path) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 98 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 106 def addtag_above(tagOrId, target) addtag(tagOrId, 'above', tagid(target)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 109 def addtag_all(tagOrId) addtag(tagOrId, 'all') end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 112 def addtag_below(tagOrId, target) addtag(tagOrId, 'below', tagid(target)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 115 def addtag_closest(tagOrId, x, y, halo=None, start=None) addtag(tagOrId, 'closest', x, y, halo, start) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 118 def addtag_enclosed(tagOrId, x1, y1, x2, y2) addtag(tagOrId, 'enclosed', x1, y1, x2, y2) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 121 def addtag_overlapping(tagOrId, x1, y1, x2, y2) addtag(tagOrId, 'overlapping', x1, y1, x2, y2) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 124 def addtag_withtag(tagOrId, tag) addtag(tagOrId, 'withtag', tagid(tag)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 128 def bbox(tagOrId, *tags) list(tk_send_without_enc('bbox', tagid(tagOrId), *tags.collect{|t| tagid(t)})) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 172 def canvasx(screen_x, *args) #tk_tcl2ruby(tk_send_without_enc('canvasx', screen_x, *args)) number(tk_send_without_enc('canvasx', screen_x, *args)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 176 def canvasy(screen_y, *args) #tk_tcl2ruby(tk_send_without_enc('canvasy', screen_y, *args)) number(tk_send_without_enc('canvasy', screen_y, *args)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 183 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 a canvas item without creating a TkcItem object
Source: show
# File ext/tk/lib/tk/canvas.rb, line 87 def create(type, *args) if type.kind_of?(Class) && type < TkcItem # do nothing elsif TkcItem.type2class(type.to_s) type = TkcItem.type2class(type.to_s) else fail ArgumentError, "type must a subclass of TkcItem class, or a string in CItemTypeToClass" end type.create(self, *args) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 613 def create_itemobj_from_id(idnum) id = TkcItem.id2obj(self, idnum.to_i) return id if id.kind_of?(TkcItem) typename = tk_send('type', id) unless type = TkcItem.type2class(typename) (itemclass = typename.dup)[0,1] = typename[0,1].upcase type = TkcItem.const_set(itemclass, Class.new(TkcItem)) type.const_set("CItemTypeName", typename.freeze) TkcItem::CItemTypeToClass[typename] = type end canvas = self (obj = type.allocate).instance_eval{ @parent = @c = canvas @path = canvas.path @id = id TkcItem::CItemID_TBL.mutex.synchronize{ TkcItem::CItemID_TBL[@path] = {} unless TkcItem::CItemID_TBL[@path] TkcItem::CItemID_TBL[@path][@id] = self } } end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 192 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 198 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 219 def dtag(tag, tag_to_del=None) tk_send_without_enc('dtag', tagid(tag), tagid(tag_to_del)) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 225 def find(mode, *args) list(tk_send_without_enc('find', mode, *args)).collect!{|id| TkcItem.id2obj(self, id) } end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 230 def find_above(target) find('above', tagid(target)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 236 def find_below(target) find('below', tagid(target)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 239 def find_closest(x, y, halo=None, start=None) find('closest', x, y, halo, start) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 242 def find_enclosed(x1, y1, x2, y2) find('enclosed', x1, y1, x2, y2) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 245 def find_overlapping(x1, y1, x2, y2) find('overlapping', x1, y1, x2, y2) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 248 def find_withtag(tag) find('withtag', tag) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 272 def icursor(tagOrId, index) tk_send_without_enc('icursor', tagid(tagOrId), index) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 277 def imove(tagOrId, idx, x, y) tk_send_without_enc('imove', tagid(tagOrId), idx, x, y) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 283 def index(tagOrId, idx) number(tk_send_without_enc('index', tagid(tagOrId), idx)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 287 def insert(tagOrId, index, string) tk_send_without_enc('insert', tagid(tagOrId), index, _get_eval_enc_str(string)) self end
def itembind(tag, context, cmd=Proc.new, *args)
_bind([path, "bind", tagid(tag)], context, cmd, *args)
self
end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 137 def itembind(tag, context, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) 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
def #itembind_append(tag, context, cmd=Proc.new, *args)
_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self
end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 152 def itembind_append(tag, context, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 163 def itembind_remove(tag, context) _bind_remove([path, "bind", tagid(tag)], context) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 168 def itembindinfo(tag, context=nil) _bindinfo([path, "bind", tagid(tag)], context) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 252 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 609 def itemtype(tag) TkcItem.type2class(tk_send('type', tagid(tag))) end
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 # alias info
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 # ! TkComm::GET_CONFIGINFO_AS_ARRAY
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] # alias info
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 # ! TkComm::GET_CONFIGINFO_AS_ARRAY
ret = {}
itemconfiginfo(tagOrId, key).each{|k, conf|
ret[k] = conf[-1] if conf.kind_of?(Array)
}
ret
end
end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 532 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 541 def move(tag, dx, dy) tk_send_without_enc('move', tagid(tag), dx, dy) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 546 def moveto(tag, x, y) # Tcl/Tk 8.6 or later tk_send_without_enc('moveto', tagid(tag), x, y) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 553 def postscript(keys) tk_send("postscript", *hash_kv(keys)) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 557 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 566 def rchars(tag, first, last, str_or_coords) # Tcl/Tk 8.6 or later 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
Source: show
# File ext/tk/lib/tk/canvas.rb, line 575 def scale(tag, x, y, xs, ys) tk_send_without_enc('scale', tagid(tag), x, y, xs, ys) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 584 def scan_dragto(x, y, gain=None) tk_send_without_enc('scan', 'dragto', x, y, gain) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 580 def scan_mark(x, y) tk_send_without_enc('scan', 'mark', x, y) self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 589 def select(mode, *args) r = tk_send_without_enc('select', mode, *args) (mode == 'item')? TkcItem.id2obj(self, r): self end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 593 def select_adjust(tagOrId, index) select('adjust', tagid(tagOrId), index) end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 596 def select_clear select('clear') end
Source: show
# File ext/tk/lib/tk/canvas.rb, line 599 def select_from(tagOrId, index) select('from', tagid(tagOrId), index) end