# class Tk::Iwidgets::Scrolledcanvas

### Constants

TkCommandNames
WidgetClassName

### Public Class Methods

new(*args) click to toggle source
Calls superclass method

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 35
    def initialize(*args)
      super(*args)
      @canvas = component_widget('canvas')
    end

### Public Instance Methods

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 80
    def addtag(tag, mode, *args)
      tk_send_without_enc('addtag', tagid(tag), mode, *args)
      self
    end

addtag_above(tagOrId, target) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 84
    def addtag_above(tagOrId, target)
      addtag(tagOrId, 'above', tagid(target))
    end

addtag_all(tagOrId) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 87
    def addtag_all(tagOrId)
      addtag(tagOrId, 'all')
    end

addtag_below(tagOrId, target) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 90
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 93
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 96
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 99
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 102
    def addtag_withtag(tagOrId, tag)
      addtag(tagOrId, 'withtag', tagid(tag))
    end

bbox(tagOrId, *tags) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 106
    def bbox(tagOrId, *tags)
      list(tk_send_without_enc('bbox', tagid(tagOrId),
                               *tags.collect{|t| tagid(t)}))
    end

canvasx(screen_x, *args) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 150
    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) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 154
    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

child_site() click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 50
    def child_site
      window(tk_call(@path, 'childsite'))
    end

coords(tag, *args) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 159
    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) click to toggle source

create a canvas item without creating a TkcItem object

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 74
    def create(type, *args)
      type.create(self, *args)
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 168
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 174
    def delete(*args)
      tbl = nil
      TkcItem::CItemID_TBL.mutex.synchronize{
        tbl = TkcItem::CItemID_TBL[self.path]
      }
      if tbl
        find('withtag', *args).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
dtag(tag, tag_to_del=None) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 193
    def dtag(tag, tag_to_del=None)
      tk_send_without_enc('dtag', tagid(tag), tag_to_del)
      self
    end

find(mode, *args) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 198
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 203
    def find_above(target)
      find('above', tagid(target))
    end

find_all() click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 206
    def find_all
      find('all')
    end

find_below(target) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 209
    def find_below(target)
      find('below', tagid(target))
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 212
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 215
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 218
    def find_overlapping(x1, y1, x2, y2)
      find('overlapping', x1, y1, x2, y2)
    end

find_withtag(tag) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 221
    def find_withtag(tag)
      find('withtag', tag)
    end

gettags(tagOrId) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 239
    def gettags(tagOrId)
      list(tk_send_without_enc('gettags', tagid(tagOrId))).collect{|tag|
        TkcTag.id2obj(self, tag)
      }
    end

icursor(tagOrId, index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 245
    def icursor(tagOrId, index)
      tk_send_without_enc('icursor', tagid(tagOrId), index)
      self
    end

index(tagOrId, idx) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 250
    def index(tagOrId, idx)
      number(tk_send_without_enc('index', tagid(tagOrId), idx))
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 254
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 115
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 130
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 141
    def itembind_remove(tag, context)
      _bind_remove([path, "bind", tagid(tag)], context)
      self
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 146
    def itembindinfo(tag, context=nil)
      _bindinfo([path, "bind", tagid(tag)], context)
    end

itemfocus(tagOrId=nil) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 225
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 321
    def itemtype(tag)
      TkcItem.type2class(tk_send('type', tagid(tag)))
    end

justify(dir) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 54
    def justify(dir)
      tk_call(@path, 'justify', dir)
      self
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 260
    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

method_missing(id, *args) click to toggle source
Calls superclass method Object#method_missing

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 40
    def method_missing(id, *args)
      if @canvas.respond_to?(id)
        @canvas.__send__(id, *args)
      else
        super(id, *args)
      end
    end

move(tag, x, y) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 269
    def move(tag, x, y)
      tk_send_without_enc('move', tagid(tag), x, y)
      self
    end

postscript(keys) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 274
    def postscript(keys)
      tk_send("postscript", *hash_kv(keys))
    end

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

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 278
    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) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 287
    def scale(tag, x, y, xs, ys)
      tk_send_without_enc('scale', tagid(tag), x, y, xs, ys)
      self
    end

scan_dragto(x, y) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 296
    def scan_dragto(x, y)
      tk_send_without_enc('scan', 'dragto', x, y)
      self
    end

scan_mark(x, y) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 292
    def scan_mark(x, y)
      tk_send_without_enc('scan', 'mark', x, y)
      self
    end

select(mode, *args) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 301
    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/tkextlib/iwidgets/scrolledcanvas.rb, line 305
    def select_adjust(tagOrId, index)
      select('adjust', tagid(tagOrId), index)
    end

select_clear() click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 308
    def select_clear
      select('clear')
    end

select_from(tagOrId, index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 311
    def select_from(tagOrId, index)
      select('from', tagid(tagOrId), index)
    end

select_item() click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 314
    def select_item
      select('item')
    end

select_to(tagOrId, index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 317
    def select_to(tagOrId, index)
      select('to', tagid(tagOrId), index)
    end

xview(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 325
    def xview(*index)
      if index.size == 0
        list(tk_send_without_enc('xview'))
      else
        tk_send_without_enc('xview', *index)
        self
      end
    end

xview_moveto(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 333
    def xview_moveto(*index)
      xview('moveto', *index)
    end

xview_scroll(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 336
    def xview_scroll(*index)
      xview('scroll', *index)
    end

yview(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 340
    def yview(*index)
      if index.size == 0
        list(tk_send_without_enc('yview'))
      else
        tk_send_without_enc('yview', *index)
        self
      end
    end

yview_moveto(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 348
    def yview_moveto(*index)
      yview('moveto', *index)
    end

yview_scroll(*index) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 351
    def yview_scroll(*index)
      yview('scroll', *index)
    end

### Private Instance Methods

__boolval_optkeys() click to toggle source
Calls superclass method

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 25
    def __boolval_optkeys
      super() << 'autoresize'
    end

__strval_optkeys() click to toggle source
Calls superclass method Tk::Iwidgets::Labeledwidget#__strval_optkeys

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 30
    def __strval_optkeys
      super() << 'textbackground'
    end

tagid(tag) click to toggle source

    # File lib/tkextlib/iwidgets/scrolledcanvas.rb, line 62
    def tagid(tag)
      if tag.kind_of?(TkcItem) || tag.kind_of?(TkcTag)
        tag.id
      elsif tag.kind_of?(Tk::Itk::Component)
        tag.name
      else
        tag  # maybe an Array of configure parameters
      end
    end