samples/xrc/xrc_sample.rb
begin
require 'rubygems'
rescue LoadError
end
begin
require 'rwx'
rescue LoadError
require "../../ext/rwx"
end
#STDERR.reopen("file.log","w")
# Basic Frame Class. This creates the dialog window
class SimpleFrame < WX::Frame
def initialize
super nil, :title => "Sample", :position => [50, 50], :size => [300, 300]
txt = "Choose 'Open Dialog' from the menu to see a dialog made with XRC"
WX::StaticText.new self, :label => txt, :position => [20, 20]
# Create a new menu
self.menubar = WX::MenuBar.new(nil) {|mbar|
mbar.append("File") {|menu|
menu.append_normal(:open, "Open Dialog") {p SimpleDialog.new(self).show_modal }
menu.append_normal(:exit, "Quit") { close }
}
}
end
end
class SimpleDialog < WX::Dialog
def initialize(parent)
# To load a layout defined in XRC into a Ruby subclass of Dialog,
WX::xrc_load_file("samples.xrc") {
super(parent,'SAMPLE_DIALOG')
}
bind(:button_clicked,:ok) { end_modal(:ok) }
bind(:button_clicked,:cancel) { end_modal(:cancel) }
bind(:button_clicked,:SAMPLE_MESSAGE) {
WX::message_box(nil,"And now a message from our sponsors.")
}
end
end
# Application class.
class XrcApp < WX::App
def on_init
# Get a new resources object
# Show the main frame.
main = SimpleFrame.new
main.show
end
end
XrcApp.new.main_loop()