class Gtk::Widget
Public Class Methods
bind_template_child(name, options={})
click to toggle source
# File lib/gtk4/widget.rb, line 43 def bind_template_child(name, options={}) internal_child = options[:internal_child] internal_child = false if internal_child.nil? bind_template_child_full(name, internal_child, 0) template_children << name attr_reader(name) end
have_template?()
click to toggle source
# File lib/gtk4/widget.rb, line 20 def have_template? @have_template ||= false end
set_template(template)
click to toggle source
# File lib/gtk4/widget.rb, line 30 def set_template(template) resource = template[:resource] data = template[:data] if resource set_template_from_resource(resource) else set_template_raw(data) end @scope = Gtk::RubyBuilderScope.new set_template_scope(@scope) @have_template = true end
template_children()
click to toggle source
# File lib/gtk4/widget.rb, line 24 def template_children @template_children ||= [] end
Public Instance Methods
children()
click to toggle source
# File lib/gtk4/widget.rb, line 97 def children _children = [] child = first_child while child _children << child child = child.next_sibling end _children end
insert_action_group(name, group)
click to toggle source
# File lib/gtk4/widget.rb, line 87 def insert_action_group(name, group) insert_action_group_raw(name, group) @action_groups ||= {} if group.nil? @action_groups.delete(name) else @action_groups[name] = group end end
Also aliased as: insert_action_group_raw
set_size_request(*args)
click to toggle source
# File lib/gtk4/widget.rb, line 54 def set_size_request(*args) case args.size when 1 options = args[0] raise ArgumentError, ":width is missing" unless options.key?(:width) width = options[:width] raise ArgumentError, ":height is missing" unless options.key?(:height) height = options[:height] when 2 width, height = args else message = "wrong number of arguments (given #{args.size}, expected 1..2)" raise ArgumentError, message end set_size_request_raw(width, height) end
Also aliased as: set_size_request_raw
style_context()
click to toggle source
# File lib/gtk4/widget.rb, line 82 def style_context @style_context ||= style_context_raw end
Also aliased as: style_context_raw
translate_coordinates(widget, x, y)
click to toggle source
# File lib/gtk4/widget.rb, line 72 def translate_coordinates(widget, x, y) translated, x, y = translate_coordinates_raw(widget, x, y) if translated [x, y] else nil end end
Also aliased as: translate_coordinates_raw
Private Instance Methods
initialize_post()
click to toggle source
# File lib/gtk4/widget.rb, line 108 def initialize_post klass = self.class return unless klass.have_template? return unless respond_to?(:init_template) init_template gtype = klass.gtype klass.template_children.each do |name| instance_variable_set("@#{name}", get_template_child(gtype, name)) end end