wxruby3 0.9.0.pre.rc.1 → 0.9.0.pre.rc.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +51 -22
  3. data/README.md +38 -6
  4. data/assets/hello_button-macos.png +0 -0
  5. data/assets/hello_button-msw.png +0 -0
  6. data/assets/hello_button_clicked-macos.png +0 -0
  7. data/assets/hello_button_clicked-msw.png +0 -0
  8. data/assets/hello_button_clicked_combi.png +0 -0
  9. data/assets/hello_world-macos.png +0 -0
  10. data/assets/hello_world-msw.png +0 -0
  11. data/assets/hello_world_combi.png +0 -0
  12. data/lib/wx/core/brush.rb +6 -0
  13. data/lib/wx/core/evthandler.rb +12 -2
  14. data/lib/wx/core/font.rb +22 -14
  15. data/lib/wx/core/helpprovider.rb +2 -2
  16. data/lib/wx/core/menu.rb +5 -0
  17. data/lib/wx/core/pen.rb +6 -0
  18. data/lib/wx/core/window.rb +28 -1
  19. data/lib/wx/doc/app.rb +40 -0
  20. data/lib/wx/doc/brush.rb +17 -0
  21. data/lib/wx/doc/font.rb +27 -0
  22. data/lib/wx/doc/pen.rb +17 -0
  23. data/lib/wx/doc/radio_box.rb +20 -0
  24. data/lib/wx/doc/window.rb +27 -0
  25. data/lib/wx/keyword_defs.rb +77 -76
  26. data/lib/wx/prt/keyword_defs.rb +5 -1
  27. data/lib/wx/version.rb +1 -1
  28. data/rakelib/install.rb +17 -6
  29. data/rakelib/lib/config/linux.rb +4 -2
  30. data/rakelib/lib/config/macosx.rb +120 -1
  31. data/rakelib/lib/config/mingw.rb +6 -1
  32. data/rakelib/lib/config/unixish.rb +26 -11
  33. data/rakelib/lib/config.rb +15 -6
  34. data/rakelib/lib/core/package.rb +1 -1
  35. data/rakelib/lib/core/spec.rb +2 -2
  36. data/rakelib/lib/director/app.rb +30 -1
  37. data/rakelib/lib/director/aui_toolbar.rb +41 -0
  38. data/rakelib/lib/director/brush.rb +10 -1
  39. data/rakelib/lib/director/combobox.rb +1 -1
  40. data/rakelib/lib/director/context_help_button.rb +23 -0
  41. data/rakelib/lib/director/dialog.rb +8 -2
  42. data/rakelib/lib/director/font.rb +12 -3
  43. data/rakelib/lib/director/help_provider.rb +8 -10
  44. data/rakelib/lib/director/hyperlink_event.rb +22 -0
  45. data/rakelib/lib/director/menu.rb +0 -3
  46. data/rakelib/lib/director/menu_bar.rb +3 -0
  47. data/rakelib/lib/director/pen.rb +10 -1
  48. data/rakelib/lib/director/popup_window.rb +18 -0
  49. data/rakelib/lib/director/radio_box.rb +15 -4
  50. data/rakelib/lib/director/searchctrl.rb +2 -1
  51. data/rakelib/lib/director/static_box.rb +1 -1
  52. data/rakelib/lib/director/styled_text_ctrl.rb +1 -1
  53. data/rakelib/lib/director/text_entry.rb +5 -0
  54. data/rakelib/lib/director/textctrl.rb +1 -1
  55. data/rakelib/lib/director/window.rb +37 -1
  56. data/rakelib/lib/generate/doc/context_help_button.yaml +16 -0
  57. data/rakelib/lib/generate/doc/event_blocker.yaml +27 -0
  58. data/rakelib/lib/generate/doc/event_filter.yaml +47 -0
  59. data/rakelib/lib/generate/doc/file_dialog.yaml +68 -0
  60. data/rakelib/lib/generate/doc.rb +1 -1
  61. data/rakelib/lib/generate/interface.rb +11 -10
  62. data/rakelib/lib/specs/interfaces.rb +4 -1
  63. data/samples/aui/aui.rb +432 -363
  64. data/samples/propgrid/propgrid.rb +3 -0
  65. data/samples/sampler/editor.rb +33 -25
  66. data/samples/sampler/sample.rb +2 -2
  67. data/samples/sampler/stc_editor.rb +4 -2
  68. data/tests/lib/item_container_tests.rb +82 -0
  69. data/tests/lib/text_entry_tests.rb +80 -0
  70. data/tests/lib/wxapp_runner.rb +12 -0
  71. data/tests/lib/wxframe_runner.rb +89 -4
  72. data/tests/test_ext_controls.rb +28 -0
  73. data/tests/test_font.rb +239 -0
  74. data/tests/test_intl.rb +5 -1
  75. data/tests/test_std_controls.rb +263 -37
  76. data/tests/test_window.rb +340 -0
  77. metadata +28 -2
@@ -3,7 +3,7 @@
3
3
  # Adapted from wxRuby2.
4
4
 
5
5
  # Window : base class for all widgets and frames
6
- Wx::define_keyword_ctors('Window') do
6
+ Wx::define_keyword_ctors(Wx::Window) do
7
7
  wx_ctor_params :id, :pos, :size, :style
8
8
  wx_ctor_params :name => 'window'
9
9
  end
@@ -13,26 +13,26 @@ end
13
13
  # wxTopLevelWindow ABSTRACT: Any top level window, dialog or frame
14
14
 
15
15
  # Normal frame
16
- Wx::define_keyword_ctors('Frame') do
16
+ Wx::define_keyword_ctors(Wx::Frame) do
17
17
  wx_ctor_params :id, :title, :pos, :size, :style => Wx::DEFAULT_FRAME_STYLE
18
18
  wx_ctor_params :name => 'frame'
19
19
  end
20
20
 
21
21
  # MDI child frame
22
- Wx::define_keyword_ctors('MDIChildFrame') do
22
+ Wx::define_keyword_ctors(Wx::MDIChildFrame) do
23
23
  wx_ctor_params :id, :title, :pos, :size, :style => Wx::DEFAULT_FRAME_STYLE
24
24
  wx_ctor_params :name => 'frame'
25
25
  end
26
26
 
27
27
  # MDI parent frame
28
- Wx::define_keyword_ctors('MDIParentFrame') do
28
+ Wx::define_keyword_ctors(Wx::MDIParentFrame) do
29
29
  wx_ctor_params :id, :title, :pos, :size
30
30
  wx_ctor_params :style => Wx::DEFAULT_FRAME_STYLE|Wx::VSCROLL|Wx::HSCROLL
31
31
  wx_ctor_params :name => 'frame'
32
32
  end
33
33
 
34
34
  # wxMiniFrame A frame with a small title bar
35
- Wx::define_keyword_ctors('MiniFrame') do
35
+ Wx::define_keyword_ctors(Wx::MiniFrame) do
36
36
  wx_ctor_params :id, :title, :pos, :size
37
37
  wx_ctor_params :style => Wx::DEFAULT_FRAME_STYLE
38
38
  wx_ctor_params :name => 'frame'
@@ -42,7 +42,7 @@ end
42
42
  # wxTipWindow Shows text in a small window
43
43
 
44
44
  # wxWizard A wizard dialog
45
- Wx::define_keyword_ctors('Wizard') do
45
+ Wx::define_keyword_ctors(Wx::Wizard) do
46
46
  wx_ctor_params :id
47
47
  wx_ctor_params :title
48
48
  wx_ctor_params :bitmap
@@ -63,37 +63,37 @@ Wx::define_keyword_ctors('GLCanvas') do
63
63
  end
64
64
 
65
65
  # A window whose colour changes according to current user settings
66
- Wx::define_keyword_ctors('Panel') do
66
+ Wx::define_keyword_ctors(Wx::Panel) do
67
67
  wx_ctor_params :id, :pos, :size, :style => Wx::TAB_TRAVERSAL
68
68
  wx_ctor_params :name => 'panel'
69
69
  end
70
70
 
71
71
  # wxScrolledWindow Window with automatically managed scrollbars
72
- Wx::define_keyword_ctors('ScrolledWindow') do
72
+ Wx::define_keyword_ctors(Wx::ScrolledWindow) do
73
73
  wx_ctor_params :id, :pos, :size, :style => Wx::VSCROLL|Wx::HSCROLL
74
74
  wx_ctor_params :name => 'scrolledWindow'
75
75
  end
76
76
 
77
77
  # Window which can be split vertically or horizontally
78
- Wx::define_keyword_ctors('SplitterWindow') do
78
+ Wx::define_keyword_ctors(Wx::SplitterWindow) do
79
79
  wx_ctor_params :id, :pos, :size, :style => Wx::SP_3D
80
80
  wx_ctor_params :name => 'splitterWindow'
81
81
  end
82
82
 
83
83
  # Implements the status bar on a frame
84
- Wx::define_keyword_ctors('StatusBar') do
84
+ Wx::define_keyword_ctors(Wx::StatusBar) do
85
85
  wx_ctor_params :id, :style => Wx::STB_SIZEGRIP
86
86
  wx_ctor_params :name => 'statusBar'
87
87
  end
88
88
 
89
89
  # Toolbar class
90
- Wx::define_keyword_ctors('ToolBar') do
90
+ Wx::define_keyword_ctors(Wx::ToolBar) do
91
91
  wx_ctor_params :id, :pos, :size, :style => Wx::TB_HORIZONTAL|Wx::NO_BORDER
92
92
  wx_ctor_params :name => 'toolBar' # not as documented in Wx 2.6.3
93
93
  end
94
94
 
95
95
  # ToolBarTool class
96
- Wx::define_keyword_ctors('ToolBarTool') do
96
+ Wx::define_keyword_ctors(Wx::ToolBarTool) do
97
97
  # By default we want Wx to generate an id for us, thus it doesn't
98
98
  # respect the wxWidgets default constructor value which is
99
99
  # ID_SEPARATOR
@@ -108,32 +108,32 @@ Wx::define_keyword_ctors('ToolBarTool') do
108
108
  end
109
109
 
110
110
  # Similar to notebook but using choice control
111
- Wx::define_keyword_ctors('Choicebook') do
111
+ Wx::define_keyword_ctors(Wx::Choicebook) do
112
112
  wx_ctor_params :id, :pos, :size, :style, :name => 'choiceBook'
113
113
  end
114
114
 
115
115
  # Notebook class
116
- Wx::define_keyword_ctors('Notebook') do
116
+ Wx::define_keyword_ctors(Wx::Notebook) do
117
117
  wx_ctor_params :id, :pos, :size, :style, :name => 'noteBook'
118
118
  end
119
119
 
120
120
  # Similar to notebook but using list control
121
- Wx::define_keyword_ctors('Listbook') do
121
+ Wx::define_keyword_ctors(Wx::Listbook) do
122
122
  wx_ctor_params :id, :pos, :size, :style, :name => 'listBook'
123
123
  end
124
124
 
125
125
  # Similar to notebook but using toolbar
126
- Wx::define_keyword_ctors('Toolbook') do
126
+ Wx::define_keyword_ctors(Wx::Toolbook) do
127
127
  wx_ctor_params :id, :pos, :size, :style, :name => 'toolBook'
128
128
  end
129
129
 
130
130
  # Similar to notebook but using tree control
131
- Wx::define_keyword_ctors('Treebook') do
131
+ Wx::define_keyword_ctors(Wx::Treebook) do
132
132
  wx_ctor_params :id, :pos, :size, :style, :name => 'treeBook'
133
133
  end
134
134
 
135
135
  # wxSashWindow: Window with four optional sashes that can be dragged
136
- Wx::define_keyword_ctors('SashWindow') do
136
+ Wx::define_keyword_ctors(Wx::SashWindow) do
137
137
  wx_ctor_params :id, :pos, :size
138
138
  wx_ctor_params :style => Wx::CLIP_CHILDREN|Wx::SW_3D
139
139
  wx_ctor_params :name => 'sashWindow'
@@ -141,7 +141,7 @@ end
141
141
 
142
142
  # wxSashLayoutWindow: Window that can be involved in an IDE-like layout
143
143
  # arrangement
144
- Wx::define_keyword_ctors('SashLayoutWindow') do
144
+ Wx::define_keyword_ctors(Wx::SashLayoutWindow) do
145
145
  wx_ctor_params :id, :pos, :size
146
146
  wx_ctor_params :style => Wx::CLIP_CHILDREN|Wx::SW_3D
147
147
  wx_ctor_params :name => 'layoutWindow'
@@ -150,12 +150,12 @@ end
150
150
  # wxVScrolledWindow: As wxScrolledWindow but supports lines of variable height
151
151
 
152
152
  # wxWizardPage: A base class for the page in wizard dialog.
153
- Wx::define_keyword_ctors('WizardPage') do
153
+ Wx::define_keyword_ctors(Wx::WizardPage) do
154
154
  wx_ctor_params :bitmap => Wx::NULL_BITMAP
155
155
  end
156
156
 
157
157
  # wxWizardPageSimple: A page in wizard dialog.
158
- Wx::define_keyword_ctors('WizardPageSimple') do
158
+ Wx::define_keyword_ctors(Wx::WizardPageSimple) do
159
159
  wx_ctor_params :prev => nil
160
160
  wx_ctor_params :next => nil
161
161
  wx_ctor_params :bitmap
@@ -163,19 +163,19 @@ end
163
163
 
164
164
  ### DIALOGS
165
165
  # wxDialog Base class for common dialogs
166
- Wx::define_keyword_ctors('Dialog') do
166
+ Wx::define_keyword_ctors(Wx::Dialog) do
167
167
  wx_ctor_params :id, :title => ''
168
168
  wx_ctor_params :pos, :size, :style => Wx::DEFAULT_DIALOG_STYLE
169
169
  wx_ctor_params :name => 'dialogBox'
170
170
  end
171
171
 
172
172
  # wxColourDialog Colour chooser dialog
173
- Wx::define_keyword_ctors('ColourDialog') do
173
+ Wx::define_keyword_ctors(Wx::ColourDialog) do
174
174
  wx_ctor_params :colour_data => nil
175
175
  end
176
176
 
177
177
  # wxDirDialog Directory selector dialog
178
- Wx::define_keyword_ctors('DirDialog') do
178
+ Wx::define_keyword_ctors(Wx::DirDialog) do
179
179
  wx_ctor_params :message => 'Choose a directory'
180
180
  wx_ctor_params :default_path => ''
181
181
  wx_ctor_params :style => Wx::DD_DEFAULT_STYLE
@@ -183,7 +183,7 @@ Wx::define_keyword_ctors('DirDialog') do
183
183
  end
184
184
 
185
185
  # wxFileDialog File selector dialog
186
- Wx::define_keyword_ctors('FileDialog') do
186
+ Wx::define_keyword_ctors(Wx::FileDialog) do
187
187
  wx_ctor_params :message => 'Choose a file'
188
188
  wx_ctor_params :default_dir => ''
189
189
  wx_ctor_params :default_file => ''
@@ -193,14 +193,14 @@ Wx::define_keyword_ctors('FileDialog') do
193
193
  end
194
194
 
195
195
  # wxFindReplaceDialog Text search/replace dialog
196
- Wx::define_keyword_ctors('FindReplaceDialog') do
196
+ Wx::define_keyword_ctors(Wx::FindReplaceDialog) do
197
197
  wx_ctor_params :find_replace_data => Wx::FindReplaceData.new()
198
198
  wx_ctor_params :title => 'findReplaceDialog'
199
199
  wx_ctor_params :style
200
200
  end
201
201
 
202
202
  # Dialog to get one or more selections from a list
203
- Wx::define_keyword_ctors('MultiChoiceDialog') do
203
+ Wx::define_keyword_ctors(Wx::MultiChoiceDialog) do
204
204
  wx_ctor_params :message => ''
205
205
  wx_ctor_params :caption => ''
206
206
  wx_ctor_params :choices => []
@@ -210,7 +210,7 @@ Wx::define_keyword_ctors('MultiChoiceDialog') do
210
210
  end
211
211
 
212
212
  # Dialog to get a single selection from a list and return the string
213
- Wx::define_keyword_ctors('SingleChoiceDialog') do
213
+ Wx::define_keyword_ctors(Wx::SingleChoiceDialog) do
214
214
  wx_ctor_params :message => ''
215
215
  wx_ctor_params :caption => ''
216
216
  wx_ctor_params :choices => []
@@ -221,7 +221,7 @@ Wx::define_keyword_ctors('SingleChoiceDialog') do
221
221
  end
222
222
 
223
223
  # Dialog to get a single line of text from the user
224
- Wx::define_keyword_ctors('TextEntryDialog') do
224
+ Wx::define_keyword_ctors(Wx::TextEntryDialog) do
225
225
  wx_ctor_params :message => ''
226
226
  wx_ctor_params :caption => 'Please enter text'
227
227
  wx_ctor_params :default_value => ''
@@ -230,22 +230,19 @@ Wx::define_keyword_ctors('TextEntryDialog') do
230
230
  end
231
231
 
232
232
  # wxPasswordEntryDialog Dialog to get a password from the user
233
- # Wx::define_keyword_ctors('PasswordEntryDialog') do
234
- # wx_ctor_params :message => ''
235
- # wx_ctor_params :caption => 'Enter password'
236
- # wx_ctor_params :default_value => ''
237
- # wx_ctor_params :style => Wx::OK|Wx::CANCEL|Wx::CENTRE
238
- # wx_ctor_params :pos
239
- # end
233
+ Wx::define_keyword_ctors(Wx::PasswordEntryDialog) do
234
+ wx_ctor_params :message => ''
235
+ wx_ctor_params :caption => 'Enter password'
236
+ wx_ctor_params :default_value => ''
237
+ wx_ctor_params :style => Wx::OK|Wx::CANCEL|Wx::CENTRE
238
+ wx_ctor_params :pos
239
+ end
240
240
 
241
241
  # wxFontDialog Font chooser dialog
242
242
  # wxPageSetupDialog Standard page setup dialog
243
- Wx::define_keyword_ctors('PageSetupDialog') do
244
- wx_ctor_params :data
245
- end
246
243
 
247
244
  # Simple message box dialog
248
- Wx::define_keyword_ctors('MessageDialog') do
245
+ Wx::define_keyword_ctors(Wx::MessageDialog) do
249
246
  wx_ctor_params :message => ''
250
247
  wx_ctor_params :caption => 'Message box'
251
248
  wx_ctor_params :style => Wx::OK|Wx::CANCEL
@@ -253,7 +250,7 @@ Wx::define_keyword_ctors('MessageDialog') do
253
250
  end
254
251
 
255
252
  # Property editing dialog
256
- Wx::define_keyword_ctors('PropertySheetDialog') do
253
+ Wx::define_keyword_ctors(Wx::PropertySheetDialog) do
257
254
  wx_ctor_params :id, :title
258
255
  wx_ctor_params :pos, :size, :style => Wx::DEFAULT_DIALOG_STYLE
259
256
  wx_ctor_params :name => 'propertySheetDialog'
@@ -262,14 +259,14 @@ end
262
259
  ### CONTROLS
263
260
 
264
261
  # Push button control, displaying text
265
- Wx::define_keyword_ctors('Button') do
262
+ Wx::define_keyword_ctors(Wx::Button) do
266
263
  wx_ctor_params :id, :label => ''
267
264
  wx_ctor_params :pos, :size, :style
268
265
  wx_ctor_params :validator, :name => 'button'
269
266
  end
270
267
 
271
268
  # Push button control, displaying a bitmap
272
- Wx::define_keyword_ctors('BitmapButton') do
269
+ Wx::define_keyword_ctors(Wx::BitmapButton) do
273
270
  wx_ctor_params :id
274
271
  wx_ctor_params :bitmap
275
272
  wx_ctor_params :pos, :size, :style => Wx::BU_AUTODRAW
@@ -277,46 +274,46 @@ Wx::define_keyword_ctors('BitmapButton') do
277
274
  end
278
275
 
279
276
  # A button which stays pressed when clicked by user.
280
- Wx::define_keyword_ctors('ToggleButton') do
277
+ Wx::define_keyword_ctors(Wx::ToggleButton) do
281
278
  wx_ctor_params :id, :label, :pos, :size, :style
282
279
  wx_ctor_params :validator, :name => 'checkBox'
283
280
  end
284
281
 
285
282
  # Control showing an entire calendar month
286
- Wx::define_keyword_ctors('CalendarCtrl') do
283
+ Wx::define_keyword_ctors(Wx::CalendarCtrl) do
287
284
  wx_ctor_params :id, :date => Time.now()
288
285
  wx_ctor_params :pos, :size, :style => Wx::CAL_SHOW_HOLIDAYS
289
286
  wx_ctor_params :name => 'calendar'
290
287
  end
291
288
 
292
289
  # Checkbox control
293
- Wx::define_keyword_ctors('CheckBox') do
290
+ Wx::define_keyword_ctors(Wx::CheckBox) do
294
291
  wx_ctor_params :id, :label => ''
295
292
  wx_ctor_params :pos, :size, :style
296
293
  wx_ctor_params :validator, :name => 'checkBox'
297
294
  end
298
295
 
299
296
  # wxListBox A list of strings for single or multiple selection
300
- Wx::define_keyword_ctors('ListBox') do
297
+ Wx::define_keyword_ctors(Wx::ListBox) do
301
298
  wx_ctor_params :id, :pos, :size, :choices => []
302
299
  wx_ctor_params :style
303
300
  wx_ctor_params :validator, :name => 'listBox'
304
301
  end
305
302
 
306
303
  # A listbox with a checkbox to the left of each item
307
- Wx::define_keyword_ctors('CheckListBox') do
304
+ Wx::define_keyword_ctors(Wx::CheckListBox) do
308
305
  wx_ctor_params :id, :pos, :size, :choices, :style
309
306
  wx_ctor_params :validator, :name => 'listBox'
310
307
  end
311
308
 
312
309
  # wxChoice Choice control (a combobox without the editable area)
313
- Wx::define_keyword_ctors('Choice') do
310
+ Wx::define_keyword_ctors(Wx::Choice) do
314
311
  wx_ctor_params :id, :pos, :size, :choices, :style
315
312
  wx_ctor_params :validator, :name => 'choice'
316
313
  end
317
314
 
318
315
  # wxComboBox A choice with an editable area
319
- Wx::define_keyword_ctors('ComboBox') do
316
+ Wx::define_keyword_ctors(Wx::ComboBox) do
320
317
  wx_ctor_params :id, :value => ''
321
318
  wx_ctor_params :pos, :size, :choices => []
322
319
  wx_ctor_params :style
@@ -324,7 +321,7 @@ Wx::define_keyword_ctors('ComboBox') do
324
321
  end
325
322
 
326
323
  # wxBitmapComboBox A choice with an editable area
327
- Wx::define_keyword_ctors('BitmapComboBox') do
324
+ Wx::define_keyword_ctors(Wx::BitmapComboBox) do
328
325
  wx_ctor_params :id, :value => ''
329
326
  wx_ctor_params :pos, :size, :choices => []
330
327
  wx_ctor_params :style
@@ -335,13 +332,13 @@ end
335
332
 
336
333
  # wxGauge A control to represent a varying quantity, such as time
337
334
  # remaining
338
- Wx::define_keyword_ctors('Gauge') do
335
+ Wx::define_keyword_ctors(Wx::Gauge) do
339
336
  wx_ctor_params :id, :range, :pos, :size, :style => Wx::GA_HORIZONTAL
340
337
  wx_ctor_params :validator, :name => 'gauge'
341
338
  end
342
339
 
343
340
  # wxGenericDirCtrl A control for displaying a directory tree
344
- Wx::define_keyword_ctors('GenericDirCtrl') do
341
+ Wx::define_keyword_ctors(Wx::GenericDirCtrl) do
345
342
  # TODO :dir => Wx::DIR_DIALOG_DEFAULT_FOLDER_STR
346
343
  wx_ctor_params :id, :dir => ''
347
344
  wx_ctor_params :pos, :size,
@@ -352,7 +349,7 @@ Wx::define_keyword_ctors('GenericDirCtrl') do
352
349
  end
353
350
 
354
351
  # wxListCtrl A control for displaying lists of strings and/or icons, plus a multicolumn report view
355
- Wx::define_keyword_ctors('ListCtrl') do
352
+ Wx::define_keyword_ctors(Wx::ListCtrl) do
356
353
  wx_ctor_params :id, :pos, :size, :style => Wx::LC_ICON
357
354
  wx_ctor_params :validator, :name => 'listCtrl'
358
355
  end
@@ -360,13 +357,13 @@ end
360
357
  # wxListView A simpler interface (facade for wxListCtrl in report mode
361
358
 
362
359
  # wxTreeCtrl Tree (hierarchy) control
363
- Wx::define_keyword_ctors('TreeCtrl') do
360
+ Wx::define_keyword_ctors(Wx::TreeCtrl) do
364
361
  wx_ctor_params :id, :pos, :size, :style => Wx::TR_DEFAULT_STYLE
365
362
  wx_ctor_params :validator, :name => 'treeCtrl'
366
363
  end
367
364
 
368
365
  # wxSpinCtrl A spin control - i.e. spin button and text control
369
- Wx::define_keyword_ctors('SpinCtrl') do
366
+ Wx::define_keyword_ctors(Wx::SpinCtrl) do
370
367
  wx_ctor_params :id, :value => ''
371
368
  wx_ctor_params :pos, :size, :style => Wx::SP_ARROW_KEYS
372
369
  wx_ctor_params :min => 0
@@ -376,21 +373,21 @@ Wx::define_keyword_ctors('SpinCtrl') do
376
373
  end
377
374
 
378
375
  # One or more lines of non-editable text
379
- Wx::define_keyword_ctors('StaticText') do
376
+ Wx::define_keyword_ctors(Wx::StaticText) do
380
377
  wx_ctor_params :id, :label, :pos, :size, :style, :name => 'staticText'
381
378
  end
382
379
 
383
- Wx::define_keyword_ctors('StaticBox') do
380
+ Wx::define_keyword_ctors(Wx::StaticBox) do
384
381
  wx_ctor_params :id, :label, :pos, :size, :style, :name => 'staticBox'
385
382
  end
386
383
 
387
- Wx::define_keyword_ctors('StaticLine') do
384
+ Wx::define_keyword_ctors(Wx::StaticLine) do
388
385
  wx_ctor_params :id, :pos, :size, :style => Wx::LI_HORIZONTAL
389
386
  wx_ctor_params :name => 'staticBox'
390
387
  end
391
388
 
392
389
  # wxStaticBitmap A control to display a bitmap
393
- Wx::define_keyword_ctors('StaticBitmap') do
390
+ Wx::define_keyword_ctors(Wx::StaticBitmap) do
394
391
  wx_ctor_params :id
395
392
  # autoconvert Bitmaps to BitmapBundles for downward compatibility
396
393
  wx_ctor_params :label
@@ -399,7 +396,7 @@ end
399
396
 
400
397
 
401
398
  # wxRadioBox A group of radio buttons
402
- Wx::define_keyword_ctors('RadioBox') do
399
+ Wx::define_keyword_ctors(Wx::RadioBox) do
403
400
  wx_ctor_params :id, :label => ''
404
401
  wx_ctor_params :pos, :size, :choices => []
405
402
  wx_ctor_params :major_dimension => 0
@@ -408,14 +405,14 @@ Wx::define_keyword_ctors('RadioBox') do
408
405
  end
409
406
 
410
407
  # wxRadioButton: A round button used with others in a mutually exclusive way
411
- Wx::define_keyword_ctors('RadioButton') do
408
+ Wx::define_keyword_ctors(Wx::RadioButton) do
412
409
  wx_ctor_params :id, :label => ''
413
410
  wx_ctor_params :pos, :size, :style => 0
414
411
  wx_ctor_params :validator, :name => 'radioButton'
415
412
  end
416
413
 
417
414
  # wxSlider A slider that can be dragged by the user
418
- Wx::define_keyword_ctors('Slider') do
415
+ Wx::define_keyword_ctors(Wx::Slider) do
419
416
  wx_ctor_params :id, :value => 0
420
417
  wx_ctor_params :min_value, :max_value
421
418
  wx_ctor_params :pos, :size, :style => Wx::SL_HORIZONTAL
@@ -423,13 +420,13 @@ Wx::define_keyword_ctors('Slider') do
423
420
  end
424
421
 
425
422
  # wxSpinButton - Has two small up and down (or left and right) arrow buttons
426
- Wx::define_keyword_ctors('SpinButton') do
423
+ Wx::define_keyword_ctors(Wx::SpinButton) do
427
424
  wx_ctor_params :id, :pos, :size, :style => Wx::SP_HORIZONTAL
428
425
  wx_ctor_params :name => 'spinButton'
429
426
  end
430
427
 
431
428
  # wxScrollBar - standalone scrollbar with arrows and thumb
432
- Wx::define_keyword_ctors('ScrollBar') do
429
+ Wx::define_keyword_ctors(Wx::ScrollBar) do
433
430
  wx_ctor_params :id, :pos, :size, :style => Wx::SB_HORIZONTAL
434
431
  wx_ctor_params :validator, :name => 'scrollBar'
435
432
  end
@@ -438,57 +435,61 @@ end
438
435
  # wxVListBox A listbox supporting variable height rows
439
436
 
440
437
  # wxTextCtrl Single or multiline text editing control
441
- Wx::define_keyword_ctors('TextCtrl') do
438
+ Wx::define_keyword_ctors(Wx::TextCtrl) do
442
439
  wx_ctor_params :id, :value => ''
443
440
  wx_ctor_params :pos, :size, :style
444
441
  wx_ctor_params :validator, :name => 'textCtrl'
445
442
  end
446
443
 
447
444
  # wxHyperTextCtrl - display a clickable URL
448
- Wx::define_keyword_ctors('HyperlinkCtrl') do
445
+ Wx::define_keyword_ctors(Wx::HyperlinkCtrl) do
449
446
  wx_ctor_params :id, :label => ''
450
447
  wx_ctor_params :url => ''
451
448
  wx_ctor_params :pos, :size, :style => 0
452
449
  wx_ctor_params :name => 'hyperlink'
453
450
  end
454
451
 
455
- Wx::define_keyword_ctors('CollapsiblePane') do
452
+ Wx::define_keyword_ctors(Wx::CollapsiblePane) do
456
453
  wx_ctor_params :id, :label => ''
457
454
  wx_ctor_params :pos, :size, :style => 0
458
455
  wx_ctor_params :validator, :name => 'collapsiblePane'
459
456
  end
460
457
 
461
- Wx::define_keyword_ctors('MediaCtrl') do
458
+ Wx::define_keyword_ctors(Wx::MediaCtrl) do
462
459
  wx_ctor_params :id, :filename => ''
463
460
  wx_ctor_params :pos, :size, :style => 0
464
461
  wx_ctor_params :backend => ''
465
462
  wx_ctor_params :validator, :name => 'mediaCtrl'
466
- end
463
+ end if Wx.has_feature?(:USE_MEDIACTRL)
467
464
 
468
- Wx::define_keyword_ctors('SearchCtrl') do
465
+ Wx::define_keyword_ctors(Wx::SearchCtrl) do
469
466
  wx_ctor_params :id, :value => ''
470
467
  wx_ctor_params :pos, :size, :style => 0
471
468
  wx_ctor_params :validator, :name => 'searchCtrl'
472
469
  end
473
470
 
474
-
475
- Wx::define_keyword_ctors('AnimationCtrl') do
471
+ Wx::define_keyword_ctors(Wx::AnimationCtrl) do
476
472
  wx_ctor_params :id, :anim
477
473
  wx_ctor_params :pos, :size, :style => Wx::AC_DEFAULT_STYLE
478
474
  wx_ctor_params :name => 'animationCtrl'
479
475
  end
480
476
 
481
- Wx::define_keyword_ctors('VScrolledWindow') do
477
+ Wx::define_keyword_ctors(Wx::VScrolledWindow) do
482
478
  wx_ctor_params :id, :pos, :size, :style, :name => 'VScrolledWindowNameStr'
483
479
  end
484
480
 
485
- Wx::define_keyword_ctors('VListBox') do
481
+ Wx::define_keyword_ctors(Wx::VListBox) do
486
482
  wx_ctor_params :id, :pos, :size, :style, :name => 'VListBoxNameStr'
487
483
  end
488
484
 
489
- Wx::define_keyword_ctors('DatePickerCtrl') do
485
+ Wx::define_keyword_ctors(Wx::DatePickerCtrl) do
490
486
  wx_ctor_params :id, :dt, :pos, :size, :style, :validator, :name => 'dateCtrl'
491
487
  end
492
488
 
489
+ Wx::define_keyword_ctors(Wx::ActivityIndicator) do
490
+ wx_ctor_params :id, :pos, :size, :style => Wx::AC_DEFAULT_STYLE
491
+ wx_ctor_params :name => 'activityIndicator'
492
+ end
493
+
493
494
  # FIXME - SymbolPickerDialog is hard to because the parent argument is
494
495
  # in a strange place.
@@ -3,6 +3,10 @@
3
3
  # Copyright (c) M.J.N. Corino, The Netherlands
4
4
 
5
5
  # wxPrintDialog Standard print dialog
6
- Wx::define_keyword_ctors('PrintDialog') do
6
+ Wx::define_keyword_ctors(Wx::PRT::PrintDialog) do
7
+ wx_ctor_params :data
8
+ end
9
+
10
+ Wx::define_keyword_ctors(Wx::PRT::PageSetupDialog) do
7
11
  wx_ctor_params :data
8
12
  end
data/lib/wx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Wx
2
- WXRUBY_VERSION = '0.9.0-rc.1'
2
+ WXRUBY_VERSION = '0.9.0-rc.2'
3
3
  end
data/rakelib/install.rb CHANGED
@@ -41,7 +41,7 @@ module WXRuby3
41
41
  end
42
42
  else
43
43
  # match only wxWidgets libraries
44
- if /\Awx_([a-z\d]+)(_[a-z]+)?-(.*)/.match(lib)
44
+ if /\Awx(_osx)?_([a-z\d]+)(_[a-z]+)?-(.*)/.match(lib)
45
45
  @wxwin_shlibs.include File.join(libdir, "lib#{lib}*.#{WXRuby3.config.dll_mask}")
46
46
  end
47
47
  end
@@ -55,6 +55,7 @@ module WXRuby3
55
55
  def install_wxwin_shlibs
56
56
  if WXRuby3.config.get_config('with-wxwin')
57
57
  # prepare required wxWidgets shared libs
58
+ wxwin_inshlibs = []
58
59
  WXRuby3::Install.wxwin_shlibs.each do |shlib|
59
60
  if File.symlink?(shlib)
60
61
  src_shlib = shlib
@@ -62,18 +63,28 @@ module WXRuby3
62
63
  FileUtils.ln_s(File.join('.', File.basename(src_shlib)), File.join('ext', File.basename(shlib)))
63
64
  else
64
65
  FileUtils.cp(shlib, inshlib = File.join('ext', File.basename(shlib)))
65
- unless WXRuby3.config.patch_rpath(inshlib, '$ORIGIN')
66
+ unless WXRuby3.config.patch_rpath(inshlib, WXRuby3.config.get_rpath_origin)
66
67
  # cleanup and exit
67
68
  FileUtils.rm_f(Dir["ext/*.#{WXRuby3.config.dll_mask}"])
68
69
  exit(1)
69
70
  end
71
+ wxwin_inshlibs << File.expand_path(inshlib)
70
72
  end
71
73
  end
72
74
  # prepare wxRuby shared libs
73
- unless Dir["lib/*.#{WXRuby3.config.dll_mask}"].all? { |shlib| WXRuby3.config.patch_rpath(shlib, '$ORIGIN:$ORIGIN/../ext') }
74
- # cleanup and exit
75
- FileUtils.rm_f(Dir["ext/*.#{WXRuby3.config.dll_mask}"])
76
- exit(1)
75
+ Dir["lib/*.#{WXRuby3.config.dll_mask}"].each do |shlib|
76
+ unless WXRuby3.config.patch_rpath(shlib, WXRuby3.config.get_rpath_origin, "#{WXRuby3.config.get_rpath_origin}/../ext")
77
+ # cleanup and exit
78
+ FileUtils.rm_f(Dir["ext/*.#{WXRuby3.config.dll_mask}"])
79
+ exit(1)
80
+ end
81
+ end
82
+ (wxwin_inshlibs + Dir["lib/*.#{WXRuby3.config.dll_mask}"]).each do |shlib|
83
+ unless WXRuby3.config.update_shlib_loadpaths(shlib, WXRuby3::Install.wxwin_shlibs)
84
+ # cleanup and exit
85
+ FileUtils.rm_f(Dir["ext/*.#{WXRuby3.config.dll_mask}"])
86
+ exit(1)
87
+ end
77
88
  end
78
89
  end
79
90
  end
@@ -38,9 +38,9 @@ module WXRuby3
38
38
  true
39
39
  end
40
40
 
41
- def patch_rpath(shlib, rpath)
41
+ def patch_rpath(shlib, *rpath)
42
42
  if check_rpath_patch
43
- sh("#{@rpath_patch} '#{rpath}' #{shlib}", verbose: false)
43
+ sh("#{@rpath_patch} '#{rpath.join(':')}' #{shlib}", verbose: false)
44
44
  return true
45
45
  end
46
46
  false
@@ -57,6 +57,8 @@ module WXRuby3
57
57
  @extra_cflags.concat %w[-Wno-unused-function -Wno-conversion-null -Wno-maybe-uninitialized]
58
58
  @extra_cflags << ' -Wno-deprecated-declarations' unless @no_deprecated
59
59
 
60
+ @ruby_ldflags << '-s' if @release_build # strip debug symbols for release build
61
+
60
62
  # create a .so binary
61
63
  @extra_ldflags << '-shared'
62
64