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

### Methods

__destroy_hook__ addtag addtag_above addtag_all addtag_below addtag_closest addtag_enclosed addtag_overlapping addtag_withtag bbox canvasx canvasy coords create dchars delete deltag dtag find find_above find_all find_below find_closest find_enclosed find_overlapping find_withtag gettags icursor index insert itembind itembind_append itembind_remove itembindinfo itemfocus itemtype lower move postscript raise remove scale scan_dragto scan_mark select select_adjust select_clear select_from select_item select_to

### 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

__destroy_hook__()

[Source]

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

addtag(tag, mode, *args)

[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

addtag_above(tagOrId, target)

[Source]

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

addtag_all(tagOrId)

[Source]

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

addtag_below(tagOrId, target)

[Source]

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

addtag_closest(tagOrId, x, y, halo=None, start=None)

[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

addtag_enclosed(tagOrId, x1, y1, x2, y2)

[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

addtag_overlapping(tagOrId, x1, y1, x2, y2)

[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

addtag_withtag(tagOrId, tag)

[Source]

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

bbox(tagOrId, *tags)

[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

canvasx(screen_x, *args)

[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

canvasy(screen_y, *args)

[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

coords(tag, *args)

[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(type, *args)

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

dchars(tag, first, last=None)

[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

delete(*args)

[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

dtag(tag, tag_to_del=None)

[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

find(mode, *args)

[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

find_above(target)

[Source]

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

find_all()

[Source]

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

find_below(target)

[Source]

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

find_closest(x, y, halo=None, start=None)

[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

find_enclosed(x1, y1, x2, y2)

[Source]

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

find_overlapping(x1, y1, x2, y2)

[Source]

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

find_withtag(tag)

[Source]

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

gettags(tagOrId)

[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

icursor(tagOrId, index)

[Source]

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

index(tagOrId, idx)

[Source]

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

insert(tagOrId, index, string)

[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

itembind(tag, context, *args)

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

itembind_append(tag, context, *args)

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

itembind_remove(tag, context)

[Source]

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

itembindinfo(tag, context=nil)

[Source]

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

itemfocus(tagOrId=nil)

[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

itemtype(tag)

[Source]

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

lower(tag, below=nil)

[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

move(tag, x, y)

[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

postscript(keys)

[Source]

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

raise(tag, above=nil)

[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

scale(tag, x, y, xs, ys)

[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

scan_dragto(x, y)

[Source]

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

scan_mark(x, y)

[Source]

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

select(mode, *args)

[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

select_adjust(tagOrId, index)

[Source]

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

select_clear()

[Source]

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

select_from(tagOrId, index)

[Source]

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

select_item()

[Source]

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

select_to(tagOrId, index)

[Source]

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

[Validate]