class Gtk::Builder
Public Class Methods
new(options={})
click to toggle source
# File lib/gtk4/builder.rb, line 22 def initialize(options={}) object = options[:object] path = options[:path] || options[:file] resource = options[:resource] string = options[:string] initialize_new set_current_object(object) if object set_scope(RubyBuilderScope.new) if path path = path.to_path if path.respond_to?(:to_path) add_from_file(path) elsif resource add_from_resource(resource) elsif string add_from_string(string) end end
Also aliased as: initialize_raw
Public Instance Methods
<<(target)
click to toggle source
# File lib/gtk4/builder.rb, line 103 def <<(target) add(target) self end
add(target_or_options={})
click to toggle source
# File lib/gtk4/builder.rb, line 54 def add(target_or_options={}) if target_or_options.is_a?(Hash) options = target_or_options else target = target_or_options options = {} if target.respond_to?(:to_path) options[:path] = target.to_path elsif target.start_with?("<") or target.start_with?(" ") options[:string] = target elsif File.exist?(target) options[:path] = target else options[:resource] = target end end string = options[:string] path = options[:path] || options[:file] resource = options[:resource] object_ids = options[:object_ids] if path path = path.to_path if path.respond_to?(:to_path) if object_ids add_objects_from_file(path, object_ids) else add_from_file(path) end elsif resource if object_ids add_objects_from_resource(resource, object_ids) else add_from_resource(resource) end elsif string if object_ids add_objects_from_string(string, object_ids) else add_from_string(string) end else message = ":path (:file), :resource or :string " + "must be specified: #{options.inspect}" raise InvalidArgument, message end end
add_from_string(string)
click to toggle source
# File lib/gtk4/builder.rb, line 45 def add_from_string(string) add_from_string_raw(string, string.bytesize) end
Also aliased as: add_from_string_raw
add_objects_from_string(string, object_ids)
click to toggle source
# File lib/gtk4/builder.rb, line 50 def add_objects_from_string(string, object_ids) add_objects_from_string_raw(string, string.bytesize, object_ids) end
Also aliased as: add_objects_from_string_raw