module Plugin::GUI::Widget

ウィンドウパーツ共通

Public Class Methods

included(klass) click to toggle source
# File core/plugin/gui/widget.rb, line 6
def included(klass)
  klass.extend(Extended)
end

Public Instance Methods

destroy() click to toggle source

ツールキット上で、このウィジェットを破棄する。 親からは自動的に切り離される。

Return

self

# File core/plugin/gui/widget.rb, line 39
def destroy
  if not destroyed?
    Plugin.call(:gui_destroy, self)
    self.class.cuscaded.delete(slug)
    @destroy = true
    if @unload_hook and self.plugin
      plugin = Plugin.instance(self.plugin)
      if plugin
        plugin.detach(:unload, @unload_hook) end end end
  self end
destroyed?() click to toggle source

ツールキット上で、ウィジェットが削除されているかどうかを調べる。 削除待ちの場合も真を返す。

Return

削除されているなら真

# File core/plugin/gui/widget.rb, line 54
def destroyed?
  return true if defined?(@destroy) and @destroy
  Plugin.filtering(:gui_destroyed, self).first end
inspect() click to toggle source
# File core/plugin/gui/widget.rb, line 75
def inspect
  "#<#{self.class.to_s}(role=#{self.class.role},slug=#{slug})>"
end
instance_eval_with_delegate(delegate, &proc) click to toggle source

ブロックをselfに対してinstance_evalする。 その間、selfに対して呼ばれたメソッドで存在しないものは、 delegate のものを呼ぶ。

Args

delegate

BasicObject 任意のオブジェクト

&proc

実行するブロック

Return

ブロックの戻り値

# File core/plugin/gui/widget.rb, line 65
def instance_eval_with_delegate(delegate, &proc)
  before_delegatee = @delegate
  begin
    @delegate = delegate
    instance_eval(&proc)
  ensure
    @delegate = before_delegatee
  end
end
method_missing(*args, &block) click to toggle source
Calls superclass method
# File core/plugin/gui/widget.rb, line 93
def method_missing(*args, &block)
  if defined?(@delegate) and @delegate
    @delegate.__send__(*args, &block)
  else
    super end end
to_hash() click to toggle source

自分以下の子を、{slug: {slug: …}}形式の連想配列で返す

Return

親子関係の連想配列

# File core/plugin/gui/widget.rb, line 86
def to_hash
  if is_a? Plugin::GUI::HierarchyParent
    result = {}
    children.each{ |child|
      result[child.slug] = child.to_hash }
    result end end
to_s() click to toggle source
# File core/plugin/gui/widget.rb, line 79
def to_s
  inspect
end