class MittensUi::Application
Public Class Methods
Window(options = {}, &block)
click to toggle source
# File lib/mittens_ui.rb, line 27 def Window(options = {}, &block) init_gtk_application(options, &block) end
exit() { || ... }
click to toggle source
# File lib/mittens_ui.rb, line 31 def exit(&block) begin yield if block_given? Kernel.exit(0) rescue => _error Kernel.exit(1) end end
Private Class Methods
init_gtk_application(options) { |$app_window, $vertical_box| ... }
click to toggle source
# File lib/mittens_ui.rb, line 48 def init_gtk_application(options, &block) app_name = options[:name].nil? ? "mittens_ui_app" : options[:name] height = options[:height].nil? ? 600 : options[:height] width = options[:width].nil? ? 400 : options[:width] title = options[:title].nil? ? "Mittens App" : options[:title] can_resize = options[:can_resize].nil? ? true : options[:can_resize] app_assets_path = File.join(File.expand_path(File.dirname(__FILE__)), "mittens_ui", "assets") + "/" default_icon = app_assets_path + "icon.png" app_icon = options[:icon].nil? ? default_icon : options[:icon] set_process_name(app_name) gtk_app_name = "org.mittens_ui.#{app_name}" app = Gtk::Application.new(gtk_app_name, :flags_none) app.signal_connect("activate") do |application| $app_window = Gtk::ApplicationWindow.new(application) scrolled_window = Gtk::ScrolledWindow.new $vertical_box = Gtk::Box.new(:vertical, 10) scrolled_window.add($vertical_box) $app_window.add(scrolled_window) yield($app_window, $vertical_box) $app_window.set_size_request(width, height) $app_window.set_title(title) $app_window.set_resizable(can_resize) $app_window.set_icon_from_file(app_icon) $app_window.show_all end app.run end
set_process_name(name)
click to toggle source
# File lib/mittens_ui.rb, line 42 def set_process_name(name) Process.setproctitle(name) $PROGRAM_NAME = name $0 = name end