class Rabbit::Graffiti::ConfigDialog
Public Class Methods
new(color, line_width)
click to toggle source
# File lib/rabbit/graffiti/config-dialog.rb, line 10 def initialize(color, line_width) @original_color = color @original_line_width = line_width end
Public Instance Methods
run(&block)
click to toggle source
# File lib/rabbit/graffiti/config-dialog.rb, line 15 def run(&block) @callback = block init_dialog if @dialog.run == Gtk::ResponseType::OK @callback.call(Renderer::Color.new(@dialog.rgba), nil) else @callback.call(@original_color, @original_line_width) end @dialog.destroy end
Private Instance Methods
add_line_width_control()
click to toggle source
# File lib/rabbit/graffiti/config-dialog.rb, line 38 def add_line_width_control spin = Gtk::SpinButton.new(1, 72, 1) spin.value = @original_line_width spin.signal_connect("value_changed") do @callback.call(nil, spin.value) end label = Gtk::Label.new(_("Line width:")) hbox = Gtk::Box.new(:horizontal) hbox.pack_end(spin, :expand => false, :fill => false, :padding => 5) hbox.pack_end(label, :expand => false, :fill => false, :padding => 5) hbox.show_all @dialog.child.pack_end(hbox, :expand => false, :fill => false, :padding => 5) end
init_dialog()
click to toggle source
# File lib/rabbit/graffiti/config-dialog.rb, line 28 def init_dialog @dialog = Gtk::ColorChooserDialog.new @dialog.use_alpha = true @dialog.rgba = @original_color.to_gdk_rgba add_line_width_control @dialog.signal_connect(:color_activated) do |gdk_color| @callback.call(Renderer::Color.new(gdk_color), nil) end end