Sha256: 46eaf42764650bcd61a2c207f6fc37f054c76a9e0b4f44bf035ef0ff5004be08

Contents?: true

Size: 1.45 KB

Versions: 20

Compression:

Stored size: 1.45 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
include Wx

ID_CHOICE = 1000

class ChoiceDlg < Dialog
  def initialize
    super(nil, -1, "ChoiceDialog", DEFAULT_POSITION, Size.new(185, 185))

    list = [ "ABS", "Airbag", "Air conditioning" ]

    @m_pChoice = Choice.new(self, ID_CHOICE, DEFAULT_POSITION, DEFAULT_SIZE, list)
    @m_pChoice.append("Automatic gear", 100)

	@m_pLabel = StaticText.new(self, -1, "default")
    dlgSizer = BoxSizer.new(HORIZONTAL)
    choiceSizer = BoxSizer.new(VERTICAL)
    choiceSizer.add(@m_pChoice, 1, GROW)
	choiceSizer.add(@m_pLabel)
    dlgSizer.add(choiceSizer, 1, GROW)
    set_sizer(dlgSizer)
    set_auto_layout(TRUE)
    layout()

    evt_choice(ID_CHOICE) {|event| onChoice(event) }
    evt_close {onClose}
  end

  def onChoice(event)
  	chose = event.get_selection
	data = event.get_client_data
    # NOTE: uninitialized client data will be false, not nil
	if(!data)
		data = 0
	end
	data += 1
	@m_pLabel.set_label(data.to_s)

	@m_pChoice.set_selection(chose)
	@m_pChoice.set_client_data(chose, data)
  end

  def onClose
     destroy()
  end
end


class RbApp < App
  def on_init
    dlg = ChoiceDlg.new
    set_top_window(dlg)
    dlg.show(TRUE)
  end

end

a = RbApp.new
a.main_loop()

Version data entries

20 entries across 20 versions & 1 rubygems

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