Following operators support logical expressions of canvas tags (for Tk8.3+). If tag1.path is ‘t1’ and tag2.path is ‘t2’, then
ltag = tag1 & tag2; ltag.path => "(t1)&&(t2)" ltag = tag1 | tag2; ltag.path => "(t1)||(t2)" ltag = tag1 ^ tag2; ltag.path => "(t1)^(t2)" ltag = - tag1; ltag.path => "!(t1)"
# File tk/lib/tk/canvastag.rb, line 172
def & (tag)
if tag.kind_of? TkObject
TkcTagString.new(@c, '(' + @id + ')&&(' + tag.path + ')')
else
TkcTagString.new(@c, '(' + @id + ')&&(' + tag.to_s + ')')
end
end
# File tk/lib/tk/canvastag.rb, line 196
def -@
TkcTagString.new(@c, '!(' + @id + ')')
end
# File tk/lib/tk/canvastag.rb, line 188
def ^ (tag)
if tag.kind_of? TkObject
TkcTagString.new(@c, '(' + @id + ')^(' + tag.path + ')')
else
TkcTagString.new(@c, '(' + @id + ')^(' + tag.to_s + ')')
end
end
# File tk/lib/tk/canvastag.rb, line 15
def addtag(tag)
@c.addtag(tag, 'withtag', @id)
self
end
def bind(seq, cmd=Proc.new, *args)
@c.itembind(@id, seq, cmd, *args) self
end
# File tk/lib/tk/canvastag.rb, line 28
def bind(seq, *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
@c.itembind(@id, seq, cmd, *args)
self
end
def #bind_append(seq, cmd=Proc.new, *args)
@c.itembind_append(@id, seq, cmd, *args) self
end
# File tk/lib/tk/canvastag.rb, line 43
def bind_append(seq, *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
@c.itembind_append(@id, seq, cmd, *args)
self
end
# File tk/lib/tk/canvastag.rb, line 54
def bind_remove(seq)
@c.itembind_remove(@id, seq)
self
end
# File tk/lib/tk/canvastag.rb, line 59
def bindinfo(seq=nil)
@c.itembindinfo(@id, seq)
end
# File tk/lib/tk/canvastag.rb, line 63
def cget(option)
@c.itemcget(@id, option)
end
# File tk/lib/tk/canvastag.rb, line 66
def cget_strict(option)
@c.itemcget_strict(@id, option)
end
def configure(keys)
@c.itemconfigure @id, keys
end
# File tk/lib/tk/canvastag.rb, line 78
def configinfo(key=nil)
@c.itemconfiginfo(@id, key)
end
# File tk/lib/tk/canvastag.rb, line 70
def configure(key, value=None)
@c.itemconfigure(@id, key, value)
self
end
# File tk/lib/tk/canvastag.rb, line 86
def coords(*args)
@c.coords(@id, *args)
end
# File tk/lib/tk/canvastag.rb, line 82
def current_configinfo(key=nil)
@c.current_itemconfiginfo(@id, key)
end
# File tk/lib/tk/canvastag.rb, line 90
def dchars(first, last=None)
@c.dchars(@id, first, last)
self
end
# File tk/lib/tk/canvastag.rb, line 95
def dtag(tag_to_del=None)
@c.dtag(@id, tag_to_del)
self
end
# File tk/lib/tk/canvastag.rb, line 101
def find
@c.find('withtag', @id)
end
# File tk/lib/tk/canvastag.rb, line 106
def focus
@c.itemfocus(@id)
end
# File tk/lib/tk/canvastag.rb, line 114
def icursor(index)
@c.icursor(@id, index)
self
end
# File tk/lib/tk/canvastag.rb, line 119
def index(idx)
@c.index(@id, idx)
end
# File tk/lib/tk/canvastag.rb, line 123
def insert(beforethis, string)
@c.insert(@id, beforethis, string)
self
end
# File tk/lib/tk/canvastag.rb, line 161
def itemtype
@c.itemtype(@id)
end
# File tk/lib/tk/canvastag.rb, line 128
def lower(belowthis=None)
@c.lower(@id, belowthis)
self
end
# File tk/lib/tk/canvastag.rb, line 133
def move(xamount, yamount)
@c.move(@id, xamount, yamount)
self
end
# File tk/lib/tk/canvastag.rb, line 138
def raise(abovethis=None)
@c.raise(@id, abovethis)
self
end
# File tk/lib/tk/canvastag.rb, line 143
def scale(xorigin, yorigin, xscale, yscale)
@c.scale(@id, xorigin, yorigin, xscale, yscale)
self
end
# File tk/lib/tk/canvastag.rb, line 148
def select_adjust(index)
@c.select('adjust', @id, index)
self
end
# File tk/lib/tk/canvastag.rb, line 152
def select_from(index)
@c.select('from', @id, index)
self
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.