wxruby3 0.9.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +183 -42
  3. data/README.md +40 -48
  4. data/ext/mkrf_conf_ext.rb +72 -0
  5. data/lib/wx/core/app.rb +16 -0
  6. data/lib/wx/core/colour.rb +36 -28
  7. data/lib/wx/core/const.rb +19 -0
  8. data/lib/wx/core/enum.rb +17 -1
  9. data/lib/wx/core/geometry.rb +121 -0
  10. data/lib/wx/core/graphics_pen_info.rb +18 -0
  11. data/lib/wx/core/image.rb +49 -0
  12. data/lib/wx/core/menu_bar.rb +11 -0
  13. data/lib/wx/core/paintdc.rb +9 -3
  14. data/lib/wx/core/secret_store.rb +38 -0
  15. data/lib/wx/doc/app.rb +97 -41
  16. data/lib/wx/doc/bitmap.rb +4 -0
  17. data/lib/wx/doc/client_dc.rb +2 -2
  18. data/lib/wx/doc/clipboard.rb +1 -1
  19. data/lib/wx/doc/colour.rb +12 -0
  20. data/lib/wx/doc/const.rb +16 -0
  21. data/lib/wx/doc/cursor.rb +4 -0
  22. data/lib/wx/doc/dc_overlay.rb +34 -0
  23. data/lib/wx/doc/enum.rb +7 -1
  24. data/lib/wx/doc/event_blocker.rb +1 -1
  25. data/lib/wx/doc/evthandler.rb +25 -3
  26. data/lib/wx/doc/functions.rb +3 -6
  27. data/lib/wx/doc/gc_dc.rb +13 -4
  28. data/lib/wx/doc/geometry.rb +136 -0
  29. data/lib/wx/doc/graphics_context.rb +25 -7
  30. data/lib/wx/doc/icon.rb +4 -0
  31. data/lib/wx/doc/image.rb +56 -0
  32. data/lib/wx/doc/list_ctrl.rb +6 -6
  33. data/lib/wx/doc/memory_dc.rb +2 -11
  34. data/lib/wx/doc/mirror_dc.rb +1 -1
  35. data/lib/wx/doc/pen.rb +26 -0
  36. data/lib/wx/doc/persistence_manager.rb +1 -1
  37. data/lib/wx/doc/persistent_object.rb +1 -1
  38. data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
  39. data/lib/wx/doc/prt/printer_dc.rb +2 -2
  40. data/lib/wx/doc/region_iterator.rb +1 -1
  41. data/lib/wx/doc/scaled_dc.rb +1 -1
  42. data/lib/wx/doc/screen_dc.rb +1 -1
  43. data/lib/wx/doc/secret_store.rb +55 -0
  44. data/lib/wx/doc/svg_file_dc.rb +1 -1
  45. data/lib/wx/doc/textctrl.rb +1 -1
  46. data/lib/wx/doc/tree_ctrl.rb +2 -2
  47. data/lib/wx/doc/validator.rb +6 -6
  48. data/lib/wx/doc/variant.rb +2 -2
  49. data/lib/wx/doc/window.rb +5 -4
  50. data/lib/wx/grid/keyword_defs.rb +1 -1
  51. data/lib/wx/html/keyword_defs.rb +3 -3
  52. data/lib/wx/keyword_defs.rb +76 -71
  53. data/lib/wx/pg/keyword_defs.rb +2 -2
  54. data/lib/wx/pg/pg_property.rb +12 -0
  55. data/lib/wx/rbn/keyword_defs.rb +1 -1
  56. data/lib/wx/rtc/keyword_defs.rb +1 -1
  57. data/lib/wx/stc/keyword_defs.rb +1 -1
  58. data/lib/wx/version.rb +1 -1
  59. data/lib/wx/wxruby/base.rb +3 -5
  60. data/lib/wx/wxruby/cmd/check.rb +182 -0
  61. data/lib/wx/wxruby/cmd/sampler.rb +1 -1
  62. data/lib/wx/wxruby/cmd/setup.rb +9 -3
  63. data/lib/wx/wxruby/cmd/test.rb +1 -1
  64. data/rakelib/configure.rb +67 -52
  65. data/rakelib/gem.rake +97 -66
  66. data/rakelib/gem.rb +294 -41
  67. data/rakelib/install.rb +3 -3
  68. data/rakelib/lib/config/{cygwin.rb → freebsd.rb} +1 -1
  69. data/rakelib/lib/config/linux.rb +4 -2
  70. data/rakelib/lib/config/macosx.rb +42 -11
  71. data/rakelib/lib/config/mingw.rb +2 -2
  72. data/rakelib/lib/config/pkgman/{base.rb → linux.rb} +36 -61
  73. data/rakelib/lib/config/pkgman/macosx.rb +17 -78
  74. data/rakelib/lib/config/unixish.rb +17 -8
  75. data/rakelib/lib/config/{netbsd.rb → unknown.rb} +3 -2
  76. data/rakelib/lib/config.rb +74 -33
  77. data/rakelib/lib/core/include/enum.inc +31 -1
  78. data/rakelib/lib/director/affine_matrix.rb +51 -0
  79. data/rakelib/lib/director/app.rb +29 -13
  80. data/rakelib/lib/director/art_provider.rb +4 -0
  81. data/rakelib/lib/director/aui_manager.rb +1 -1
  82. data/rakelib/lib/director/cursor.rb +6 -2
  83. data/rakelib/lib/director/dc.rb +1 -6
  84. data/rakelib/lib/director/derived_dc.rb +88 -31
  85. data/rakelib/lib/director/geometry.rb +142 -0
  86. data/rakelib/lib/director/graphics_context.rb +3 -2
  87. data/rakelib/lib/director/graphics_object.rb +18 -25
  88. data/rakelib/lib/director/grid_ctrl.rb +2 -2
  89. data/rakelib/lib/director/image.rb +59 -0
  90. data/rakelib/lib/director/menu.rb +2 -3
  91. data/rakelib/lib/director/menu_bar.rb +0 -3
  92. data/rakelib/lib/director/pen.rb +1 -1
  93. data/rakelib/lib/director/richtext_composite_object.rb +2 -4
  94. data/rakelib/lib/director/richtext_ctrl.rb +1 -1
  95. data/rakelib/lib/director/secret_store.rb +117 -0
  96. data/rakelib/lib/director/system_settings.rb +1 -1
  97. data/rakelib/lib/director/tree_event.rb +2 -2
  98. data/rakelib/lib/director/window.rb +4 -3
  99. data/rakelib/lib/extractor/function.rb +1 -1
  100. data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
  101. data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
  102. data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
  103. data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
  104. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  105. data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
  106. data/rakelib/lib/generate/doc/icon.yaml +10 -0
  107. data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
  108. data/rakelib/lib/generate/doc/log.yaml +1 -1
  109. data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
  110. data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
  111. data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
  112. data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
  113. data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
  114. data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
  115. data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
  116. data/rakelib/lib/generate/doc/secret_store.yaml +55 -0
  117. data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
  118. data/rakelib/lib/generate/doc/wizard.yaml +27 -0
  119. data/rakelib/lib/generate/doc.rb +5 -5
  120. data/rakelib/lib/generate/interface.rb +1 -1
  121. data/rakelib/lib/specs/interfaces.rb +4 -0
  122. data/rakelib/lib/swig_runner.rb +24 -3
  123. data/rakelib/lib/typemap/common.rb +10 -0
  124. data/rakelib/lib/typemap/points_list.rb +8 -2
  125. data/rakelib/lib/typemap/richtext.rb +17 -0
  126. data/rakelib/prepost.rake +8 -1
  127. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +4 -0
  128. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
  129. data/samples/dialogs/wizard.rb +20 -19
  130. data/samples/drawing/art/drawing/image.bmp +0 -0
  131. data/samples/drawing/art/drawing/mask.bmp +0 -0
  132. data/samples/drawing/art/drawing/pat35.bmp +0 -0
  133. data/samples/drawing/art/drawing/pat36.bmp +0 -0
  134. data/samples/drawing/art/drawing/pat4.bmp +0 -0
  135. data/samples/drawing/art/drawing/smile.xpm +42 -0
  136. data/samples/drawing/drawing.rb +2276 -0
  137. data/samples/drawing/tn_drawing.png +0 -0
  138. data/samples/html/html.rb +1 -1
  139. data/samples/propgrid/propgrid.rb +1 -1
  140. data/samples/propgrid/propgrid_minimal.rb +1 -1
  141. data/samples/propgrid/sample_props.rb +1 -1
  142. data/samples/sampler/editor.rb +13 -11
  143. data/samples/sampler/sample.rb +2 -0
  144. data/samples/sampler.rb +14 -10
  145. data/samples/text/richtext.rb +53 -0
  146. data/samples/text/scintilla.rb +1 -1
  147. data/samples/text/unicode.rb +4 -4
  148. data/tests/lib/wxapp_runner.rb +1 -1
  149. data/tests/test_config.rb +7 -4
  150. data/tests/test_ext_controls.rb +12 -5
  151. data/tests/test_secret_store.rb +83 -0
  152. data/tests/test_std_controls.rb +12 -12
  153. metadata +66 -47
  154. data/lib/wx/doc/extra/00_starting.md +0 -154
  155. data/lib/wx/doc/extra/01_packages.md +0 -180
  156. data/lib/wx/doc/extra/02_lifecycles.md +0 -166
  157. data/lib/wx/doc/extra/03_dialogs.md +0 -57
  158. data/lib/wx/doc/extra/04_enums.md +0 -143
  159. data/lib/wx/doc/extra/05_event-handling.md +0 -191
  160. data/lib/wx/doc/extra/06_geometry.md +0 -62
  161. data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
  162. data/lib/wx/doc/extra/08_extensions.md +0 -144
  163. data/lib/wx/doc/extra/09_exceptions.md +0 -54
  164. data/lib/wx/doc/extra/10_art.md +0 -111
  165. data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
  166. data/lib/wx/doc/extra/12_client_data.md +0 -89
  167. data/lib/wx/doc/extra/13_validators.md +0 -139
  168. data/lib/wx/doc/extra/14_config.md +0 -101
  169. data/lib/wx/doc/extra/15_persistence.md +0 -148
  170. data/rakefile +0 -14
  171. data/rakelib/lib/config/pkgman/arch.rb +0 -53
  172. data/rakelib/lib/config/pkgman/debian.rb +0 -66
  173. data/rakelib/lib/config/pkgman/rhel.rb +0 -54
  174. data/rakelib/lib/config/pkgman/suse.rb +0 -54
  175. data/samples/sampler/back.xpm +0 -21
  176. data/samples/sampler/copy.xpm +0 -44
  177. data/samples/sampler/cut.xpm +0 -46
  178. data/samples/sampler/filesave.xpm +0 -42
  179. data/samples/sampler/find.xpm +0 -62
  180. data/samples/sampler/findrepl.xpm +0 -63
  181. data/samples/sampler/forward.xpm +0 -21
  182. data/samples/sampler/paste.xpm +0 -46
  183. data/samples/sampler/redo.xpm +0 -58
  184. data/samples/sampler/undo.xpm +0 -58
@@ -12,7 +12,7 @@
12
12
  # Window : base class for all widgets and frames
13
13
  Wx::define_keyword_ctors(Wx::Window) do
14
14
  wx_ctor_params :id, :pos, :size, :style
15
- wx_ctor_params :name => 'window'
15
+ wx_ctor_params :name => Wx::PANEL_NAME_STR
16
16
  end
17
17
 
18
18
  ### FRAMES
@@ -22,27 +22,27 @@ end
22
22
  # Normal frame
23
23
  Wx::define_keyword_ctors(Wx::Frame) do
24
24
  wx_ctor_params :id, :title, :pos, :size, :style => Wx::DEFAULT_FRAME_STYLE
25
- wx_ctor_params :name => 'frame'
25
+ wx_ctor_params :name => Wx::FRAME_NAME_STR
26
26
  end
27
27
 
28
28
  # MDI child frame
29
29
  Wx::define_keyword_ctors(Wx::MDIChildFrame) do
30
30
  wx_ctor_params :id, :title, :pos, :size, :style => Wx::DEFAULT_FRAME_STYLE
31
- wx_ctor_params :name => 'frame'
31
+ wx_ctor_params :name => Wx::FRAME_NAME_STR
32
32
  end
33
33
 
34
34
  # MDI parent frame
35
35
  Wx::define_keyword_ctors(Wx::MDIParentFrame) do
36
36
  wx_ctor_params :id, :title, :pos, :size
37
37
  wx_ctor_params :style => Wx::DEFAULT_FRAME_STYLE|Wx::VSCROLL|Wx::HSCROLL
38
- wx_ctor_params :name => 'frame'
38
+ wx_ctor_params :name => Wx::FRAME_NAME_STR
39
39
  end
40
40
 
41
41
  # wxMiniFrame A frame with a small title bar
42
42
  Wx::define_keyword_ctors(Wx::MiniFrame) do
43
43
  wx_ctor_params :id, :title, :pos, :size
44
44
  wx_ctor_params :style => Wx::DEFAULT_FRAME_STYLE
45
- wx_ctor_params :name => 'frame'
45
+ wx_ctor_params :name => Wx::FRAME_NAME_STR
46
46
  end
47
47
 
48
48
  # wxPropertySheetDialog Property sheet dialog
@@ -72,31 +72,36 @@ end
72
72
  # A window whose colour changes according to current user settings
73
73
  Wx::define_keyword_ctors(Wx::Panel) do
74
74
  wx_ctor_params :id, :pos, :size, :style => Wx::TAB_TRAVERSAL
75
- wx_ctor_params :name => 'panel'
75
+ wx_ctor_params :name => Wx::PANEL_NAME_STR
76
76
  end
77
77
 
78
78
  # wxScrolledWindow Window with automatically managed scrollbars
79
79
  Wx::define_keyword_ctors(Wx::ScrolledWindow) do
80
80
  wx_ctor_params :id, :pos, :size, :style => Wx::VSCROLL|Wx::HSCROLL
81
- wx_ctor_params :name => 'scrolledWindow'
81
+ wx_ctor_params :name => Wx::SCROLLED_NAME_STR
82
+ end
83
+
84
+ Wx::define_keyword_ctors(Wx::ScrolledCanvas) do
85
+ wx_ctor_params :id, :pos, :size, :style => Wx::VSCROLL|Wx::HSCROLL
86
+ wx_ctor_params :name => Wx::SCROLLED_NAME_STR
82
87
  end
83
88
 
84
89
  # Window which can be split vertically or horizontally
85
90
  Wx::define_keyword_ctors(Wx::SplitterWindow) do
86
91
  wx_ctor_params :id, :pos, :size, :style => Wx::SP_3D
87
- wx_ctor_params :name => 'splitterWindow'
92
+ wx_ctor_params :name => Wx::SPLITTER_WINDOW_NAME_STR
88
93
  end
89
94
 
90
95
  # Implements the status bar on a frame
91
96
  Wx::define_keyword_ctors(Wx::StatusBar) do
92
97
  wx_ctor_params :id, :style => Wx::STB_SIZEGRIP
93
- wx_ctor_params :name => 'statusBar'
98
+ wx_ctor_params :name => Wx::STATUS_BAR_NAME_STR
94
99
  end
95
100
 
96
101
  # Toolbar class
97
102
  Wx::define_keyword_ctors(Wx::ToolBar) do
98
103
  wx_ctor_params :id, :pos, :size, :style => Wx::TB_HORIZONTAL|Wx::NO_BORDER
99
- wx_ctor_params :name => 'toolBar' # not as documented in Wx 2.6.3
104
+ wx_ctor_params :name => Wx::TOOL_BAR_NAME_STR
100
105
  end
101
106
 
102
107
  # ToolBarTool class
@@ -116,34 +121,34 @@ end
116
121
 
117
122
  # Similar to notebook but using choice control
118
123
  Wx::define_keyword_ctors(Wx::Choicebook) do
119
- wx_ctor_params :id, :pos, :size, :style, :name => 'choiceBook'
124
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::CHOICEBOOK_NAME_STR
120
125
  end
121
126
 
122
127
  # Notebook class
123
128
  Wx::define_keyword_ctors(Wx::Notebook) do
124
- wx_ctor_params :id, :pos, :size, :style, :name => 'noteBook'
129
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::NOTEBOOK_NAME_STR
125
130
  end
126
131
 
127
132
  # Similar to notebook but using list control
128
133
  Wx::define_keyword_ctors(Wx::Listbook) do
129
- wx_ctor_params :id, :pos, :size, :style, :name => 'listBook'
134
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::LISTBOOK_NAME_STR
130
135
  end
131
136
 
132
137
  # Similar to notebook but using toolbar
133
138
  Wx::define_keyword_ctors(Wx::Toolbook) do
134
- wx_ctor_params :id, :pos, :size, :style, :name => 'toolBook'
139
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::TOOLBOOK_NAME_STR
135
140
  end
136
141
 
137
142
  # Similar to notebook but using tree control
138
143
  Wx::define_keyword_ctors(Wx::Treebook) do
139
- wx_ctor_params :id, :pos, :size, :style, :name => 'treeBook'
144
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::TREEBOOK_NAME_STR
140
145
  end
141
146
 
142
147
  # wxSashWindow: Window with four optional sashes that can be dragged
143
148
  Wx::define_keyword_ctors(Wx::SashWindow) do
144
149
  wx_ctor_params :id, :pos, :size
145
150
  wx_ctor_params :style => Wx::CLIP_CHILDREN|Wx::SW_3D
146
- wx_ctor_params :name => 'sashWindow'
151
+ wx_ctor_params :name => Wx::SASH_WINDOW_NAME_STR
147
152
  end
148
153
 
149
154
  # wxSashLayoutWindow: Window that can be involved in an IDE-like layout
@@ -151,7 +156,7 @@ end
151
156
  Wx::define_keyword_ctors(Wx::SashLayoutWindow) do
152
157
  wx_ctor_params :id, :pos, :size
153
158
  wx_ctor_params :style => Wx::CLIP_CHILDREN|Wx::SW_3D
154
- wx_ctor_params :name => 'layoutWindow'
159
+ wx_ctor_params :name => Wx::SASH_LAYOUT_WINDOW_NAME_STR
155
160
  end
156
161
 
157
162
  # wxVScrolledWindow: As wxScrolledWindow but supports lines of variable height
@@ -173,7 +178,7 @@ end
173
178
  Wx::define_keyword_ctors(Wx::Dialog) do
174
179
  wx_ctor_params :id, :title => ''
175
180
  wx_ctor_params :pos, :size, :style => Wx::DEFAULT_DIALOG_STYLE
176
- wx_ctor_params :name => 'dialogBox'
181
+ wx_ctor_params :name => Wx::DIALOG_NAME_STR
177
182
  end
178
183
 
179
184
  # wxColourDialog Colour chooser dialog
@@ -186,7 +191,7 @@ Wx::define_keyword_ctors(Wx::DirDialog) do
186
191
  wx_ctor_params :message => 'Choose a directory'
187
192
  wx_ctor_params :default_path => ''
188
193
  wx_ctor_params :style => Wx::DD_DEFAULT_STYLE
189
- wx_ctor_params :pos, :size, :name => 'wxDirCtrl'
194
+ wx_ctor_params :pos, :size, :name => Wx::DIR_DIALOG_NAME_STR
190
195
  end
191
196
 
192
197
  # wxFileDialog File selector dialog
@@ -196,13 +201,13 @@ Wx::define_keyword_ctors(Wx::FileDialog) do
196
201
  wx_ctor_params :default_file => ''
197
202
  wx_ctor_params :wildcard => '*.*'
198
203
  wx_ctor_params :style => Wx::FD_DEFAULT_STYLE
199
- wx_ctor_params :pos, :size, :name => 'filedlg'
204
+ wx_ctor_params :pos, :size, :name => Wx::FILE_DIALOG_NAME_STR
200
205
  end
201
206
 
202
207
  # wxFindReplaceDialog Text search/replace dialog
203
208
  Wx::define_keyword_ctors(Wx::FindReplaceDialog) do
204
209
  wx_ctor_params :find_replace_data => Wx::FindReplaceData.new()
205
- wx_ctor_params :title => 'findReplaceDialog'
210
+ wx_ctor_params :title
206
211
  wx_ctor_params :style
207
212
  end
208
213
 
@@ -259,7 +264,7 @@ end
259
264
  Wx::define_keyword_ctors(Wx::PropertySheetDialog) do
260
265
  wx_ctor_params :id, :title
261
266
  wx_ctor_params :pos, :size, :style => Wx::DEFAULT_DIALOG_STYLE
262
- wx_ctor_params :name => 'propertySheetDialog'
267
+ wx_ctor_params :name => Wx::DIALOG_NAME_STR
263
268
  end
264
269
 
265
270
  ### CONTROLS
@@ -268,7 +273,7 @@ end
268
273
  Wx::define_keyword_ctors(Wx::Button) do
269
274
  wx_ctor_params :id, :label => ''
270
275
  wx_ctor_params :pos, :size, :style
271
- wx_ctor_params :validator, :name => 'button'
276
+ wx_ctor_params :validator, :name => Wx::BUTTON_NAME_STR
272
277
  end
273
278
 
274
279
  # Push button control, displaying a bitmap
@@ -276,7 +281,7 @@ Wx::define_keyword_ctors(Wx::BitmapButton) do
276
281
  wx_ctor_params :id
277
282
  wx_ctor_params :bitmap
278
283
  wx_ctor_params :pos, :size, :style => Wx::BU_AUTODRAW
279
- wx_ctor_params :validator, :name => 'button'
284
+ wx_ctor_params :validator, :name => Wx::BUTTON_NAME_STR
280
285
  end
281
286
 
282
287
  # Push button control, similar behavior as hyperlinks
@@ -284,57 +289,57 @@ Wx::define_keyword_ctors(Wx::CommandLinkButton) do
284
289
  wx_ctor_params :id, :mainLabel => ''
285
290
  wx_ctor_params :note => ''
286
291
  wx_ctor_params :pos, :size, :style
287
- wx_ctor_params :validator, :name => 'commandLinkButton'
292
+ wx_ctor_params :validator, :name => Wx::BUTTON_NAME_STR
288
293
  end
289
294
 
290
295
  # A button which stays pressed when clicked by user.
291
296
  Wx::define_keyword_ctors(Wx::ToggleButton) do
292
297
  wx_ctor_params :id, :label, :pos, :size, :style
293
- wx_ctor_params :validator, :name => 'toggleButton'
298
+ wx_ctor_params :validator, :name => Wx::CHECK_BOX_NAME_STR
294
299
  end
295
300
 
296
301
  Wx::define_keyword_ctors(Wx::BitmapToggleButton) do
297
302
  wx_ctor_params :id, :label, :pos, :size, :style
298
- wx_ctor_params :validator, :name => 'bitmapToggleButton'
303
+ wx_ctor_params :validator, :name => Wx::CHECK_BOX_NAME_STR
299
304
  end
300
305
 
301
306
  # Control showing an entire calendar month
302
307
  Wx::define_keyword_ctors(Wx::CalendarCtrl) do
303
308
  wx_ctor_params :id, :date => Time.now()
304
309
  wx_ctor_params :pos, :size, :style => Wx::CAL_SHOW_HOLIDAYS
305
- wx_ctor_params :name => 'calendar'
310
+ wx_ctor_params :name => Wx::CALENDAR_NAME_STR
306
311
  end
307
312
 
308
313
  # Checkbox control
309
314
  Wx::define_keyword_ctors(Wx::CheckBox) do
310
315
  wx_ctor_params :id, :label => ''
311
316
  wx_ctor_params :pos, :size, :style
312
- wx_ctor_params :validator, :name => 'checkBox'
317
+ wx_ctor_params :validator, :name => Wx::CHECK_BOX_NAME_STR
313
318
  end
314
319
 
315
320
  # wxListBox A list of strings for single or multiple selection
316
321
  Wx::define_keyword_ctors(Wx::ListBox) do
317
322
  wx_ctor_params :id, :pos, :size, :choices => []
318
323
  wx_ctor_params :style
319
- wx_ctor_params :validator, :name => 'listBox'
324
+ wx_ctor_params :validator, :name => Wx::LIST_BOX_NAME_STR
320
325
  end
321
326
 
322
327
  # A listbox with a checkbox to the left of each item
323
328
  Wx::define_keyword_ctors(Wx::CheckListBox) do
324
329
  wx_ctor_params :id, :pos, :size, :choices, :style
325
- wx_ctor_params :validator, :name => 'listBox'
330
+ wx_ctor_params :validator, :name => Wx::LIST_BOX_NAME_STR
326
331
  end
327
332
 
328
333
  # wxEditableListBox - an editable listbox is composite control that lets the user easily enter, delete and reorder a list of strings.
329
334
  Wx::define_keyword_ctors(Wx::EditableListBox) do
330
335
  wx_ctor_params :id, :label, :pos, :size, :style => Wx::EL_DEFAULT_STYLE
331
- wx_ctor_params :name => 'editableListBox'
336
+ wx_ctor_params :name => Wx::EDITABLE_LIST_BOX_NAME_STR
332
337
  end
333
338
 
334
339
  # wxChoice Choice control (a combobox without the editable area)
335
340
  Wx::define_keyword_ctors(Wx::Choice) do
336
341
  wx_ctor_params :id, :pos, :size, :choices, :style
337
- wx_ctor_params :validator, :name => 'choice'
342
+ wx_ctor_params :validator, :name => Wx::CHOICE_NAME_STR
338
343
  end
339
344
 
340
345
  # wxComboBox A choice with an editable area
@@ -342,7 +347,7 @@ Wx::define_keyword_ctors(Wx::ComboBox) do
342
347
  wx_ctor_params :id, :value => ''
343
348
  wx_ctor_params :pos, :size, :choices => []
344
349
  wx_ctor_params :style
345
- wx_ctor_params :validator, :name => 'comboBox'
350
+ wx_ctor_params :validator, :name => Wx::COMBO_BOX_NAME_STR
346
351
  end
347
352
 
348
353
  # wxBitmapComboBox A choice with an editable area
@@ -350,14 +355,14 @@ Wx::define_keyword_ctors(Wx::BitmapComboBox) do
350
355
  wx_ctor_params :id, :value => ''
351
356
  wx_ctor_params :pos, :size, :choices => []
352
357
  wx_ctor_params :style
353
- wx_ctor_params :validator, :name => 'comboBox'
358
+ wx_ctor_params :validator, :name => Wx::BITMAP_COMBO_BOX_NAME_STR
354
359
  end
355
360
 
356
361
  # wxComboCtrl
357
362
  Wx::define_keyword_ctors(Wx::ComboCtrl) do
358
363
  wx_ctor_params :id, :value => ''
359
364
  wx_ctor_params :pos, :size, :style
360
- wx_ctor_params :validator, :name => 'comboCtrl'
365
+ wx_ctor_params :validator, :name => Wx::COMBO_BOX_NAME_STR
361
366
  end
362
367
 
363
368
  # wxOwnerDrawnComboBox
@@ -365,14 +370,14 @@ Wx::define_keyword_ctors(Wx::OwnerDrawnComboBox) do
365
370
  wx_ctor_params :id, :value => ''
366
371
  wx_ctor_params :pos, :size, :choices => []
367
372
  wx_ctor_params :style
368
- wx_ctor_params :validator, :name => 'ownerDrawnComboBox'
373
+ wx_ctor_params :validator, :name => Wx::COMBO_BOX_NAME_STR
369
374
  end
370
375
 
371
376
  # wxGauge A control to represent a varying quantity, such as time
372
377
  # remaining
373
378
  Wx::define_keyword_ctors(Wx::Gauge) do
374
379
  wx_ctor_params :id, :range, :pos, :size, :style => Wx::GA_HORIZONTAL
375
- wx_ctor_params :validator, :name => 'gauge'
380
+ wx_ctor_params :validator, :name => Wx::GAUGE_NAME_STR
376
381
  end
377
382
 
378
383
  # wxGenericDirCtrl A control for displaying a directory tree
@@ -383,13 +388,13 @@ Wx::define_keyword_ctors(Wx::GenericDirCtrl) do
383
388
  :style => Wx::DIRCTRL_3D_INTERNAL|Wx::SUNKEN_BORDER
384
389
  wx_ctor_params :filter => ''
385
390
  wx_ctor_params :default_filter => 0
386
- wx_ctor_params :name => 'genericDirCtrl'
391
+ wx_ctor_params :name => Wx::TREE_CTRL_NAME_STR
387
392
  end
388
393
 
389
394
  # wxListCtrl A control for displaying lists of strings and/or icons, plus a multicolumn report view
390
395
  Wx::define_keyword_ctors(Wx::ListCtrl) do
391
396
  wx_ctor_params :id, :pos, :size, :style => Wx::LC_ICON
392
- wx_ctor_params :validator, :name => 'listCtrl'
397
+ wx_ctor_params :validator, :name => Wx::LIST_CTRL_NAME_STR
393
398
  end
394
399
 
395
400
  # wxListView A simpler interface (facade for wxListCtrl in report mode
@@ -397,7 +402,7 @@ end
397
402
  # wxTreeCtrl Tree (hierarchy) control
398
403
  Wx::define_keyword_ctors(Wx::TreeCtrl) do
399
404
  wx_ctor_params :id, :pos, :size, :style => Wx::TR_DEFAULT_STYLE
400
- wx_ctor_params :validator, :name => 'treeCtrl'
405
+ wx_ctor_params :validator, :name => Wx::TREE_CTRL_NAME_STR
401
406
  end
402
407
 
403
408
  # wxSpinCtrl A spin control - i.e. spin button and text control
@@ -407,7 +412,7 @@ Wx::define_keyword_ctors(Wx::SpinCtrl) do
407
412
  wx_ctor_params :min => 0
408
413
  wx_ctor_params :max => 100
409
414
  wx_ctor_params :initial => 0
410
- wx_ctor_params :name => 'spinCtrl'
415
+ wx_ctor_params :name => Wx::SPIN_CTRL_NAME_STR
411
416
  end
412
417
 
413
418
  # wxSpinCtrlDouble A spin control - i.e. spin button and text control
@@ -418,21 +423,21 @@ Wx::define_keyword_ctors(Wx::SpinCtrlDouble) do
418
423
  wx_ctor_params :max => 100
419
424
  wx_ctor_params :initial => 0
420
425
  wx_ctor_params :inc => 1
421
- wx_ctor_params :name => 'spinCtrlDouble'
426
+ wx_ctor_params :name => Wx::SPIN_CTRL_DOUBLE_NAME_STR
422
427
  end
423
428
 
424
429
  # One or more lines of non-editable text
425
430
  Wx::define_keyword_ctors(Wx::StaticText) do
426
- wx_ctor_params :id, :label, :pos, :size, :style, :name => 'staticText'
431
+ wx_ctor_params :id, :label, :pos, :size, :style, :name => Wx::STATIC_TEXT_NAME_STR
427
432
  end
428
433
 
429
434
  Wx::define_keyword_ctors(Wx::StaticBox) do
430
- wx_ctor_params :id, :label, :pos, :size, :style, :name => 'staticBox'
435
+ wx_ctor_params :id, :label, :pos, :size, :style, :name => Wx::STATIC_BOX_NAME_STR
431
436
  end
432
437
 
433
438
  Wx::define_keyword_ctors(Wx::StaticLine) do
434
439
  wx_ctor_params :id, :pos, :size, :style => Wx::LI_HORIZONTAL
435
- wx_ctor_params :name => 'staticBox'
440
+ wx_ctor_params :name => Wx::STATIC_LINE_NAME_STR
436
441
  end
437
442
 
438
443
  # wxStaticBitmap A control to display a bitmap
@@ -457,14 +462,14 @@ Wx::define_keyword_ctors(Wx::RadioBox) do
457
462
  wx_ctor_params :pos, :size, :choices => []
458
463
  wx_ctor_params :major_dimension => 0
459
464
  wx_ctor_params :style => Wx::RA_SPECIFY_COLS
460
- wx_ctor_params :validator, :name => 'radioBox'
465
+ wx_ctor_params :validator, :name => Wx::RADIO_BOX_NAME_STR
461
466
  end
462
467
 
463
468
  # wxRadioButton: A round button used with others in a mutually exclusive way
464
469
  Wx::define_keyword_ctors(Wx::RadioButton) do
465
470
  wx_ctor_params :id, :label => ''
466
471
  wx_ctor_params :pos, :size, :style => 0
467
- wx_ctor_params :validator, :name => 'radioButton'
472
+ wx_ctor_params :validator, :name => Wx::RADIO_BUTTON_NAME_STR
468
473
  end
469
474
 
470
475
  # wxSlider A slider that can be dragged by the user
@@ -472,19 +477,19 @@ Wx::define_keyword_ctors(Wx::Slider) do
472
477
  wx_ctor_params :id, :value => 0
473
478
  wx_ctor_params :min_value, :max_value
474
479
  wx_ctor_params :pos, :size, :style => Wx::SL_HORIZONTAL
475
- wx_ctor_params :validator, :name => 'slider'
480
+ wx_ctor_params :validator, :name => Wx::SLIDER_NAME_STR
476
481
  end
477
482
 
478
483
  # wxSpinButton - Has two small up and down (or left and right) arrow buttons
479
484
  Wx::define_keyword_ctors(Wx::SpinButton) do
480
485
  wx_ctor_params :id, :pos, :size, :style => Wx::SP_HORIZONTAL
481
- wx_ctor_params :name => 'spinButton'
486
+ wx_ctor_params :name => Wx::SPIN_BUTTON_NAME_STR
482
487
  end
483
488
 
484
489
  # wxScrollBar - standalone scrollbar with arrows and thumb
485
490
  Wx::define_keyword_ctors(Wx::ScrollBar) do
486
491
  wx_ctor_params :id, :pos, :size, :style => Wx::SB_HORIZONTAL
487
- wx_ctor_params :validator, :name => 'scrollBar'
492
+ wx_ctor_params :validator, :name => Wx::SCROLL_BAR_NAME_STR
488
493
  end
489
494
 
490
495
 
@@ -494,7 +499,7 @@ end
494
499
  Wx::define_keyword_ctors(Wx::TextCtrl) do
495
500
  wx_ctor_params :id, :value => ''
496
501
  wx_ctor_params :pos, :size, :style
497
- wx_ctor_params :validator, :name => 'textCtrl'
502
+ wx_ctor_params :validator, :name => Wx::TEXT_CTRL_NAME_STR
498
503
  end
499
504
 
500
505
  # wxHyperTextCtrl - display a clickable URL
@@ -502,63 +507,63 @@ Wx::define_keyword_ctors(Wx::HyperlinkCtrl) do
502
507
  wx_ctor_params :id, :label => ''
503
508
  wx_ctor_params :url => ''
504
509
  wx_ctor_params :pos, :size, :style => Wx::HL_DEFAULT_STYLE
505
- wx_ctor_params :name => 'hyperlink'
510
+ wx_ctor_params :name => Wx::HYPERLINK_CTRL_NAME_STR
506
511
  end
507
512
 
508
513
  Wx::define_keyword_ctors(Wx::CollapsiblePane) do
509
514
  wx_ctor_params :id, :label => ''
510
515
  wx_ctor_params :pos, :size, :style => 0
511
- wx_ctor_params :validator, :name => 'collapsiblePane'
516
+ wx_ctor_params :validator, :name => Wx::COLLAPSIBLE_PANE_NAME_STR
512
517
  end
513
518
 
514
519
  Wx::define_keyword_ctors(Wx::MediaCtrl) do
515
520
  wx_ctor_params :id, :filename => ''
516
521
  wx_ctor_params :pos, :size, :style => 0
517
522
  wx_ctor_params :backend => ''
518
- wx_ctor_params :validator, :name => 'mediaCtrl'
523
+ wx_ctor_params :validator, :name => Wx::MEDIA_CTRL_NAME_STR
519
524
  end if Wx.has_feature?(:USE_MEDIACTRL)
520
525
 
521
526
  Wx::define_keyword_ctors(Wx::SearchCtrl) do
522
527
  wx_ctor_params :id, :value => ''
523
528
  wx_ctor_params :pos, :size, :style => 0
524
- wx_ctor_params :validator, :name => 'searchCtrl'
529
+ wx_ctor_params :validator, :name => Wx::SEARCH_CTRL_NAME_STR
525
530
  end
526
531
 
527
532
  Wx::define_keyword_ctors(Wx::AnimationCtrl) do
528
533
  wx_ctor_params :id, :anim
529
534
  wx_ctor_params :pos, :size, :style => Wx::AC_DEFAULT_STYLE
530
- wx_ctor_params :name => 'animationCtrl'
535
+ wx_ctor_params :name => Wx::ANIMATION_CTRL_NAME_STR
531
536
  end
532
537
 
533
538
  Wx::define_keyword_ctors(Wx::VScrolledWindow) do
534
- wx_ctor_params :id, :pos, :size, :style, :name => 'VScrolledWindowNameStr'
539
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::PANEL_NAME_STR
535
540
  end
536
541
 
537
542
  Wx::define_keyword_ctors(Wx::VListBox) do
538
- wx_ctor_params :id, :pos, :size, :style, :name => 'VListBoxNameStr'
543
+ wx_ctor_params :id, :pos, :size, :style, :name => Wx::V_LIST_BOX_NAME_STR
539
544
  end
540
545
 
541
546
  # wxDatePickerCtrl Small date picker control
542
547
  Wx::define_keyword_ctors(Wx::DatePickerCtrl) do
543
548
  wx_ctor_params :id, :dt, :pos, :size, :style => Wx::DP_DEFAULT|Wx::DP_SHOWCENTURY
544
- wx_ctor_params :validator, :name => 'datePickerCtrl'
549
+ wx_ctor_params :validator, :name => Wx::DATE_PICKER_CTRL_NAME_STR
545
550
  end
546
551
 
547
552
  Wx::define_keyword_ctors(Wx::TimePickerCtrl) do
548
553
  wx_ctor_params :id, :dt, :pos, :size, :style => Wx::TP_DEFAULT
549
- wx_ctor_params :validator, :name => 'timePickerCtrl'
554
+ wx_ctor_params :validator, :name => Wx::TIME_PICKER_CTRL_NAME_STR
550
555
  end
551
556
 
552
557
  Wx::define_keyword_ctors(Wx::ColourPickerCtrl) do
553
558
  wx_ctor_params :id, :colour => :BLACK
554
559
  wx_ctor_params :pos, :size, :style => Wx::CLRP_DEFAULT_STYLE
555
- wx_ctor_params :validator, :name => 'colourPickerCtrl'
560
+ wx_ctor_params :validator, :name => Wx::COLOUR_PICKER_CTRL_NAME_STR
556
561
  end
557
562
 
558
563
  Wx::define_keyword_ctors(Wx::FontPickerCtrl) do
559
564
  wx_ctor_params :id, :font => Wx::NULL_FONT
560
565
  wx_ctor_params :pos, :size, :style => Wx::FNTP_DEFAULT_STYLE
561
- wx_ctor_params :validator, :name => 'fontPickerCtrl'
566
+ wx_ctor_params :validator, :name => Wx::FONT_PICKER_CTRL_NAME_STR
562
567
  end
563
568
 
564
569
  Wx::define_keyword_ctors(Wx::FilePickerCtrl) do
@@ -566,14 +571,14 @@ Wx::define_keyword_ctors(Wx::FilePickerCtrl) do
566
571
  wx_ctor_params :message => Wx::FILE_SELECTOR_PROMPT_STR
567
572
  wx_ctor_params :wildcard => Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR
568
573
  wx_ctor_params :pos, :size, :style => Wx::FLP_DEFAULT_STYLE
569
- wx_ctor_params :validator, :name => 'filePickerCtrl'
574
+ wx_ctor_params :validator, :name => Wx::FILE_PICKER_CTRL_NAME_STR
570
575
  end
571
576
 
572
577
  Wx::define_keyword_ctors(Wx::DirPickerCtrl) do
573
578
  wx_ctor_params :id, :path => ''
574
579
  wx_ctor_params :message => Wx::DIR_SELECTOR_PROMPT_STR
575
580
  wx_ctor_params :pos, :size, :style => Wx::DIRP_DEFAULT_STYLE
576
- wx_ctor_params :validator, :name => 'dirPickerCtrl'
581
+ wx_ctor_params :validator, :name => Wx::DIR_PICKER_CTRL_NAME_STR
577
582
  end
578
583
 
579
584
  Wx::define_keyword_ctors(Wx::FileCtrl) do
@@ -581,18 +586,18 @@ Wx::define_keyword_ctors(Wx::FileCtrl) do
581
586
  wx_ctor_params :defaultFilename => ''
582
587
  wx_ctor_params :wildcard => Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR
583
588
  wx_ctor_params :style => Wx::FC_DEFAULT_STYLE
584
- wx_ctor_params :pos, :size, :name => 'fileCtrl'
589
+ wx_ctor_params :pos, :size, :name => Wx::FILE_CTRL_NAME_STR
585
590
  end
586
591
 
587
592
  Wx::define_keyword_ctors(Wx::ActivityIndicator) do
588
593
  wx_ctor_params :id, :pos, :size, :style => Wx::AC_DEFAULT_STYLE
589
- wx_ctor_params :name => 'activityIndicator'
594
+ wx_ctor_params :name => Wx::ACTIVITY_INDICATOR_NAME_STR
590
595
  end
591
596
 
592
597
  Wx::define_keyword_ctors(Wx::BannerWindow) do
593
598
  wx_ctor_params :id, :dir => Wx::Direction::LEFT
594
599
  wx_ctor_params :pos, :size, :style
595
- wx_ctor_params :name => 'bannerwindow'
600
+ wx_ctor_params :name => Wx::BANNER_WINDOW_NAME_STR
596
601
  end
597
602
 
598
603
  Wx::define_keyword_ctors(Wx::InfoBar) do
@@ -601,16 +606,16 @@ end
601
606
 
602
607
  Wx::define_keyword_ctors(Wx::RearrangeList) do
603
608
  wx_ctor_params :id, :pos, :size, :order, :items, :style
604
- wx_ctor_params :validator, :name => 'rearrangeList'
609
+ wx_ctor_params :validator, :name => Wx::REARRANGE_LIST_NAME_STR
605
610
  end
606
611
 
607
612
  Wx::define_keyword_ctors(Wx::RearrangeCtrl) do
608
613
  wx_ctor_params :id, :pos, :size, :order, :items, :style
609
- wx_ctor_params :validator, :name => 'rearrangeCtrl'
614
+ wx_ctor_params :validator, :name => Wx::REARRANGE_LIST_NAME_STR
610
615
  end
611
616
 
612
617
  Wx::define_keyword_ctors(Wx::HeaderCtrlSimple) do
613
618
  wx_ctor_params :winid => Wx::ID_ANY
614
619
  wx_ctor_params :pos, :size, :style => Wx::HD_DEFAULT_STYLE
615
- wx_ctor_params :name => 'headerCtrlSimple'
620
+ wx_ctor_params :name => Wx::HEADER_CTRL_NAME_STR
616
621
  end
@@ -12,11 +12,11 @@
12
12
  # wxPropertyGrid
13
13
  Wx::define_keyword_ctors(Wx::PG::PropertyGrid) do
14
14
  wx_ctor_params :id, :pos, :size, :style => Wx::PG::PG_DEFAULT_STYLE
15
- wx_ctor_params :name => 'PropertyGrid'
15
+ wx_ctor_params :name => Wx::PROPERTY_GRID_NAME_STR
16
16
  end
17
17
 
18
18
  # wxPropertyGridManager
19
19
  Wx::define_keyword_ctors(Wx::PG::PropertyGridManager) do
20
20
  wx_ctor_params :id, :pos, :size, :style => Wx::PG::PG_DEFAULT_STYLE
21
- wx_ctor_params :name => 'PropertyGridManager'
21
+ wx_ctor_params :name => Wx::PROPERTY_GRID_MANAGER_NAME_STR
22
22
  end
@@ -14,6 +14,18 @@ module Wx::PG
14
14
 
15
15
  PG_DEFAULT_IMAGE_SIZE = Wx::DEFAULT_SIZE
16
16
 
17
+ if Wx::WXWIDGETS_VERSION >= '3.3.0'
18
+ # backward compatibility constants
19
+ PG_FULL_VALUE = PGPropValFormatFlags::FullValue
20
+ PG_REPORT_ERROR = PGPropValFormatFlags::ReportError
21
+ PG_PROPERTY_SPECIFIC = PGPropValFormatFlags::PropertySpecific
22
+ PG_EDITABLE_VALUE = PGPropValFormatFlags::EditableValue
23
+ PG_COMPOSITE_FRAGMENT = PGPropValFormatFlags::CompositeFragment
24
+ PG_UNEDITABLE_COMPOSITE_FRAGMENT = PGPropValFormatFlags::UneditableCompositeFragment
25
+ PG_VALUE_IS_CURRENT = PGPropValFormatFlags::ValueIsCurrent
26
+ PG_PROGRAMMATIC_VALUE = PGPropValFormatFlags::ProgrammaticValue
27
+ end
28
+
17
29
  class PGProperty
18
30
 
19
31
  wx_each_attribute = instance_method :each_attribute
@@ -12,7 +12,7 @@
12
12
  # wxRibbonControl
13
13
  Wx::define_keyword_ctors(Wx::RBN::RibbonControl) do
14
14
  wx_ctor_params :id, :pos, :size, :style, :validator
15
- wx_ctor_params :name => 'RibbonControl'
15
+ wx_ctor_params :name => Wx::CONTROL_NAME_STR
16
16
  end
17
17
 
18
18
  # wxRibbonBar
@@ -12,7 +12,7 @@
12
12
  Wx::define_keyword_ctors(Wx::RTC::RichTextCtrl) do
13
13
  wx_ctor_params :id, :value => ''
14
14
  wx_ctor_params :pos, :size, :style => Wx::TE_MULTILINE
15
- wx_ctor_params :validator, :name => 'textCtrl'
15
+ wx_ctor_params :validator, :name => Wx::TEXT_CTRL_NAME_STR
16
16
  end
17
17
 
18
18
  Wx::define_keyword_ctors(Wx::RTC::RichTextStyleListBox) do
@@ -11,5 +11,5 @@
11
11
 
12
12
  Wx::define_keyword_ctors('StyledTextCtrl') do
13
13
  wx_ctor_params :id, :pos, :size, :style => 0
14
- wx_ctor_params :name => 'styledTextCtrl'
14
+ wx_ctor_params :name => Wx::STC_NAME_STR
15
15
  end
data/lib/wx/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # This software is released under the MIT license.
4
4
 
5
5
  module Wx
6
- WXRUBY_VERSION = '0.9.7'
6
+ WXRUBY_VERSION = '1.0.0'
7
7
  end
@@ -20,7 +20,7 @@ module WxRuby
20
20
  def commands
21
21
  @commands ||= ::Hash.new do |hash, key|
22
22
  STDERR.puts "Unknown command #{key} specified."
23
- exit(1)
23
+ exit(127)
24
24
  end
25
25
  end
26
26
  private :commands
@@ -73,7 +73,7 @@ module WxRuby
73
73
  describe_all
74
74
  exit(0)
75
75
  end
76
- opts.order!(args)
76
+ opts.order!(args) rescue ($stderr.puts $!.message; exit(127))
77
77
  end
78
78
  end
79
79
  end
@@ -81,9 +81,7 @@ module WxRuby
81
81
  def self.run(argv = ARGV)
82
82
  # parse global options (upto first command)
83
83
  argv = WxRuby::Commands.parse_args(argv)
84
- while !argv.empty?
85
- WxRuby::Commands.run(argv.shift, argv)
86
- end
84
+ WxRuby::Commands.run(argv.shift, argv) unless argv.empty?
87
85
  end
88
86
  end
89
87