module Plugin::GUI::HierarchyChild

ウィンドウパーツ階層構造の子

Attributes

parent[R]

Public Class Methods

included(klass) click to toggle source
# File core/plugin/gui/hierarchy_child.rb, line 6
def included(klass)
  if klass.include?(Plugin::GUI::HierarchyParent)
    raise "Plugin::GUI::HierarchyChild must be included before the Plugin::GUI::HierarchyParent."
  end
  klass.extend(Extended)
end

Public Instance Methods

active!(just_this=true, by_toolkit=false) click to toggle source

親を再帰的に辿り、selfをアクティブに設定する

Args

just_this

再帰的に呼び出されたのではなく、直接これをアクティブに指定されたなら真

by_toolkit

UIツールキットの入力でアクティブになった場合真

Return

self

# File core/plugin/gui/hierarchy_child.rb, line 52
def active!(just_this=true, by_toolkit=false)
  @parent.set_active_child(self, by_toolkit).active!(false, by_toolkit)
  self end
active_class_of(klass) click to toggle source
# File core/plugin/gui/hierarchy_child.rb, line 30
def active_class_of(klass)
  self if is_a? klass end
ancestor_of(klass) click to toggle source

先祖のうち、 klass と is_a? 関係にあるものを返す

Args

klass

探すクラス

Return

マッチしたウィジェットかfalse

# File core/plugin/gui/hierarchy_child.rb, line 38
def ancestor_of(klass)
  if self.is_a? klass
    self
  elsif @parent.is_a? Plugin::GUI::HierarchyChild
    @parent.ancestor_of(klass)
  else @parent.is_a? klass
    @parent end end
set_parent(parent) click to toggle source

親を parent に設定

Args

parent

Return

self

# File core/plugin/gui/hierarchy_child.rb, line 21
def set_parent(parent)
  type_strict parent => @parent_class
  return self if @parent == parent
  @parent.remove(self) if @parent
  @parent = parent
  if self.class.set_parent_event
    Plugin.call(self.class.set_parent_event, self, parent) end
  self end