Sha256: c6116908e32eb7ee83d3dad9480efc864bed67662ac635ca27fc931e20fc0df3

Contents?: true

Size: 1.94 KB

Versions: 24

Compression:

Stored size: 1.94 KB

Contents

#!/usr/bin/env ruby
# wxRuby2 Sample Code. Copyright (c) 2004-2006 Kevin B. Smith
# Freely reusable code: see SAMPLES-LICENSE.TXT for details

begin
  require 'wx'
rescue LoadError => no_wx_err
  begin
    require 'rubygems'
    require 'wx'
  rescue LoadError
    raise no_wx_err
  end
end

class Log
  def write_text(txt)
    Wx::log_message(txt.chomp)
  end
  alias write write_text
end

class RunFrame < Wx::Frame
  attr_accessor :otherWin

  def initialize(sample)
    super(nil, -1, "wxRuby Demo: #{sample}",
                             Wx::Point.new(50, 50), 
                             Wx::Size.new(450, 340))

    create_status_bar
    
    menu_file = Wx::Menu.new()
    menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
    menu_bar = Wx::MenuBar.new()
    menu_bar.append(menu_file, "&File")
    evt_menu(Wx::ID_EXIT) { close }

    set_menu_bar(menu_bar)

    # TODO:  Some samples may need clean-up calls?
    evt_close {|evt| evt.skip }
  end

end

# Wx::App is the container class for any wxruby app - only a single
# instance is required
class MinimalApp < Wx::App
  def initialize(sample)
    @sample = sample
    super()
  end

  def on_init
    frame = RunFrame.new(@sample)
    frame.show
    win = Demo.run(frame, frame, Log.new)
    # a window will be returned if the demo does not create
    # its own top-level window
    if win.class.ancestors.include?(Wx::Window)
      frame.set_size(640, 480)
      win.set_focus
    else
      return true
    end

    set_top_window(frame)
    true
  end
  
  def on_assert(file, line, condition, message)
    puts("ASSERT: #{file} #{line}: #{condition}; #{message}")
    raise
  end
end

def run(sample)
  app = MinimalApp.new(sample)
  app.main_loop()
end

if __FILE__ == $0
  if ARGV[0]
    begin
      load ARGV[0]
      run(ARGV[0])
    rescue(LoadError)
      puts "Unable to load '#{ARGV[0]}'"
    end
  else
    puts "You must specify the filename of the sample you want to run."
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
wxruby-1.9.5-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.4-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.3-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.2-powerpc-darwin8.10.0 samples/bigdemo/run.rb
wxruby-1.9.2-i686-linux samples/bigdemo/run.rb
wxruby-1.9.2-i686-darwin8.8.2 samples/bigdemo/run.rb
wxruby-1.9.2-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.1-powerpc-darwin8.3.0 samples/bigdemo/run.rb
wxruby-1.9.1-i686-linux samples/bigdemo/run.rb
wxruby-1.9.1-i686-darwin8.4.1 samples/bigdemo/run.rb
wxruby-1.9.1-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.0-powerpc-darwin8.10.0 samples/bigdemo/run.rb
wxruby-1.9.0-i686-linux samples/bigdemo/run.rb
wxruby-1.9.0-i686-darwin8.4.1 samples/bigdemo/run.rb
wxruby-1.9.0-i386-mswin32 samples/bigdemo/run.rb
wxruby-1.9.1-x86_64-linux samples/bigdemo/run.rb
wxruby-1.9.2-x86_64-linux samples/bigdemo/run.rb
wxruby-1.9.3-universal-darwin samples/bigdemo/run.rb
wxruby-1.9.3-x86-linux samples/bigdemo/run.rb
wxruby-1.9.4-x86-linux samples/bigdemo/run.rb