class Gtk::Builder
Public Class Methods
new(options={})
click to toggle source
# File lib/gtk3/builder.rb, line 20 def initialize(options={}) file = options[:file] resource = options[:resource] string = options[:string] if file initialize_new_from_file(file) elsif resource initialize_new_from_resource(resource) elsif string initialize_new_from_string(string, string.bytesize) else initialize_raw end end
Also aliased as: initialize_raw
Public Instance Methods
<<(target)
click to toggle source
# File lib/gtk3/builder.rb, line 55 def <<(target) add(target) self end
add(target)
click to toggle source
# File lib/gtk3/builder.rb, line 43 def add(target) if target.respond_to?(:to_path) add_from_file(target.to_path) elsif target.start_with?("<") or target.start_with?(" ") add_from_string(target) elsif File.exist?(target) add_from_file(target) else add_from_resource(target) end end
add_from_string(string)
click to toggle source
# File lib/gtk3/builder.rb, line 39 def add_from_string(string) add_from_string_raw(string, string.bytesize) end
Also aliased as: add_from_string_raw
Private Instance Methods
__connect_signals__(connector, object, signal_name, handler_name, connect_object, flags)
click to toggle source
# File lib/gtk3/builder.rb, line 65 def __connect_signals__(connector, object, signal_name, handler_name, connect_object, flags) handler_name = normalize_handler_name(handler_name) if connect_object handler = connect_object.method(handler_name) else handler = connector.call(handler_name) end unless handler $stderr.puts("Undefined handler: #{handler_name}") if $DEBUG return end if flags.after? signal_connect_method = :signal_connect_after else signal_connect_method = :signal_connect end if handler.arity.zero? object.send(signal_connect_method, signal_name) {handler.call} else object.send(signal_connect_method, signal_name, &handler) end end
normalize_handler_name(name)
click to toggle source
# File lib/gtk3/builder.rb, line 61 def normalize_handler_name(name) name.gsub(/[-\s]+/, "_") end