Class TkCanvas
In: tk/lib/tk/canvas.rb
Parent: TkWindow

Methods

Included Modules

TkCanvasItemConfig Scrollable

Constants

TkCommandNames = ['canvas'.freeze].freeze
WidgetClassName = 'Canvas'.freeze

Public Instance methods

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 66
  def addtag(tag, mode, *args)
    tk_send_without_enc('addtag', tagid(tag), mode, *args)
    self
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 79
  def addtag_closest(tagOrId, x, y, halo=None, start=None)
    addtag(tagOrId, 'closest', x, y, halo, start)
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

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

# File tk/lib/tk/canvas.rb, line 125
  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 a canvas item without creating a TkcItem object

[Source]

# File tk/lib/tk/canvas.rb, line 61
  def create(type, *args)
    type.create(self, *args)
  end

[Source]

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

# File tk/lib/tk/canvas.rb, line 140
  def delete(*args)
    if TkcItem::CItemID_TBL[self.path]
      find('withtag', *args).each{|item| 
        TkcItem::CItemID_TBL[self.path].delete(item.id)
      }
    end
    tk_send_without_enc('delete', *args.collect{|t| tagid(t)})
    self
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 97
  def itembind(tag, context, cmd=Proc.new, *args)
    _bind([path, "bind", tagid(tag)], context, cmd, *args)
    self
  end

[Source]

# File tk/lib/tk/canvas.rb, line 102
  def itembind_append(tag, context, cmd=Proc.new, *args)
    _bind_append([path, "bind", tagid(tag)], context, cmd, *args)
    self
  end

[Source]

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

[Source]

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

[Source]

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

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

[Source]

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

# File tk/lib/tk/canvas.rb, line 466
  def move(tag, x, y)
    tk_send_without_enc('move', tagid(tag), x, y)
    self
  end

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 475
  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
remove(*args)

Alias for delete

[Source]

# File tk/lib/tk/canvas.rb, line 484
  def scale(tag, x, y, xs, ys)
    tk_send_without_enc('scale', tagid(tag), x, y, xs, ys)
    self
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Validate]