wxruby 1.9.9-x86-mingw32 → 1.9.10-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. data/LICENSE +53 -53
  2. data/README +297 -297
  3. data/lib/wx.rb +53 -53
  4. data/lib/wx/classes/bitmap.rb +29 -1
  5. data/lib/wx/classes/clipboard.rb +19 -3
  6. data/lib/wx/classes/colour.rb +6 -4
  7. data/lib/wx/classes/data_object.rb +14 -0
  8. data/lib/wx/classes/data_object_simple.rb +6 -0
  9. data/lib/wx/classes/dataformat.rb +23 -0
  10. data/lib/wx/classes/evthandler.rb +31 -4
  11. data/lib/wx/classes/genericdirctrl.rb +36 -0
  12. data/lib/wx/classes/grid.rb +8 -0
  13. data/lib/wx/classes/hboxsizer.rb +6 -0
  14. data/lib/wx/classes/icon.rb +12 -1
  15. data/lib/wx/classes/image.rb +13 -1
  16. data/lib/wx/classes/listctrl.rb +12 -0
  17. data/lib/wx/classes/point.rb +8 -0
  18. data/lib/wx/classes/rect.rb +10 -1
  19. data/lib/wx/classes/richtextctrl.rb +22 -0
  20. data/lib/wx/classes/size.rb +9 -0
  21. data/lib/wx/classes/sizer.rb +18 -3
  22. data/lib/wx/classes/toolbar.rb +4 -6
  23. data/lib/wx/classes/vboxsizer.rb +6 -0
  24. data/lib/wx/classes/window.rb +7 -0
  25. data/lib/wx/classes/xmlresource.rb +17 -0
  26. data/lib/wx/helpers.rb +16 -1
  27. data/lib/wx/keyword_ctors.rb +3 -2
  28. data/lib/wx/keyword_defs.rb +27 -5
  29. data/lib/wx/version.rb +1 -1
  30. data/lib/wxruby2.so +0 -0
  31. data/samples/SAMPLES-LICENSE.TXT +17 -17
  32. data/samples/bigdemo/About.rbw +39 -39
  33. data/samples/bigdemo/ColorPanel.rbw +23 -23
  34. data/samples/bigdemo/GridSimple.rbw +78 -78
  35. data/samples/bigdemo/MDIDemo.rbw +57 -57
  36. data/samples/bigdemo/PopupMenu.rbw +149 -149
  37. data/samples/bigdemo/Sizers.rbw +543 -543
  38. data/samples/bigdemo/bigdemo.rb +823 -823
  39. data/samples/bigdemo/demoTemplate.rbw +33 -33
  40. data/samples/bigdemo/icons/choice.xpm +27 -27
  41. data/samples/bigdemo/icons/combo.xpm +27 -27
  42. data/samples/bigdemo/icons/copy.xpm +25 -25
  43. data/samples/bigdemo/icons/cut.xpm +24 -24
  44. data/samples/bigdemo/icons/gauge.xpm +27 -27
  45. data/samples/bigdemo/icons/help.xpm +25 -25
  46. data/samples/bigdemo/icons/list.xpm +27 -27
  47. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  48. data/samples/bigdemo/icons/new.xpm +24 -24
  49. data/samples/bigdemo/icons/ogl.ico +0 -0
  50. data/samples/bigdemo/icons/ogl.xpm +45 -45
  51. data/samples/bigdemo/icons/open.xpm +26 -26
  52. data/samples/bigdemo/icons/paste.xpm +38 -38
  53. data/samples/bigdemo/icons/preview.xpm +26 -26
  54. data/samples/bigdemo/icons/print.xpm +26 -26
  55. data/samples/bigdemo/icons/radio.xpm +27 -27
  56. data/samples/bigdemo/icons/robert.xpm +415 -415
  57. data/samples/bigdemo/icons/save.xpm +25 -25
  58. data/samples/bigdemo/icons/smiles.xpm +39 -39
  59. data/samples/bigdemo/icons/smiley.xpm +42 -42
  60. data/samples/bigdemo/icons/stattext.xpm +24 -24
  61. data/samples/bigdemo/icons/test2.bmp +0 -0
  62. data/samples/bigdemo/icons/test2.xpm +79 -79
  63. data/samples/bigdemo/icons/text.xpm +27 -27
  64. data/samples/bigdemo/icons/tog1.xpm +38 -38
  65. data/samples/bigdemo/icons/tog2.xpm +38 -38
  66. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  67. data/samples/bigdemo/tips.txt +7 -7
  68. data/samples/bigdemo/utils.rb +11 -11
  69. data/samples/bigdemo/wxButton.rbw +64 -64
  70. data/samples/bigdemo/wxCalendarCtrl.rbw +60 -60
  71. data/samples/bigdemo/wxCheckBox.rbw +50 -50
  72. data/samples/bigdemo/wxCheckListBox.rbw +65 -75
  73. data/samples/bigdemo/wxChoice.rbw +47 -47
  74. data/samples/bigdemo/wxColourDialog.rbw +31 -31
  75. data/samples/bigdemo/wxComboBox.rbw +77 -77
  76. data/samples/bigdemo/wxDialog.rbw +74 -74
  77. data/samples/bigdemo/wxDirDialog.rbw +29 -29
  78. data/samples/bigdemo/wxFileDialog.rbw +37 -37
  79. data/samples/bigdemo/wxFileDialog_Save.rbw +35 -35
  80. data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -82
  81. data/samples/bigdemo/wxFontDialog.rbw +173 -173
  82. data/samples/bigdemo/wxFrame.rbw +53 -53
  83. data/samples/bigdemo/wxGauge.rbw +71 -71
  84. data/samples/bigdemo/wxGrid.rbw +66 -66
  85. data/samples/bigdemo/wxListBox.rbw +140 -140
  86. data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -107
  87. data/samples/bigdemo/wxMDIWindows.rbw +50 -50
  88. data/samples/bigdemo/wxMenu.rbw +236 -236
  89. data/samples/bigdemo/wxMessageDialog.rbw +27 -27
  90. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -32
  91. data/samples/bigdemo/wxNotebook.rbw +136 -136
  92. data/samples/bigdemo/wxProgressDialog.rbw +43 -43
  93. data/samples/bigdemo/wxRadioBox.rbw +72 -72
  94. data/samples/bigdemo/wxRadioButton.rbw +125 -125
  95. data/samples/bigdemo/wxSashWindow.rbw +2 -2
  96. data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -57
  97. data/samples/bigdemo/wxScrolledWindow.rbw +199 -199
  98. data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -33
  99. data/samples/bigdemo/wxSlider.rbw +42 -42
  100. data/samples/bigdemo/wxSpinButton.rbw +50 -50
  101. data/samples/bigdemo/wxSpinCtrl.rbw +51 -51
  102. data/samples/bigdemo/wxSplitterWindow.rbw +63 -63
  103. data/samples/bigdemo/wxStaticBitmap.rbw +51 -51
  104. data/samples/bigdemo/wxStaticText.rbw +55 -55
  105. data/samples/bigdemo/wxStatusBar.rbw +126 -126
  106. data/samples/bigdemo/wxTextCtrl.rbw +149 -149
  107. data/samples/bigdemo/wxTextEntryDialog.rbw +31 -31
  108. data/samples/bigdemo/wxToggleButton.rbw +49 -49
  109. data/samples/bigdemo/wxToolBar.rbw +131 -131
  110. data/samples/bigdemo/wxTreeCtrl.rbw +191 -190
  111. data/samples/calendar/calendar.rb +256 -271
  112. data/samples/caret/caret.rb +282 -282
  113. data/samples/caret/mondrian.xpm +44 -44
  114. data/samples/controls/controls.rb +1136 -1136
  115. data/samples/controls/get_item_sample.rb +87 -87
  116. data/samples/controls/icons/choice.xpm +27 -27
  117. data/samples/controls/icons/combo.xpm +27 -27
  118. data/samples/controls/icons/gauge.xpm +27 -27
  119. data/samples/controls/icons/list.xpm +27 -27
  120. data/samples/controls/icons/radio.xpm +27 -27
  121. data/samples/controls/icons/stattext.xpm +24 -24
  122. data/samples/controls/icons/text.xpm +27 -27
  123. data/samples/controls/mondrian.xpm +44 -44
  124. data/samples/dialogs/dialogs.rb +797 -723
  125. data/samples/dialogs/tips.txt +18 -18
  126. data/samples/drawing/images.rb +37 -37
  127. data/samples/etc/activation.rb +102 -102
  128. data/samples/etc/choice.rb +67 -67
  129. data/samples/etc/miniframe.rb +79 -79
  130. data/samples/etc/sash.rb +130 -130
  131. data/samples/etc/scrollwin.rb +110 -110
  132. data/samples/etc/system_settings.rb +252 -252
  133. data/samples/etc/toolbar_sizer_additem.rb +55 -0
  134. data/samples/etc/wizard.rb +74 -74
  135. data/samples/event/update_ui_event.rb +70 -0
  136. data/samples/grid/gridtablebase.rb +43 -29
  137. data/samples/listbook/listbook.rb +174 -174
  138. data/samples/listbook/listbook.xrc +370 -370
  139. data/samples/mdi/mdi.rb +85 -77
  140. data/samples/minimal/minimal.rb +77 -77
  141. data/samples/minimal/nothing.rb +16 -16
  142. data/samples/text/format-text-bold.png +0 -0
  143. data/samples/text/format-text-italic.png +0 -0
  144. data/samples/text/format-text-underline.png +0 -0
  145. data/samples/text/rich_textctrl.rb +98 -0
  146. data/samples/text/textctrl.rb +111 -113
  147. data/samples/text/unicode.rb +242 -242
  148. data/samples/text/utf8.txt +14 -14
  149. data/samples/treectrl/treectrl.rb +1166 -1174
  150. data/samples/xrc/samples.xrc +46 -46
  151. data/samples/xrc/xrc_sample.rb +76 -96
  152. metadata +15 -3
@@ -1,18 +1,18 @@
1
- Startup tips are documented in the "Startup tips overview" section of wxWindows documentation.
2
- These tips are being read from the tips.txt text file in this directory. Each line of the file contains a single tip.
3
- If you close and open this tips dialog, you will notice that the tip numbers start at the point you were at when you closed the dialog last time. This allows easy cycling through the entire list of tips, instead of always showing the initial tips over and over.
4
- Often you will want to save to the application's wxConfig, the last tip that the user saw, as well as whether they want to see tips on startup.
5
- Comments in the tips file have a # as the first character. Comments are automatically skipped over. See the tips.txt file in this directory for the example.
6
- # This line is a comment since it started with a #, and is skipped.
7
- Blank lines in the tip file are also automatically skipped over. Lines with only spaces are also considered empty.
8
- The next line in this tip file is empty, so it will be automatically skipped.
9
-
10
- The next line in this tip file is just empty spaces, so it is considered empty too, and is also automatically skipped.
11
-
12
- You can easily add translations to your startup tips via the usual gettext methods by wrapping a string in a gettext macro, which is _(""). See next tip for example.
13
- _("This tip is marked as a translatable string by wrapping it inside the usual gettext macro, so it can be collected by gettext and added to a translation catalog. Your application can then use this catalog and serve out a translated version of the tip.")
14
- Translatable strings must strictly begin with _(", not _( " or wxGetTranslation(" or something else.
15
- If you are using gettext translatable strings, don't forget to escape to replace any " characters within the tip with a \" instead
16
- _("This is a translatable tip with the quoted words \"Escape me\" properly escaped.")
17
- If you have very specialized needs, you can derive your own wxTipProvider and use that instead.
18
- If you want to modify the tip content at runtime for purposes other than translation (for example, variable expansion), one easy option is to use a custom tip provider derived from wxFileTipProvider. Your custom tip provider would contain a single virtual function to override: PreprocessTip().
1
+ Startup tips are documented in the "Startup tips overview" section of wxWindows documentation.
2
+ These tips are being read from the tips.txt text file in this directory. Each line of the file contains a single tip.
3
+ If you close and open this tips dialog, you will notice that the tip numbers start at the point you were at when you closed the dialog last time. This allows easy cycling through the entire list of tips, instead of always showing the initial tips over and over.
4
+ Often you will want to save to the application's wxConfig, the last tip that the user saw, as well as whether they want to see tips on startup.
5
+ Comments in the tips file have a # as the first character. Comments are automatically skipped over. See the tips.txt file in this directory for the example.
6
+ # This line is a comment since it started with a #, and is skipped.
7
+ Blank lines in the tip file are also automatically skipped over. Lines with only spaces are also considered empty.
8
+ The next line in this tip file is empty, so it will be automatically skipped.
9
+
10
+ The next line in this tip file is just empty spaces, so it is considered empty too, and is also automatically skipped.
11
+
12
+ You can easily add translations to your startup tips via the usual gettext methods by wrapping a string in a gettext macro, which is _(""). See next tip for example.
13
+ _("This tip is marked as a translatable string by wrapping it inside the usual gettext macro, so it can be collected by gettext and added to a translation catalog. Your application can then use this catalog and serve out a translated version of the tip.")
14
+ Translatable strings must strictly begin with _(", not _( " or wxGetTranslation(" or something else.
15
+ If you are using gettext translatable strings, don't forget to escape to replace any " characters within the tip with a \" instead
16
+ _("This is a translatable tip with the quoted words \"Escape me\" properly escaped.")
17
+ If you have very specialized needs, you can derive your own wxTipProvider and use that instead.
18
+ If you want to modify the tip content at runtime for purposes other than translation (for example, variable expansion), one easy option is to use a custom tip provider derived from wxFileTipProvider. Your custom tip provider would contain a single virtual function to override: PreprocessTip().
@@ -1,37 +1,37 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
- # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
- begin
5
- require 'rubygems'
6
- rescue LoadError
7
- end
8
- require 'wx'
9
-
10
-
11
- # This sample demonstrates how to draw an image from a file onto a
12
- # window. This one uses a small PNG file, but other formats such as JPEG
13
- # are supported - see documentation for more details.
14
-
15
- class ImageFrame < Wx::Frame
16
- def initialize
17
- super(nil, :title => 'Simple image demo')
18
-
19
- # Load a PNG bitmap from a file for drawing
20
- img_file = File.join( File.dirname(__FILE__), 'paperclip.png')
21
- @bitmap = Wx::Bitmap.new(img_file, Wx::BITMAP_TYPE_PNG)
22
-
23
- # Set up the drawing to be done when the frame needs re-painting
24
- evt_paint :on_paint
25
- end
26
-
27
- def on_paint
28
- paint do | dc |
29
- dc.draw_bitmap(@bitmap, 0, 0, false)
30
- end
31
- end
32
- end
33
-
34
- Wx::App.run do
35
- ImageFrame.new.show
36
- end
37
-
1
+ #!/usr/bin/env ruby
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
+ # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
+ begin
5
+ require 'rubygems'
6
+ rescue LoadError
7
+ end
8
+ require 'wx'
9
+
10
+
11
+ # This sample demonstrates how to draw an image from a file onto a
12
+ # window. This one uses a small PNG file, but other formats such as JPEG
13
+ # are supported - see documentation for more details.
14
+
15
+ class ImageFrame < Wx::Frame
16
+ def initialize
17
+ super(nil, :title => 'Simple image demo')
18
+
19
+ # Load a PNG bitmap from a file for drawing
20
+ img_file = File.join( File.dirname(__FILE__), 'paperclip.png')
21
+ @bitmap = Wx::Bitmap.new(img_file, Wx::BITMAP_TYPE_PNG)
22
+
23
+ # Set up the drawing to be done when the frame needs re-painting
24
+ evt_paint :on_paint
25
+ end
26
+
27
+ def on_paint
28
+ paint do | dc |
29
+ dc.draw_bitmap(@bitmap, 0, 0, false)
30
+ end
31
+ end
32
+ end
33
+
34
+ Wx::App.run do
35
+ ImageFrame.new.show
36
+ end
37
+
@@ -1,102 +1,102 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
- # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
- begin
5
- require 'rubygems'
6
- rescue LoadError
7
- end
8
- require 'wx'
9
-
10
- # This sample demonstrates the use of Activate Events. These are
11
- # generated when a frame becomes active or inactive. This is typically
12
- # indicated by a frame's titlebar changing colour, and a widget within
13
- # the frame gainin focus. An event is also generated when a whole wxRuby
14
- # app starts or stops being the current focussed desktop application.
15
-
16
- class MinimalFrame < Wx::Frame
17
- def initialize(title, pos, size, style = Wx::DEFAULT_FRAME_STYLE)
18
- super(nil, -1, title, pos, size, style)
19
-
20
-
21
- menuFile = Wx::Menu.new()
22
- helpMenu = Wx::Menu.new()
23
- helpMenu.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
24
- menuFile.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
25
- menuBar = Wx::MenuBar.new()
26
- menuBar.append(menuFile, "&File")
27
- menuBar.append(helpMenu, "&Help")
28
- set_menu_bar(menuBar)
29
-
30
- create_status_bar(2)
31
- set_status_text("Welcome to wxRuby!")
32
-
33
- evt_menu(Wx::ID_EXIT) { on_quit }
34
- evt_menu(Wx::ID_ABOUT) { on_about }
35
-
36
- evt_activate { | e | on_activate(e) }
37
- evt_iconize { | e | on_iconize(e) }
38
- end
39
-
40
-
41
- def on_iconize(event)
42
- if event.iconized
43
- puts "Frame '#{get_title}' was iconized"
44
- else
45
- puts "Frame '#{get_title}' was restored"
46
- end
47
- end
48
-
49
- def on_activate(event)
50
- if event.get_active
51
- puts "Frame '#{get_title}' became activated"
52
- set_status_text 'Active'
53
- else
54
- puts "Frame '#{get_title}' became deactivated"
55
- set_status_text 'Inactive'
56
- end
57
- event.skip # important
58
- end
59
-
60
- def on_quit
61
- Wx::get_app.close_all
62
- end
63
-
64
- def on_about
65
- msg = sprintf("This is the About dialog of the activate sample.\n" \
66
- "Welcome to wxRuby, version %s", Wx::WXRUBY_VERSION)
67
- Wx::message_box(msg, "About Activate", Wx::OK|Wx::ICON_INFORMATION, self)
68
- end
69
- end
70
-
71
- class RbApp < Wx::App
72
- def on_init
73
- @frame_1 = MinimalFrame.new("Tall window",
74
- Wx::Point.new(50, 50),
75
- Wx::Size.new(150, 240))
76
- @frame_2 = MinimalFrame.new("Wide window",
77
- Wx::Point.new(100, 100),
78
- Wx::Size.new(300, 180))
79
- evt_activate_app { | e | on_activate_app(e) }
80
- @frame_1.show()
81
- @frame_2.show()
82
-
83
- end
84
-
85
- def on_activate_app(event)
86
- if event.get_active
87
- puts "The app became active"
88
- else
89
- puts "The app became inactive"
90
- end
91
- event.skip # important
92
- end
93
-
94
- def close_all
95
- @frame_1.close(true)
96
- @frame_2.close(true)
97
- end
98
- end
99
-
100
- app = RbApp.new
101
- app.main_loop()
102
-
1
+ #!/usr/bin/env ruby
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
+ # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
+ begin
5
+ require 'rubygems'
6
+ rescue LoadError
7
+ end
8
+ require 'wx'
9
+
10
+ # This sample demonstrates the use of Activate Events. These are
11
+ # generated when a frame becomes active or inactive. This is typically
12
+ # indicated by a frame's titlebar changing colour, and a widget within
13
+ # the frame gainin focus. An event is also generated when a whole wxRuby
14
+ # app starts or stops being the current focussed desktop application.
15
+
16
+ class MinimalFrame < Wx::Frame
17
+ def initialize(title, pos, size, style = Wx::DEFAULT_FRAME_STYLE)
18
+ super(nil, -1, title, pos, size, style)
19
+
20
+
21
+ menuFile = Wx::Menu.new()
22
+ helpMenu = Wx::Menu.new()
23
+ helpMenu.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
24
+ menuFile.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
25
+ menuBar = Wx::MenuBar.new()
26
+ menuBar.append(menuFile, "&File")
27
+ menuBar.append(helpMenu, "&Help")
28
+ set_menu_bar(menuBar)
29
+
30
+ create_status_bar(2)
31
+ set_status_text("Welcome to wxRuby!")
32
+
33
+ evt_menu(Wx::ID_EXIT) { on_quit }
34
+ evt_menu(Wx::ID_ABOUT) { on_about }
35
+
36
+ evt_activate { | e | on_activate(e) }
37
+ evt_iconize { | e | on_iconize(e) }
38
+ end
39
+
40
+
41
+ def on_iconize(event)
42
+ if event.iconized
43
+ puts "Frame '#{get_title}' was iconized"
44
+ else
45
+ puts "Frame '#{get_title}' was restored"
46
+ end
47
+ end
48
+
49
+ def on_activate(event)
50
+ if event.get_active
51
+ puts "Frame '#{get_title}' became activated"
52
+ set_status_text 'Active'
53
+ else
54
+ puts "Frame '#{get_title}' became deactivated"
55
+ set_status_text 'Inactive'
56
+ end
57
+ event.skip # important
58
+ end
59
+
60
+ def on_quit
61
+ Wx::get_app.close_all
62
+ end
63
+
64
+ def on_about
65
+ msg = sprintf("This is the About dialog of the activate sample.\n" \
66
+ "Welcome to wxRuby, version %s", Wx::WXRUBY_VERSION)
67
+ Wx::message_box(msg, "About Activate", Wx::OK|Wx::ICON_INFORMATION, self)
68
+ end
69
+ end
70
+
71
+ class RbApp < Wx::App
72
+ def on_init
73
+ @frame_1 = MinimalFrame.new("Tall window",
74
+ Wx::Point.new(50, 50),
75
+ Wx::Size.new(150, 240))
76
+ @frame_2 = MinimalFrame.new("Wide window",
77
+ Wx::Point.new(100, 100),
78
+ Wx::Size.new(300, 180))
79
+ evt_activate_app { | e | on_activate_app(e) }
80
+ @frame_1.show()
81
+ @frame_2.show()
82
+
83
+ end
84
+
85
+ def on_activate_app(event)
86
+ if event.get_active
87
+ puts "The app became active"
88
+ else
89
+ puts "The app became inactive"
90
+ end
91
+ event.skip # important
92
+ end
93
+
94
+ def close_all
95
+ @frame_1.close(true)
96
+ @frame_2.close(true)
97
+ end
98
+ end
99
+
100
+ app = RbApp.new
101
+ app.main_loop()
102
+
@@ -1,67 +1,67 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
- # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
- begin
5
- require 'rubygems'
6
- rescue LoadError
7
- end
8
- require 'wx'
9
-
10
- include Wx
11
-
12
- ID_CHOICE = 1000
13
-
14
- class ChoiceDlg < Dialog
15
- def initialize
16
- super(nil, -1, "ChoiceDialog", DEFAULT_POSITION, Size.new(185, 185))
17
-
18
- list = [ "ABS", "Airbag", "Air conditioning" ]
19
-
20
- @m_pChoice = Choice.new(self, ID_CHOICE, DEFAULT_POSITION, DEFAULT_SIZE, list)
21
- @m_pChoice.append("Automatic gear", 100)
22
-
23
- @m_pLabel = StaticText.new(self, -1, "default")
24
- dlgSizer = BoxSizer.new(HORIZONTAL)
25
- choiceSizer = BoxSizer.new(VERTICAL)
26
- choiceSizer.add(@m_pChoice, 1, GROW)
27
- choiceSizer.add(@m_pLabel)
28
- dlgSizer.add(choiceSizer, 1, GROW)
29
- set_sizer(dlgSizer)
30
- set_auto_layout(TRUE)
31
- layout()
32
-
33
- evt_choice(ID_CHOICE) {|event| onChoice(event) }
34
- evt_close {onClose}
35
- end
36
-
37
- def onChoice(event)
38
- chose = event.get_selection
39
- data = event.get_client_data
40
- # NOTE: uninitialized client data will be false, not nil
41
- if(!data)
42
- data = 0
43
- end
44
- data += 1
45
- @m_pLabel.set_label(data.to_s)
46
-
47
- @m_pChoice.set_selection(chose)
48
- @m_pChoice.set_client_data(chose, data)
49
- end
50
-
51
- def onClose
52
- destroy()
53
- end
54
- end
55
-
56
-
57
- class RbApp < App
58
- def on_init
59
- dlg = ChoiceDlg.new
60
- set_top_window(dlg)
61
- dlg.show(TRUE)
62
- end
63
-
64
- end
65
-
66
- a = RbApp.new
67
- a.main_loop()
1
+ #!/usr/bin/env ruby
2
+ # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
3
+ # Freely reusable code: see SAMPLES-LICENSE.TXT for details
4
+ begin
5
+ require 'rubygems'
6
+ rescue LoadError
7
+ end
8
+ require 'wx'
9
+
10
+ include Wx
11
+
12
+ ID_CHOICE = 1000
13
+
14
+ class ChoiceDlg < Dialog
15
+ def initialize
16
+ super(nil, -1, "ChoiceDialog", DEFAULT_POSITION, Size.new(185, 185))
17
+
18
+ list = [ "ABS", "Airbag", "Air conditioning" ]
19
+
20
+ @m_pChoice = Choice.new(self, ID_CHOICE, DEFAULT_POSITION, DEFAULT_SIZE, list)
21
+ @m_pChoice.append("Automatic gear", 100)
22
+
23
+ @m_pLabel = StaticText.new(self, -1, "default")
24
+ dlgSizer = BoxSizer.new(HORIZONTAL)
25
+ choiceSizer = BoxSizer.new(VERTICAL)
26
+ choiceSizer.add(@m_pChoice, 1, GROW)
27
+ choiceSizer.add(@m_pLabel)
28
+ dlgSizer.add(choiceSizer, 1, GROW)
29
+ set_sizer(dlgSizer)
30
+ set_auto_layout(TRUE)
31
+ layout()
32
+
33
+ evt_choice(ID_CHOICE) {|event| onChoice(event) }
34
+ evt_close {onClose}
35
+ end
36
+
37
+ def onChoice(event)
38
+ chose = event.get_selection
39
+ data = event.get_client_data
40
+ # NOTE: uninitialized client data will be false, not nil
41
+ if(!data)
42
+ data = 0
43
+ end
44
+ data += 1
45
+ @m_pLabel.set_label(data.to_s)
46
+
47
+ @m_pChoice.set_selection(chose)
48
+ @m_pChoice.set_client_data(chose, data)
49
+ end
50
+
51
+ def onClose
52
+ destroy()
53
+ end
54
+ end
55
+
56
+
57
+ class RbApp < App
58
+ def on_init
59
+ dlg = ChoiceDlg.new
60
+ set_top_window(dlg)
61
+ dlg.show(TRUE)
62
+ end
63
+
64
+ end
65
+
66
+ a = RbApp.new
67
+ a.main_loop()