Class Tk::HTML_Widget::ClippingWindow
In: tk/lib/tkextlib/tkHTML/htmlwidget.rb
Parent: TkWindow

Methods

method_missing   new   new  

Constants

WidgetClassName = 'HtmlClip'.freeze
HtmlClip_TBL = TkCore::INTERP.create_table

Public Class methods

[Source]

# File tk/lib/tkextlib/tkHTML/htmlwidget.rb, line 78
  def initialize(parent)
    @parent = parent
    @ppath = parent.path
    @path = @id = @ppath + '.x'
    HtmlClip_TBL[@ppath] = self
  end

[Source]

# File tk/lib/tkextlib/tkHTML/htmlwidget.rb, line 44
  def self.new(parent, keys={})
    if parent.kind_of?(Hash)
      keys = TkComm._symbolkey2str(parent)
      parent = keys.delete('parent')
    end

    if parent.kind_of?(String)
      ppath = parent.path
    elsif parent
      ppath = parent
    else
      ppath = ''
    end
    return HtmlClip_TBL[ppath] if HtmlClip_TBL[ppath]

    widgetname = keys.delete('widgetname')
    if widgetname =~ /^(.*)\.[^.]+$/
      ppath2 = $1
      if ppath2[0] != ?.
        ppath2 = ppath + '.' + ppath2
      end
      return HtmlClip_TBL[ppath2] if HtmlClip_TBL[ppath2]

      ppath = ppath2
    end
    
    parent = TkComm._genobj_for_tkwidget(ppath)
    unless parent.kind_of?(Tk::HTML_Widget)
      fail ArgumentError, "parent must be a Tk::HTML_Widget instance"
    end

    super(parent)
  end

Public Instance methods

[Source]

# File tk/lib/tkextlib/tkHTML/htmlwidget.rb, line 85
  def method_missing(m, *args, &b)
    @parent.__send__(m, *args, &b)
  end

[Validate]