Sha256: b2b5784421a68e4532f372ca2416d6994666170575d42aec63837757ca4394e0
Contents?: true
Size: 1.72 KB
Versions: 3
Compression:
Stored size: 1.72 KB
Contents
module TkInspect module Inspector class Base cattr_accessor :shared_inspector cattr_accessor :custom_inspectors self.custom_inspectors = {} attr_accessor :inspected_binding attr_accessor :expression attr_accessor :tk_root attr_accessor :main_component def self.shared_inspector shared_inspector ||= self.new end def self.register_shared_inspector(inspector_class, inspected_class) custom_inspectors[inspected_class] = inspector_class end def self.inspector_for_class(klass) while klass && !(inspector = custom_inspectors[klass]) do klass = klass.superclass end inspector || self end def self.inspector_for_object(obj) self.inspector_for_class(obj.class) end def initialize(options = {}) @expression = options[:expression] @inspected_binding = options[:binding] || binding @value = options[:value] @tk_root = nil @main_component = nil end def refresh @main_component.nil? ? create_root : @main_component.regenerate end def create_root @tk_root = TkComponent::Window.new(title: window_title) create_main_component @main_component.inspector = self @tk_root.place_root_component(@main_component) end def browse_class(class_name) class_browser = TkInspect::ClassBrowser::Base.new class_browser.select_class_name(class_name) class_browser.refresh class_browser.show_current_path end def create_main_component @main_component = RootComponent.new end def window_title "Inspector" end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tk_inspect-0.2.1 | lib/tk_inspect/inspector/base.rb |
tk_inspect-0.2.0 | lib/tk_inspect/inspector/base.rb |
tk_inspect-0.1.0 | lib/tk_inspect/inspector/base.rb |