class Module
Public Class Methods
extended(obj)
click to toggle source
# File lib/vizkit/plugin_extensions.rb, line 31 def self.extended(obj) if respond_to?(:setup) setup(obj) end end
new()
click to toggle source
# File lib/vizkit/plugin_extensions.rb, line 26 def self.new widget = Vizkit.default_loader.send(class_name) widget.extend self widget end
Public Instance Methods
vizkit_subclass_of(class_name)
click to toggle source
Shortcut to define the necessary methods so that a module can be used to “subclass” a Qt widget
This is done with
require 'vizkit' module MapView vizkit_subclass_of 'ImageView' end Vizkit::UILoader.register_ruby_widget 'MapView', MapView.method(:new)
If some initial configuration is needed, one should define the 'setup' singleton method:
module MapView vizkit_subclass_of 'ImageView' def self.setup(obj) obj.setAspectRatio(true) end end
# File lib/vizkit/plugin_extensions.rb, line 24 def vizkit_subclass_of(class_name) class_eval do def self.new widget = Vizkit.default_loader.send(class_name) widget.extend self widget end def self.extended(obj) if respond_to?(:setup) setup(obj) end end end end