# class Tk::Canvas

### Constants

TkCommandNames
WidgetClassName

### Public Instance Methods

__BLT_EPS_item_boolval_optkeys(id)
Alias for: __item_boolval_optkeys
__BLT_EPS_item_strval_optkeys(id)
Alias for: __item_strval_optkeys
__destroy_hook__() click to toggle source

    # File lib/tk/canvas.rb, line 54
    def __destroy_hook__
      TkcItem::CItemID_TBL.delete(@path)
    end

addtag(tag, mode, *args) click to toggle source

    # File lib/tk/canvas.rb, line 99
    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) click to toggle source

    # File lib/tk/canvas.rb, line 107
    def addtag_above(tagOrId, target)
      addtag(tagOrId, 'above', tagid(target))
    end

addtag_all(tagOrId) click to toggle source

    # File lib/tk/canvas.rb, line 110
    def addtag_all(tagOrId)
      addtag(tagOrId, 'all')
    end

addtag_below(tagOrId, target) click to toggle source

    # File lib/tk/canvas.rb, line 113
    def addtag_below(tagOrId, target)
      addtag(tagOrId, 'below', tagid(target))
    end

addtag_closest(tagOrId, x, y, halo=None, start=None) click to toggle source

    # File lib/tk/canvas.rb, line 116
    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) click to toggle source

    # File lib/tk/canvas.rb, line 119
    def addtag_enclosed(tagOrId, x1, y1, x2, y2)
      addtag(tagOrId, 'enclosed', x1, y1, x2, y2)
    end

addtag_overlapping(tagOrId, x1, y1, x2, y2) click to toggle source

    # File lib/tk/canvas.rb, line 122
    def addtag_overlapping(tagOrId, x1, y1, x2, y2)
      addtag(tagOrId, 'overlapping', x1, y1, x2, y2)
    end

addtag_withtag(tagOrId, tag) click to toggle source

    # File lib/tk/canvas.rb, line 125
    def addtag_withtag(tagOrId, tag)
      addtag(tagOrId, 'withtag', tagid(tag))
    end

bbox(tagOrId, *tags) click to toggle source

    # File lib/tk/canvas.rb, line 129
    def bbox(tagOrId, *tags)
      list(tk_send_without_enc('bbox', tagid(tagOrId),
                               *tags.collect{|t| tagid(t)}))
    end

canvas_x(screen_x, *args)
Alias for: canvasx
canvas_y(screen_y, *args)
Alias for: canvasy
canvasx(screen_x, *args) click to toggle source

    # File lib/tk/canvas.rb, line 173
    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

Also aliased as: canvas_x
canvasy(screen_y, *args) click to toggle source

    # File lib/tk/canvas.rb, line 177
    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

Also aliased as: canvas_y
coords(tag, *args) click to toggle source

    # File lib/tk/canvas.rb, line 184
    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) click to toggle source

create a canvas item without creating a TkcItem object

    # File lib/tk/canvas.rb, line 88
    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

create_itemobj_from_id(idnum) click to toggle source

    # File lib/tk/canvas.rb, line 614
    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

dchars(tag, first, last=None) click to toggle source

    # File lib/tk/canvas.rb, line 193
    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) click to toggle source

    # File lib/tk/canvas.rb, line 199
    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

Also aliased as: remove
deltag(tag, tag_to_del=None)
Alias for: dtag
dtag(tag, tag_to_del=None) click to toggle source

    # File lib/tk/canvas.rb, line 220
    def dtag(tag, tag_to_del=None)
      tk_send_without_enc('dtag', tagid(tag), tagid(tag_to_del))
      self
    end

Also aliased as: deltag
find(mode, *args) click to toggle source

    # File lib/tk/canvas.rb, line 226
    def find(mode, *args)
      list(tk_send_without_enc('find', mode, *args)).collect!{|id|
        TkcItem.id2obj(self, id)
      }
    end

find_above(target) click to toggle source

    # File lib/tk/canvas.rb, line 231
    def find_above(target)
      find('above', tagid(target))
    end

find_all() click to toggle source

    # File lib/tk/canvas.rb, line 234
    def find_all
      find('all')
    end

find_below(target) click to toggle source

    # File lib/tk/canvas.rb, line 237
    def find_below(target)
      find('below', tagid(target))
    end

find_closest(x, y, halo=None, start=None) click to toggle source

    # File lib/tk/canvas.rb, line 240
    def find_closest(x, y, halo=None, start=None)
      find('closest', x, y, halo, start)
    end

find_enclosed(x1, y1, x2, y2) click to toggle source

    # File lib/tk/canvas.rb, line 243
    def find_enclosed(x1, y1, x2, y2)
      find('enclosed', x1, y1, x2, y2)
    end

find_overlapping(x1, y1, x2, y2) click to toggle source

    # File lib/tk/canvas.rb, line 246
    def find_overlapping(x1, y1, x2, y2)
      find('overlapping', x1, y1, x2, y2)
    end

find_withtag(tag) click to toggle source

    # File lib/tk/canvas.rb, line 249
    def find_withtag(tag)
      find('withtag', tag)
    end

gettags(tagOrId) click to toggle source

    # File lib/tk/canvas.rb, line 267
    def gettags(tagOrId)
      list(tk_send_without_enc('gettags', tagid(tagOrId))).collect{|tag|
        TkcTag.id2obj(self, tag)
      }
    end

i_move(tagOrId, idx, x, y)
Alias for: imove
icursor(tagOrId, index) click to toggle source

    # File lib/tk/canvas.rb, line 273
    def icursor(tagOrId, index)
      tk_send_without_enc('icursor', tagid(tagOrId), index)
      self
    end

imove(tagOrId, idx, x, y) click to toggle source

    # File lib/tk/canvas.rb, line 278
    def imove(tagOrId, idx, x, y)
      tk_send_without_enc('imove', tagid(tagOrId), idx, x, y)
      self
    end

Also aliased as: i_move
index(tagOrId, idx) click to toggle source

    # File lib/tk/canvas.rb, line 284
    def index(tagOrId, idx)
      number(tk_send_without_enc('index', tagid(tagOrId), idx))
    end

insert(tagOrId, index, string) click to toggle source

    # File lib/tk/canvas.rb, line 288
    def insert(tagOrId, index, string)
      tk_send_without_enc('insert', tagid(tagOrId), index,
                          _get_eval_enc_str(string))
      self
    end

itembind(tag, context, *args) click to toggle source

def itembind(tag, context, cmd=Proc.new, *args)

    _bind([path, "bind", tagid(tag)], context, cmd, *args)
    self

end

    # File lib/tk/canvas.rb, line 138
    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

itembind_append(tag, context, *args) click to toggle source

def #itembind_append(tag, context, cmd=Proc.new, *args)

    _bind_append([path, "bind", tagid(tag)], context, cmd, *args)
    self

end

    # File lib/tk/canvas.rb, line 153
    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

itembind_remove(tag, context) click to toggle source

    # File lib/tk/canvas.rb, line 164
    def itembind_remove(tag, context)
      _bind_remove([path, "bind", tagid(tag)], context)
      self
    end

itembindinfo(tag, context=nil) click to toggle source

    # File lib/tk/canvas.rb, line 169
    def itembindinfo(tag, context=nil)
      _bindinfo([path, "bind", tagid(tag)], context)
    end

itemfocus(tagOrId=nil) click to toggle source

    # File lib/tk/canvas.rb, line 253
    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) click to toggle source

    # File lib/tk/canvas.rb, line 610
    def itemtype(tag)
      TkcItem.type2class(tk_send('type', tagid(tag)))
    end

lower(tag, below=nil) click to toggle source

    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

    # File lib/tk/canvas.rb, line 533
    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) click to toggle source

    # File lib/tk/canvas.rb, line 542
    def move(tag, dx, dy)
      tk_send_without_enc('move', tagid(tag), dx, dy)
      self
    end

move_to(tag, x, y)
Alias for: moveto
moveto(tag, x, y) click to toggle source

    # File lib/tk/canvas.rb, line 547
    def moveto(tag, x, y)
      # Tcl/Tk 8.6 or later
      tk_send_without_enc('moveto', tagid(tag), x, y)
      self
    end

Also aliased as: move_to
postscript(keys) click to toggle source

    # File lib/tk/canvas.rb, line 554
    def postscript(keys)
      tk_send("postscript", *hash_kv(keys))
    end

raise(tag, above=nil) click to toggle source

    # File lib/tk/canvas.rb, line 558
    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) click to toggle source

    # File lib/tk/canvas.rb, line 567
    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.kind_of? Array
      tk_send_without_enc('rchars', tagid(tag), first, last, str_or_coords)
      self
    end

Also aliased as: replace_chars, replace_coords
remove(*args)
Alias for: delete
replace_chars(tag, first, last, str_or_coords)
Alias for: rchars
replace_coords(tag, first, last, str_or_coords)
Alias for: rchars
scale(tag, x, y, xs, ys) click to toggle source

    # File lib/tk/canvas.rb, line 576
    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) click to toggle source

    # File lib/tk/canvas.rb, line 585
    def scan_dragto(x, y, gain=None)
      tk_send_without_enc('scan', 'dragto', x, y, gain)
      self
    end

scan_mark(x, y) click to toggle source

    # File lib/tk/canvas.rb, line 581
    def scan_mark(x, y)
      tk_send_without_enc('scan', 'mark', x, y)
      self
    end

select(mode, *args) click to toggle source

    # File lib/tk/canvas.rb, line 590
    def select(mode, *args)
      r = tk_send_without_enc('select', mode, *args)
      (mode == 'item')? TkcItem.id2obj(self, r): self
    end

select_adjust(tagOrId, index) click to toggle source

    # File lib/tk/canvas.rb, line 594
    def select_adjust(tagOrId, index)
      select('adjust', tagid(tagOrId), index)
    end

select_clear() click to toggle source

    # File lib/tk/canvas.rb, line 597
    def select_clear
      select('clear')
    end

select_from(tagOrId, index) click to toggle source

    # File lib/tk/canvas.rb, line 600
    def select_from(tagOrId, index)
      select('from', tagid(tagOrId), index)
    end

select_item() click to toggle source

    # File lib/tk/canvas.rb, line 603
    def select_item
      select('item')
    end

select_to(tagOrId, index) click to toggle source

    # File lib/tk/canvas.rb, line 606
    def select_to(tagOrId, index)
      select('to', tagid(tagOrId), index)
    end

### Private Instance Methods

__boolval_optkeys() click to toggle source
Calls superclass method

    # File lib/tk/canvas.rb, line 72
    def __boolval_optkeys
      super() + ['confine']
    end

__item_boolval_optkeys(id) click to toggle source

    # File lib/tkextlib/blt/eps.rb, line 28
    def __item_boolval_optkeys(id)
      __BLT_EPS_item_boolval_optkeys(id) + ['showimage']
    end

Also aliased as: __BLT_EPS_item_boolval_optkeys
__item_strval_optkeys(id) click to toggle source

    # File lib/tkextlib/blt/eps.rb, line 20
    def __item_strval_optkeys(id)
      __BLT_EPS_item_strval_optkeys(id) + [
        'shadowcolor', 'title', 'titlecolor'
      ]
    end

Also aliased as: __BLT_EPS_item_strval_optkeys
__numval_optkeys() click to toggle source

def create_self(keys)

    if keys and keys != None
      tk_call_without_enc('canvas', @path, *hash_kv(keys, true))
    else
      tk_call_without_enc('canvas', @path)
    end

end private :create_self

Calls superclass method

    # File lib/tk/canvas.rb, line 67
    def __numval_optkeys
      super() + ['closeenough']
    end

tagid(tag) click to toggle source

    # File lib/tk/canvas.rb, line 77
    def tagid(tag)
      if tag.kind_of?(TkcItem) || tag.kind_of?(TkcTag)
        tag.id
      else
        tag  # maybe an Array of configure parameters
      end
    end