Class: Freightrain::Toolkit::InterfaceBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/extensions/qt/interface_builder.rb,
lib/extensions/wx/interface_builder.rb,
lib/extensions/gtk/interface_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeInterfaceBuilder

Returns a new instance of InterfaceBuilder.



8
9
10
# File 'lib/extensions/gtk/interface_builder.rb', line 8

def initialize
  @builder = Gtk::Builder.new
end

Instance Attribute Details

#toplevelObject (readonly)

Returns the value of attribute toplevel.



8
9
10
# File 'lib/extensions/qt/interface_builder.rb', line 8

def toplevel
  @toplevel
end

Instance Method Details

#connect_to_callback(widget, event_name, method) ⇒ Object



33
34
35
36
37
# File 'lib/extensions/qt/interface_builder.rb', line 33

def connect_to_callback(widget, event_name, callback)
  widget.connect(SIGNAL(widget.get_event_signature(event_name))) do |*args|
    callback.call(*args)
  end
end

#controlObject



49
50
51
# File 'lib/extensions/qt/interface_builder.rb', line 49

def control
  return @toplevel
end

#create_object_accessors(widgets, view) ⇒ Object



26
27
28
29
30
31
# File 'lib/extensions/qt/interface_builder.rb', line 26

def create_object_accessors(widgets, view)
  widgets.each do |widget|
    name = widget.objectName
    view.instance_eval "def #{name}; @widgets.select { |w| w.objectName == '#{name}'  }.first ;end;"
  end
end

#create_objects_from_file(file_name) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/extensions/qt/interface_builder.rb', line 14

def create_objects_from_file(file_name)
  file = Qt::File.new(get_ui_files(file_name))
  file.open(Qt::File::ReadOnly)
  builder = Qt::UiLoader.new
  @toplevel = builder.load(file)
  builder.dispose
  file.close
  return get_all_objects(@toplevel).select do |widget|
    widget.objectName && widget.objectName != ""
  end
end

#file_found?(file_name) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/extensions/qt/interface_builder.rb', line 10

def file_found?(file_name)
  return get_ui_files(file_name)
end

#get_glade_file(file_name) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/extensions/gtk/interface_builder.rb', line 45

def get_glade_file(file_name)
  search_path = File.join(
    Freightrain.app_path,
    "views",
    "**",
    file_name.to_convention + ".glade")
  results = Dir.glob(search_path)
  return results.first
end

#get_ui_files(file_name) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/extensions/qt/interface_builder.rb', line 39

def get_ui_files(file_name)
  search_path = File.join(
    Freightrain.app_path,
    "views",
    "**",
    file_name.to_convention + ".ui")
  results = Dir.glob(search_path)
  return results.first
end

#get_xrc_files(file_name) ⇒ Object



14
15
16
17
18
19
20
21
22
# File 'lib/extensions/wx/interface_builder.rb', line 14

def get_xrc_files(file_name)
  search_path = File.join(
    Freightrain.app_path,
    "views",
    "**",
    file_name.to_convention + ".xrc")
  results = Dir.glob(search_path)
  return results.first
end