class RuGUI::FrameworkAdapters::GTK::BaseView
Public Class Methods
builder_file_extension()
click to toggle source
Returns the builder file extension to be used for this view class.
# File lib/rugui/framework_adapters/GTK.rb, line 175 def builder_file_extension 'glade' end
Public Instance Methods
add_widget_to_container(widget, container_widget)
click to toggle source
Adds a widget to the given container widget.
# File lib/rugui/framework_adapters/GTK.rb, line 106 def add_widget_to_container(widget, container_widget) container_widget.add(widget) end
autoconnect_signals(other_target = nil)
click to toggle source
Autoconnects signals handlers for the view. If other_target
is given it is used instead of the view itself.
# File lib/rugui/framework_adapters/GTK.rb, line 129 def autoconnect_signals(other_target = nil) if self.adapted_object.use_builder? self.adapted_object.glade.signal_autoconnect_full do |source, target, signal_name, handler_name, signal_data, after| target ||= other_target self.adapted_object.glade.connect(source, target, signal_name, handler_name, signal_data) if target.respond_to?(handler_name) end end end
build_widgets_from(filename)
click to toggle source
Builds widgets from the given filename, using the proper builder.
# File lib/rugui/framework_adapters/GTK.rb, line 154 def build_widgets_from(filename) self.adapted_object.glade = GladeXML.new(filename, self.adapted_object.root, nil, nil, GladeXML::FILE) self.adapted_object.glade.widget_names.each do |widget_name| self.adapted_object.send(:create_attribute_for_widget, widget_name) unless self.adapted_object.glade[widget_name].nil? end self.adapted_object.root_widget.show if self.adapted_object.display_root? and not self.adapted_object.root_widget.nil? end
connect_declared_signal(widget, signal, receiver, method)
click to toggle source
Connects the signal from the widget to the given receiver method.
# File lib/rugui/framework_adapters/GTK.rb, line 147 def connect_declared_signal(widget, signal, receiver, method) widget.signal_connect(signal) do |*args| receiver.send(method, *args) end end
connect_declared_signal_block(widget, signal, receiver, block)
click to toggle source
Connects the signal from the widget to the given receiver block. The block is executed in the context of the receiver.
# File lib/rugui/framework_adapters/GTK.rb, line 140 def connect_declared_signal_block(widget, signal, receiver, block) widget.signal_connect(signal) do |*args| receiver.instance_exec(*args, &block) end end
queue(&block)
click to toggle source
Queues the block call, so that it is only gets executed in the main thread.
# File lib/rugui/framework_adapters/GTK.rb, line 101 def queue(&block) Gtk.queue(&block) end
register_widgets()
click to toggle source
Registers widgets as attributes of the view class.
# File lib/rugui/framework_adapters/GTK.rb, line 164 def register_widgets self.adapted_object.glade.widget_names.each do |widget_name| unless self.adapted_object.glade[widget_name].nil? self.adapted_object.send("#{widget_name}=".to_sym, self.adapted_object.glade[widget_name]) self.adapted_object.widgets[widget_name] = self.adapted_object.glade[widget_name] end end end
remove_all_children(container_widget)
click to toggle source
Removes all children from the given container widget.
# File lib/rugui/framework_adapters/GTK.rb, line 116 def remove_all_children(container_widget) container_widget.children.each do |child| container_widget.remove(child) end end
remove_widget_from_container(widget, container_widget)
click to toggle source
Removes a widget from the given container widget.
# File lib/rugui/framework_adapters/GTK.rb, line 111 def remove_widget_from_container(widget, container_widget) container_widget.remove(widget) end
set_widget_name(widget, widget_name)
click to toggle source
Sets the widget name for the given widget if given.
# File lib/rugui/framework_adapters/GTK.rb, line 123 def set_widget_name(widget, widget_name) widget.name = widget_name.to_s unless widget_name.nil? end