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