Class TkCanvas
In: tk/lib/tkextlib/blt/eps.rb
tk/lib/tk/canvas.rb
Parent: Object

Methods

Included Modules

TkCanvasItemConfig Scrollable

Constants

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

External Aliases

__item_strval_optkeys -> __BLT_EPS_item_strval_optkeys
__item_boolval_optkeys -> __BLT_EPS_item_boolval_optkeys

Public Instance methods

[Source]

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

[Source]

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

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

[Source]

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 107
  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 110
  def addtag_enclosed(tagOrId, x1, y1, x2, y2)
    addtag(tagOrId, 'enclosed', x1, y1, x2, y2)
  end

[Source]

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 120
  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 164
  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 168
  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 173
  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 85
  def create(type, *args)
    type.create(self, *args)
  end

[Source]

# File tk/lib/tk/canvas.rb, line 182
  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 188
  def delete(*args)
    if TkcItem::CItemID_TBL[self.path]
      args.each{|tag|
        find('withtag', tag).each{|item|
          if item.kind_of?(TkcItem)
            TkcItem::CItemID_TBL[self.path].delete(item.id)
          end
        }
      }
    end
    tk_send_without_enc('delete', *args.collect{|t| tagid(t)})
    self
  end
deltag(tag, tag_to_del=None)

Alias for dtag

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 209
  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 214
  def find_above(target)
    find('above', tagid(target))
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 250
  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 256
  def icursor(tagOrId, index)
    tk_send_without_enc('icursor', tagid(tagOrId), index)
    self
  end

[Source]

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

[Source]

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

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

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

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

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 236
  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 571
  def itemtype(tag)
    TkcItem.type2class(tk_send('type', tagid(tag)))
  end

[Source]

# File tk/lib/tk/canvas.rb, line 510
  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 519
  def move(tag, x, y)
    tk_send_without_enc('move', tagid(tag), x, y)
    self
  end

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 528
  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 537
  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 546
  def scan_dragto(x, y)
    tk_send_without_enc('scan', 'dragto', x, y)
    self
  end

[Source]

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

[Source]

# File tk/lib/tk/canvas.rb, line 551
  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 555
  def select_adjust(tagOrId, index)
    select('adjust', tagid(tagOrId), index)
  end

[Source]

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

[Source]

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

[Source]

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

[Source]

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

[Validate]