Sha256: bf9bac4738c3e2d038d73c7bf1498c9be97d3c57f84e1ef5f68640ca331ce88a

Contents?: true

Size: 952 Bytes

Versions: 1

Compression:

Stored size: 952 Bytes

Contents

require 'zerenity/base'

module Zerenity
  class MessageDialog < Base # :nodoc: 
    def self.build(dialog,options)
      options[:ok_button] = dialog.add_button(Gtk::Stock::OK,Gtk::Dialog::RESPONSE_OK)
      dialog.set_default_response(Gtk::Dialog::RESPONSE_OK)
    end
    
     def self.run(options={})
      Gtk.init
      self.check(options)
      dialog = Gtk::MessageDialog.new(nil,Gtk::Dialog::MODAL,options[:type],Gtk::MessageDialog::BUTTONS_NONE,options[:text])
      self.build(dialog,options)
      dialog.set_title(options[:title]) if options[:title]
      result = nil
      if options[:cancel_button]
        options[:cancel_button].signal_connect(CLICKED) do
          dialog.destroy
          Gtk.main_quit
        end
      end

      options[:ok_button].signal_connect(CLICKED) do
        result = true
        dialog.destroy
        Gtk.main_quit
      end
      dialog.show_all
      Gtk.main
      return result
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zerenity-1.3 lib/zerenity/messagedialog.rb