rwx 0.0.1.dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +49 -0
  3. data/COPYING +0 -0
  4. data/README.rdoc +0 -0
  5. data/Rakefile +100 -0
  6. data/VERSION +1 -0
  7. data/ext/extconf.rb +112 -0
  8. data/ext/main.cpp +432 -0
  9. data/ext/main.hpp +454 -0
  10. data/ext/rwx.cpp +472 -0
  11. data/ext/wxAboutDlg.cpp +213 -0
  12. data/ext/wxAboutDlg.hpp +19 -0
  13. data/ext/wxAnyButton.cpp +141 -0
  14. data/ext/wxAnyButton.hpp +17 -0
  15. data/ext/wxAnyChoiceDialog.cpp +93 -0
  16. data/ext/wxAnyChoiceDialog.hpp +19 -0
  17. data/ext/wxApp.cpp +205 -0
  18. data/ext/wxApp.hpp +48 -0
  19. data/ext/wxAui.hpp +19 -0
  20. data/ext/wxAuiBook.cpp +453 -0
  21. data/ext/wxAuiBook.hpp +21 -0
  22. data/ext/wxAuiManager.cpp +79 -0
  23. data/ext/wxAuiManager.hpp +18 -0
  24. data/ext/wxAuiPane.cpp +343 -0
  25. data/ext/wxAuiPane.hpp +29 -0
  26. data/ext/wxAuiToolBar.cpp +47 -0
  27. data/ext/wxAuiToolBar.hpp +17 -0
  28. data/ext/wxBitmap.cpp +368 -0
  29. data/ext/wxBitmap.hpp +60 -0
  30. data/ext/wxBitmapButton.cpp +82 -0
  31. data/ext/wxBitmapButton.hpp +17 -0
  32. data/ext/wxBitmapComboBox.cpp +284 -0
  33. data/ext/wxBitmapComboBox.hpp +22 -0
  34. data/ext/wxBitmapToggleButton.cpp +82 -0
  35. data/ext/wxBitmapToggleButton.hpp +17 -0
  36. data/ext/wxBookCtrl.cpp +633 -0
  37. data/ext/wxBookCtrl.hpp +22 -0
  38. data/ext/wxBoxSizer.cpp +60 -0
  39. data/ext/wxBoxSizer.hpp +17 -0
  40. data/ext/wxBrush.cpp +281 -0
  41. data/ext/wxBrush.hpp +28 -0
  42. data/ext/wxButton.cpp +85 -0
  43. data/ext/wxButton.hpp +17 -0
  44. data/ext/wxButtonToolBar.cpp +54 -0
  45. data/ext/wxButtonToolBar.hpp +21 -0
  46. data/ext/wxCalendarCtrl.cpp +91 -0
  47. data/ext/wxCalendarCtrl.hpp +17 -0
  48. data/ext/wxCalendarCtrlBase.cpp +55 -0
  49. data/ext/wxCalendarCtrlBase.hpp +26 -0
  50. data/ext/wxCalendarCtrlGeneric.cpp +102 -0
  51. data/ext/wxCalendarCtrlGeneric.hpp +21 -0
  52. data/ext/wxCheckBox.cpp +157 -0
  53. data/ext/wxCheckBox.hpp +17 -0
  54. data/ext/wxCheckListBox.cpp +191 -0
  55. data/ext/wxCheckListBox.hpp +20 -0
  56. data/ext/wxChoice.cpp +133 -0
  57. data/ext/wxChoice.hpp +30 -0
  58. data/ext/wxChoiceBook.cpp +90 -0
  59. data/ext/wxChoiceBook.hpp +23 -0
  60. data/ext/wxCollapsiblePane.cpp +110 -0
  61. data/ext/wxCollapsiblePane.hpp +21 -0
  62. data/ext/wxColor.cpp +435 -0
  63. data/ext/wxColor.hpp +38 -0
  64. data/ext/wxColorDialog.cpp +97 -0
  65. data/ext/wxColorDialog.hpp +19 -0
  66. data/ext/wxColorPicker.cpp +131 -0
  67. data/ext/wxColorPicker.hpp +20 -0
  68. data/ext/wxColorPickerWidget.cpp +105 -0
  69. data/ext/wxColorPickerWidget.hpp +20 -0
  70. data/ext/wxComboBox.cpp +214 -0
  71. data/ext/wxComboBox.hpp +22 -0
  72. data/ext/wxCommandEvent.cpp +45 -0
  73. data/ext/wxCommandEvent.hpp +16 -0
  74. data/ext/wxConfig.cpp +19 -0
  75. data/ext/wxConfig.hpp +17 -0
  76. data/ext/wxContextHelpButton.cpp +93 -0
  77. data/ext/wxContextHelpButton.hpp +21 -0
  78. data/ext/wxControl.cpp +90 -0
  79. data/ext/wxControl.hpp +15 -0
  80. data/ext/wxCursor.cpp +108 -0
  81. data/ext/wxCursor.hpp +25 -0
  82. data/ext/wxDC.cpp +252 -0
  83. data/ext/wxDC.hpp +18 -0
  84. data/ext/wxDataView.cpp +224 -0
  85. data/ext/wxDataView.hpp +45 -0
  86. data/ext/wxDataViewList.cpp +190 -0
  87. data/ext/wxDataViewList.hpp +17 -0
  88. data/ext/wxDatePicker.cpp +103 -0
  89. data/ext/wxDatePicker.hpp +22 -0
  90. data/ext/wxDialog.cpp +120 -0
  91. data/ext/wxDialog.hpp +17 -0
  92. data/ext/wxDirDialog.cpp +152 -0
  93. data/ext/wxDirDialog.hpp +20 -0
  94. data/ext/wxDirPicker.cpp +134 -0
  95. data/ext/wxDirPicker.hpp +28 -0
  96. data/ext/wxDirPickerWidget.cpp +127 -0
  97. data/ext/wxDirPickerWidget.hpp +20 -0
  98. data/ext/wxError.cpp +67 -0
  99. data/ext/wxError.hpp +17 -0
  100. data/ext/wxEvent.cpp +60 -0
  101. data/ext/wxEvent.hpp +17 -0
  102. data/ext/wxEvtHandler.cpp +291 -0
  103. data/ext/wxEvtHandler.hpp +85 -0
  104. data/ext/wxFileCtrl.cpp +98 -0
  105. data/ext/wxFileCtrl.hpp +17 -0
  106. data/ext/wxFileCtrlBase.cpp +219 -0
  107. data/ext/wxFileCtrlBase.hpp +33 -0
  108. data/ext/wxFileCtrlGeneric.cpp +106 -0
  109. data/ext/wxFileCtrlGeneric.hpp +19 -0
  110. data/ext/wxFileDialog.cpp +268 -0
  111. data/ext/wxFileDialog.hpp +19 -0
  112. data/ext/wxFileDirPicker.cpp +89 -0
  113. data/ext/wxFileDirPicker.hpp +29 -0
  114. data/ext/wxFileHistory.cpp +134 -0
  115. data/ext/wxFileHistory.hpp +20 -0
  116. data/ext/wxFilePicker.cpp +160 -0
  117. data/ext/wxFilePicker.hpp +28 -0
  118. data/ext/wxFilePickerWidget.cpp +139 -0
  119. data/ext/wxFilePickerWidget.hpp +20 -0
  120. data/ext/wxFont.cpp +542 -0
  121. data/ext/wxFont.hpp +37 -0
  122. data/ext/wxFontDialog.cpp +143 -0
  123. data/ext/wxFontDialog.hpp +21 -0
  124. data/ext/wxFontPicker.cpp +160 -0
  125. data/ext/wxFontPicker.hpp +21 -0
  126. data/ext/wxFontPickerWidget.cpp +128 -0
  127. data/ext/wxFontPickerWidget.hpp +20 -0
  128. data/ext/wxFrame.cpp +274 -0
  129. data/ext/wxFrame.hpp +17 -0
  130. data/ext/wxGauge.cpp +167 -0
  131. data/ext/wxGauge.hpp +17 -0
  132. data/ext/wxGrid.cpp +250 -0
  133. data/ext/wxGrid.hpp +43 -0
  134. data/ext/wxGridCellAttr.cpp +68 -0
  135. data/ext/wxGridCellAttr.hpp +26 -0
  136. data/ext/wxGridCellRenderer.cpp +120 -0
  137. data/ext/wxGridCellRenderer.hpp +30 -0
  138. data/ext/wxGridTable.cpp +111 -0
  139. data/ext/wxGridTable.hpp +47 -0
  140. data/ext/wxHyperLink.cpp +148 -0
  141. data/ext/wxHyperLink.hpp +20 -0
  142. data/ext/wxImage.cpp +884 -0
  143. data/ext/wxImage.hpp +24 -0
  144. data/ext/wxInfoBar.cpp +85 -0
  145. data/ext/wxInfoBar.hpp +21 -0
  146. data/ext/wxInfoBarBase.cpp +145 -0
  147. data/ext/wxInfoBarBase.hpp +21 -0
  148. data/ext/wxInfoBarGeneric.cpp +90 -0
  149. data/ext/wxInfoBarGeneric.hpp +21 -0
  150. data/ext/wxItemContainer.cpp +313 -0
  151. data/ext/wxItemContainer.hpp +17 -0
  152. data/ext/wxKeyEvent.cpp +35 -0
  153. data/ext/wxKeyEvent.hpp +16 -0
  154. data/ext/wxListBook.cpp +90 -0
  155. data/ext/wxListBook.hpp +21 -0
  156. data/ext/wxListBox.cpp +290 -0
  157. data/ext/wxListBox.hpp +29 -0
  158. data/ext/wxMenu.cpp +600 -0
  159. data/ext/wxMenu.hpp +17 -0
  160. data/ext/wxMenuBar.cpp +180 -0
  161. data/ext/wxMenuBar.hpp +17 -0
  162. data/ext/wxMenuItem.cpp +174 -0
  163. data/ext/wxMenuItem.hpp +17 -0
  164. data/ext/wxMessageDialog.cpp +91 -0
  165. data/ext/wxMessageDialog.hpp +19 -0
  166. data/ext/wxMessageDialogBase.cpp +152 -0
  167. data/ext/wxMessageDialogBase.hpp +18 -0
  168. data/ext/wxMessageDialogGeneric.cpp +91 -0
  169. data/ext/wxMessageDialogGeneric.hpp +19 -0
  170. data/ext/wxMouseEvent.cpp +60 -0
  171. data/ext/wxMouseEvent.hpp +16 -0
  172. data/ext/wxMultiChoiceDialog.cpp +143 -0
  173. data/ext/wxMultiChoiceDialog.hpp +19 -0
  174. data/ext/wxNoteBook.cpp +89 -0
  175. data/ext/wxNoteBook.hpp +21 -0
  176. data/ext/wxNotifyEvent.cpp +45 -0
  177. data/ext/wxNotifyEvent.hpp +16 -0
  178. data/ext/wxNumberEntryDialog.cpp +131 -0
  179. data/ext/wxNumberEntryDialog.hpp +20 -0
  180. data/ext/wxPalette.cpp +214 -0
  181. data/ext/wxPalette.hpp +24 -0
  182. data/ext/wxPanel.cpp +77 -0
  183. data/ext/wxPanel.hpp +19 -0
  184. data/ext/wxPasswordEntryDialog.cpp +141 -0
  185. data/ext/wxPasswordEntryDialog.hpp +20 -0
  186. data/ext/wxPen.cpp +323 -0
  187. data/ext/wxPen.hpp +37 -0
  188. data/ext/wxPickerBase.cpp +121 -0
  189. data/ext/wxPickerBase.hpp +28 -0
  190. data/ext/wxPoint.cpp +224 -0
  191. data/ext/wxPoint.hpp +40 -0
  192. data/ext/wxPreferences.cpp +149 -0
  193. data/ext/wxPreferences.hpp +18 -0
  194. data/ext/wxProgressDialog.cpp +171 -0
  195. data/ext/wxProgressDialog.hpp +20 -0
  196. data/ext/wxProperty.cpp +723 -0
  197. data/ext/wxProperty.hpp +16 -0
  198. data/ext/wxPropertyCell.cpp +99 -0
  199. data/ext/wxPropertyCell.hpp +16 -0
  200. data/ext/wxPropertyGrid.cpp +234 -0
  201. data/ext/wxPropertyGrid.hpp +20 -0
  202. data/ext/wxPropertyGridInterface.cpp +146 -0
  203. data/ext/wxPropertyGridInterface.hpp +33 -0
  204. data/ext/wxPropertyGridManager.cpp +257 -0
  205. data/ext/wxPropertyGridManager.hpp +20 -0
  206. data/ext/wxPropertyGridPage.cpp +65 -0
  207. data/ext/wxPropertyGridPage.hpp +20 -0
  208. data/ext/wxRadioBox.cpp +405 -0
  209. data/ext/wxRadioBox.hpp +20 -0
  210. data/ext/wxRadioButton.cpp +107 -0
  211. data/ext/wxRadioButton.hpp +16 -0
  212. data/ext/wxRearrangeCtrl.cpp +89 -0
  213. data/ext/wxRearrangeCtrl.hpp +20 -0
  214. data/ext/wxRearrangeDialog.cpp +122 -0
  215. data/ext/wxRearrangeDialog.hpp +20 -0
  216. data/ext/wxRearrangeList.cpp +94 -0
  217. data/ext/wxRearrangeList.hpp +20 -0
  218. data/ext/wxRect.cpp +281 -0
  219. data/ext/wxRect.hpp +29 -0
  220. data/ext/wxRichMessageDialog.cpp +91 -0
  221. data/ext/wxRichMessageDialog.hpp +21 -0
  222. data/ext/wxRichTextAttr.cpp +69 -0
  223. data/ext/wxRichTextAttr.hpp +28 -0
  224. data/ext/wxRichTextCtrl.cpp +484 -0
  225. data/ext/wxRichTextCtrl.hpp +21 -0
  226. data/ext/wxRichTextStyle.cpp +86 -0
  227. data/ext/wxRichTextStyle.hpp +25 -0
  228. data/ext/wxRichTextStyleSheet.cpp +497 -0
  229. data/ext/wxRichTextStyleSheet.hpp +21 -0
  230. data/ext/wxSTC.cpp +331 -0
  231. data/ext/wxSTC.hpp +21 -0
  232. data/ext/wxScrollEvent.cpp +43 -0
  233. data/ext/wxScrollEvent.hpp +16 -0
  234. data/ext/wxSearchCtrl.cpp +189 -0
  235. data/ext/wxSearchCtrl.hpp +21 -0
  236. data/ext/wxSimpleBook.cpp +89 -0
  237. data/ext/wxSimpleBook.hpp +21 -0
  238. data/ext/wxSingleChoiceDialog.cpp +147 -0
  239. data/ext/wxSingleChoiceDialog.hpp +19 -0
  240. data/ext/wxSize.cpp +206 -0
  241. data/ext/wxSize.hpp +32 -0
  242. data/ext/wxSizer.cpp +368 -0
  243. data/ext/wxSizer.hpp +23 -0
  244. data/ext/wxSizerItem.cpp +37 -0
  245. data/ext/wxSizerItem.hpp +18 -0
  246. data/ext/wxSlider.cpp +204 -0
  247. data/ext/wxSlider.hpp +21 -0
  248. data/ext/wxSpinButton.cpp +158 -0
  249. data/ext/wxSpinButton.hpp +20 -0
  250. data/ext/wxSpinCtrl.cpp +132 -0
  251. data/ext/wxSpinCtrl.hpp +21 -0
  252. data/ext/wxStartUpTip.cpp +44 -0
  253. data/ext/wxStartUpTip.hpp +16 -0
  254. data/ext/wxStaticBitmap.cpp +79 -0
  255. data/ext/wxStaticBitmap.hpp +17 -0
  256. data/ext/wxStaticBitmapBase.cpp +46 -0
  257. data/ext/wxStaticBitmapBase.hpp +22 -0
  258. data/ext/wxStaticBitmapGeneric.cpp +82 -0
  259. data/ext/wxStaticBitmapGeneric.hpp +17 -0
  260. data/ext/wxStaticBox.cpp +92 -0
  261. data/ext/wxStaticBox.hpp +22 -0
  262. data/ext/wxStaticLine.cpp +100 -0
  263. data/ext/wxStaticLine.hpp +22 -0
  264. data/ext/wxStaticText.cpp +82 -0
  265. data/ext/wxStaticText.hpp +21 -0
  266. data/ext/wxStatusBar.cpp +417 -0
  267. data/ext/wxStatusBar.hpp +17 -0
  268. data/ext/wxStream.cpp +41 -0
  269. data/ext/wxStream.hpp +46 -0
  270. data/ext/wxTaskBar.cpp +104 -0
  271. data/ext/wxTaskBar.hpp +41 -0
  272. data/ext/wxTextArea.cpp +141 -0
  273. data/ext/wxTextArea.hpp +21 -0
  274. data/ext/wxTextAttr.cpp +320 -0
  275. data/ext/wxTextAttr.hpp +28 -0
  276. data/ext/wxTextCtrl.cpp +177 -0
  277. data/ext/wxTextCtrl.hpp +30 -0
  278. data/ext/wxTextEntry.cpp +248 -0
  279. data/ext/wxTextEntry.hpp +19 -0
  280. data/ext/wxTextEntryDialog.cpp +133 -0
  281. data/ext/wxTextEntryDialog.hpp +20 -0
  282. data/ext/wxTimePicker.cpp +105 -0
  283. data/ext/wxTimePicker.hpp +22 -0
  284. data/ext/wxTimer.cpp +106 -0
  285. data/ext/wxTimer.hpp +16 -0
  286. data/ext/wxToggleButton.cpp +96 -0
  287. data/ext/wxToggleButton.hpp +21 -0
  288. data/ext/wxToolBar.cpp +85 -0
  289. data/ext/wxToolBar.hpp +17 -0
  290. data/ext/wxToolBarBase.cpp +615 -0
  291. data/ext/wxToolBarBase.hpp +17 -0
  292. data/ext/wxToolBarTool.cpp +179 -0
  293. data/ext/wxToolBarTool.hpp +16 -0
  294. data/ext/wxToolBook.cpp +96 -0
  295. data/ext/wxToolBook.hpp +23 -0
  296. data/ext/wxToplevel.cpp +125 -0
  297. data/ext/wxToplevel.hpp +25 -0
  298. data/ext/wxTreeBook.cpp +240 -0
  299. data/ext/wxTreeBook.hpp +21 -0
  300. data/ext/wxTreeCtrl.cpp +443 -0
  301. data/ext/wxTreeCtrl.hpp +66 -0
  302. data/ext/wxVariant.cpp +65 -0
  303. data/ext/wxVariant.hpp +17 -0
  304. data/ext/wxWindow.cpp +980 -0
  305. data/ext/wxWindow.hpp +35 -0
  306. data/ext/wxWizard.cpp +321 -0
  307. data/ext/wxWizard.hpp +19 -0
  308. data/ext/wxWizardPage.cpp +137 -0
  309. data/ext/wxWizardPage.hpp +38 -0
  310. data/ext/wxXRC.cpp +48 -0
  311. data/ext/wxXRC.hpp +21 -0
  312. data/old_tests/button.rb +56 -0
  313. data/old_tests/file.png +0 -0
  314. data/old_tests/green.xpm +25 -0
  315. data/old_tests/new16x16.png +0 -0
  316. data/old_tests/project.xml +10 -0
  317. data/old_tests/propertygrid.rb +51 -0
  318. data/old_tests/red.xpm +25 -0
  319. data/old_tests/ruby32x32.png +0 -0
  320. data/old_tests/status.rb +45 -0
  321. data/old_tests/test.rb +580 -0
  322. data/old_tests/wizard.xrc +40 -0
  323. data/old_tests/xrc.rb +38 -0
  324. data/rwx.gemspec +43 -0
  325. data/samples/controls/controls.rb +143 -0
  326. data/samples/controls/icons/choice.bmp +0 -0
  327. data/samples/controls/icons/choice.xpm +27 -0
  328. data/samples/controls/icons/combo.bmp +0 -0
  329. data/samples/controls/icons/combo.xpm +27 -0
  330. data/samples/controls/icons/gauge.bmp +0 -0
  331. data/samples/controls/icons/gauge.xpm +27 -0
  332. data/samples/controls/icons/list.bmp +0 -0
  333. data/samples/controls/icons/list.xpm +27 -0
  334. data/samples/controls/icons/radio.bmp +0 -0
  335. data/samples/controls/icons/radio.xpm +27 -0
  336. data/samples/controls/icons/stattext.xpm +24 -0
  337. data/samples/controls/icons/text.bmp +0 -0
  338. data/samples/controls/icons/text.xpm +27 -0
  339. data/samples/dialog/dialog_sample.rb +227 -0
  340. data/samples/sample.xpm +44 -0
  341. data/samples/widgets/icons/bmpbtn.xpm +37 -0
  342. data/samples/widgets/icons/bmpcombobox.xpm +54 -0
  343. data/samples/widgets/icons/button.xpm +54 -0
  344. data/samples/widgets/icons/checkbox.xpm +54 -0
  345. data/samples/widgets/icons/choice.xpm +27 -0
  346. data/samples/widgets/icons/choicebk.xpm +54 -0
  347. data/samples/widgets/icons/clrpicker.xpm +193 -0
  348. data/samples/widgets/icons/combobox.xpm +54 -0
  349. data/samples/widgets/icons/datepick.xpm +200 -0
  350. data/samples/widgets/icons/dirctrl.xpm +54 -0
  351. data/samples/widgets/icons/dirpicker.xpm +213 -0
  352. data/samples/widgets/icons/filepicker.xpm +214 -0
  353. data/samples/widgets/icons/fontpicker.xpm +185 -0
  354. data/samples/widgets/icons/gauge.xpm +54 -0
  355. data/samples/widgets/icons/hyperlnk.xpm +54 -0
  356. data/samples/widgets/icons/listbook.xpm +54 -0
  357. data/samples/widgets/icons/listbox.xpm +54 -0
  358. data/samples/widgets/icons/notebook.xpm +54 -0
  359. data/samples/widgets/icons/odcombobox.xpm +54 -0
  360. data/samples/widgets/icons/radiobox.xpm +54 -0
  361. data/samples/widgets/icons/scrolbar.xpm +54 -0
  362. data/samples/widgets/icons/slider.xpm +54 -0
  363. data/samples/widgets/icons/spinbtn.xpm +40 -0
  364. data/samples/widgets/icons/statbmp.xpm +40 -0
  365. data/samples/widgets/icons/statbox.xpm +54 -0
  366. data/samples/widgets/icons/stattext.xpm +54 -0
  367. data/samples/widgets/icons/text.xpm +54 -0
  368. data/samples/widgets/icons/timepick.xpm +207 -0
  369. data/samples/widgets/icons/toggle.xpm +54 -0
  370. data/samples/widgets/pages/colorpicker.rb +66 -0
  371. data/samples/widgets/pages/common.rb +17 -0
  372. data/samples/widgets/widgets.rb +29 -0
  373. data/samples/xrc/samples.xrc +46 -0
  374. data/samples/xrc/xrc_sample.rb +59 -0
  375. data/test/test_color.rb +64 -0
  376. metadata +470 -0
@@ -0,0 +1,213 @@
1
+ /*
2
+ * wxAboutDlg.cpp
3
+ *
4
+ * Created on: 29.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxAboutDlg.hpp"
9
+ #include "wxDialog.hpp"
10
+ #include "wxSizer.hpp"
11
+ #include "wxApp.hpp"
12
+
13
+ VALUE rb_cWXAboutDialog;
14
+
15
+ #if wxUSE_ABOUTDLG
16
+
17
+ #define mRuby static_cast<RubyClientData*>(GetClientObject())->mRuby
18
+
19
+ class RubyAboutDlg : public wxGenericAboutDialog {
20
+
21
+ public:
22
+ using wxGenericAboutDialog::AddControl;
23
+ using wxGenericAboutDialog::AddText;
24
+ #if wxUSE_COLLPANE
25
+ using wxGenericAboutDialog::AddCollapsiblePane;
26
+ #endif
27
+
28
+ void DoAddCustomControls() {
29
+ if(rb_respond_to(mRuby,rb_intern("custom_controls")))
30
+ rb_funcall(mRuby,rb_intern("custom_controls"),0);
31
+ }
32
+ };
33
+
34
+ #define _self unwrap<RubyAboutDlg*>(self)
35
+
36
+
37
+ namespace RubyWX {
38
+ namespace AboutDlg {
39
+
40
+ APP_PROTECT(RubyAboutDlg)
41
+
42
+ #undef set_option
43
+ #define set_option(name,cname,type) \
44
+ if(RTEST(value = rb_hash_aref(hash,ID2SYM(rb_intern(#name))))) \
45
+ info.Set##cname(unwrap<type>(value));
46
+
47
+ #define set_option2(name,cname) \
48
+ if(RTEST(value = rb_hash_aref(hash,ID2SYM(rb_intern(#name))))) \
49
+ {\
50
+ value = rb_ary_to_ary(value);\
51
+ if(RARRAY_LEN(value) > 1) {\
52
+ info.Set##cname(unwrap<wxString>(RARRAY_AREF(value,0)),unwrap<wxString>(RARRAY_AREF(value,1)));\
53
+ }else \
54
+ {\
55
+ info.Set##cname(unwrap<wxString>(RARRAY_AREF(value,0)));\
56
+ }\
57
+ }
58
+
59
+ wxAboutDialogInfo toInto(VALUE hash)
60
+ {
61
+ wxAboutDialogInfo info;
62
+ if(NIL_P(hash))
63
+ return info;
64
+
65
+ VALUE value;
66
+
67
+ set_option(name,Name,wxString)
68
+ set_option2(version,Version)
69
+ set_option(description,Description,wxString)
70
+ set_option(copyright,Copyright,wxString)
71
+ set_option(licence,Licence,wxString)
72
+ set_option2(web_site,WebSite)
73
+ set_option(icon,Icon,wxIcon)
74
+
75
+ set_option(developers,Developers,wxArrayString)
76
+ set_option(doc_writers,DocWriters,wxArrayString)
77
+ set_option(artists,Artists,wxArrayString)
78
+ set_option(translators,Translators,wxArrayString)
79
+
80
+ return info;
81
+ }
82
+
83
+ DLL_LOCAL VALUE _aboutBox(int argc,VALUE *argv,VALUE self)
84
+ {
85
+ VALUE hash,parent;
86
+ rb_scan_args(argc, argv, "11",&parent,&hash);
87
+
88
+ app_protected();
89
+
90
+ if(NIL_P(hash))
91
+ std::swap(hash,parent);
92
+
93
+ wxAboutBox(toInto(hash),unwrap<wxWindow*>(parent));
94
+
95
+
96
+ return self;
97
+ }
98
+
99
+ DLL_LOCAL VALUE _genericaboutBox(int argc,VALUE *argv,VALUE self)
100
+ {
101
+ VALUE hash,parent;
102
+ rb_scan_args(argc, argv, "11",&parent,&hash);
103
+
104
+ app_protected();
105
+
106
+ if(NIL_P(hash))
107
+ std::swap(hash,parent);
108
+
109
+ wxGenericAboutBox(toInto(hash),unwrap<wxWindow*>(parent));
110
+
111
+
112
+ return self;
113
+ }
114
+
115
+ /*
116
+ * call-seq:
117
+ * SingleChoiceDialog.new(parent, [options])
118
+ *
119
+ * creates a new SingleChoiceDialog widget.
120
+ * ===Arguments
121
+ * * parent of this window or nil
122
+ *
123
+ * *options: Hash with possible options to set
124
+ *
125
+ */
126
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
127
+ {
128
+ VALUE parent,info;
129
+ rb_scan_args(argc, argv, "11",&parent,&info);
130
+
131
+
132
+ if(!_created){
133
+
134
+ _self->Create(toInto(info),unwrap<wxWindow*>(parent));
135
+
136
+ }
137
+ rb_call_super(argc,argv);
138
+ return self;
139
+
140
+ }
141
+
142
+ VALUE _addControl(int argc,VALUE *argv,VALUE self)
143
+ {
144
+ VALUE control,sizer,arg;
145
+ rb_scan_args(argc, argv, "11:",&control,&sizer,&arg);
146
+ wxControl *c = NULL;
147
+ if(rb_obj_is_kind_of(control,rb_cClass) && rb_class_inherited(control,rb_cWXControl)) {
148
+ VALUE argv2[] = {self, arg };
149
+ c = unwrap<wxControl*>(rb_class_new_instance(2,argv2,control));
150
+ } else if(nil_check(control)) {
151
+ window_parent_check(control,_self,c);
152
+ }
153
+
154
+ _self->AddControl(c,unwrap<wxSizerFlags>(sizer));
155
+ return self;
156
+ }
157
+
158
+
159
+ VALUE _addText(VALUE self,VALUE text)
160
+ {
161
+ _self->AddText(unwrap<wxString>(text));
162
+ return self;
163
+ }
164
+
165
+ #if wxUSE_COLLPANE
166
+ VALUE _addCollapsiblePane(VALUE self,VALUE title,VALUE text)
167
+ {
168
+ _self->AddCollapsiblePane(unwrap<wxString>(title),unwrap<wxString>(text));
169
+ return self;
170
+ }
171
+ #endif
172
+
173
+
174
+ }
175
+ }
176
+
177
+ #endif
178
+
179
+ DLL_LOCAL void Init_WXAboutDlg(VALUE rb_mWX)
180
+ {
181
+ #if 0
182
+ rb_mWX = rb_define_module("WX");
183
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
184
+
185
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
186
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
187
+
188
+ #endif
189
+ #if wxUSE_ABOUTDLG
190
+ using namespace RubyWX::AboutDlg;
191
+
192
+ rb_cWXAboutDialog = rb_define_class_under(rb_mWX,"AboutDialog",rb_cWXDialog);
193
+ rb_define_alloc_func(rb_cWXAboutDialog,_alloc);
194
+
195
+ rb_define_method(rb_cWXAboutDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
196
+
197
+ rb_define_method(rb_cWXAboutDialog,"add_control",RUBY_METHOD_FUNC(_addControl),-1);
198
+ rb_define_method(rb_cWXAboutDialog,"add_text",RUBY_METHOD_FUNC(_addText),1);
199
+
200
+ #if wxUSE_COLLPANE
201
+ rb_define_method(rb_cWXAboutDialog,"add_collapsible_pane",RUBY_METHOD_FUNC(_addCollapsiblePane),2);
202
+ #endif
203
+
204
+ registerInfo<RubyAboutDlg>(rb_cWXAboutDialog);
205
+
206
+ rb_define_module_function(rb_mWX,"about_box",RUBY_METHOD_FUNC(_aboutBox),-1);
207
+ rb_define_module_function(rb_mWX,"generic_about_box",RUBY_METHOD_FUNC(_genericaboutBox),-1);
208
+
209
+
210
+ #endif
211
+
212
+ }
213
+
@@ -0,0 +1,19 @@
1
+ /*
2
+ * wxAboutDlg.hpp
3
+ *
4
+ * Created on: 29.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXABOUTDLG_HPP_
9
+ #define WXABOUTDLG_HPP_
10
+
11
+ #include "wxBitmap.hpp"
12
+
13
+ #if wxUSE_ABOUTDLG
14
+ #include <wx/aboutdlg.h>
15
+ #include <wx/generic/aboutdlgg.h>
16
+ #endif
17
+ void Init_WXAboutDlg(VALUE rb_mWX);
18
+
19
+ #endif /* WXABOUTDLG_HPP_ */
@@ -0,0 +1,141 @@
1
+ /*
2
+ * wxAnyButton.cpp
3
+ *
4
+ * Created on: 13.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxAnyButton.hpp"
10
+
11
+ VALUE rb_cWXAnyButton;
12
+
13
+ #ifdef wxHAS_ANY_BUTTON
14
+
15
+ #define _self unwrap<wxAnyButton*>(self)
16
+
17
+ namespace RubyWX {
18
+ namespace AnyButton {
19
+
20
+ macro_attr(BitmapLabel,wxBitmap)
21
+ macro_attr(BitmapPressed,wxBitmap)
22
+ macro_attr(BitmapDisabled,wxBitmap)
23
+ macro_attr(BitmapCurrent,wxBitmap)
24
+ macro_attr(BitmapFocus,wxBitmap)
25
+
26
+ macro_attr(BitmapSelected,wxBitmap)
27
+ macro_attr(BitmapHover,wxBitmap)
28
+
29
+ macro_attr(BitmapMargins,wxSize)
30
+
31
+ singlereturn(GetBitmap)
32
+
33
+ APP_PROTECT(wxAnyButton)
34
+
35
+
36
+ /*
37
+ * call-seq:
38
+ *
39
+ *
40
+ * creates a new AnyButton widget.
41
+ * ===Arguments
42
+ * * parent of this window or nil
43
+ *
44
+ * *options: Hash with possible options to set:
45
+ * * bitmap_label WX::Bitmap
46
+ * * bitmap_pressed WX::Bitmap
47
+ * * bitmap_disabled WX::Bitmap
48
+ * * bitmap_current WX::Bitmap
49
+ * * bitmap_focus WX::Bitmap
50
+ * * bitmap_selected WX::Bitmap
51
+ * * bitmap_hover WX::Bitmap
52
+ * * bitmap_margins WX::Size
53
+ *
54
+ */
55
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
56
+ {
57
+ VALUE parent,name,hash;
58
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
59
+
60
+ rb_call_super(argc,argv);
61
+ if(rb_obj_is_kind_of(hash,rb_cHash))
62
+ {
63
+ VALUE temp;
64
+ set_option(bitmap_label,BitmapLabel,wxBitmap)
65
+ set_option(bitmap_pressed,BitmapPressed,wxBitmap)
66
+ set_option(bitmap_disabled,BitmapDisabled,wxBitmap)
67
+ set_option(bitmap_current,BitmapCurrent,wxBitmap)
68
+ set_option(bitmap_focus,BitmapFocus,wxBitmap)
69
+ set_option(bitmap_selected,BitmapSelected,wxBitmap)
70
+ set_option(bitmap_hover,BitmapHover,wxBitmap)
71
+
72
+ set_option(bitmap_margins,BitmapMargins,wxSize)
73
+ }
74
+
75
+ return self;
76
+ }
77
+
78
+ }
79
+ }
80
+
81
+ #endif
82
+
83
+ /* Document-attr: bitmap_label
84
+ * the WX::Bitmap of the button in normal state
85
+ */
86
+ /* Document-attr: bitmap_pressed
87
+ * the WX::Bitmap of the button in pressed state
88
+ */
89
+ /* Document-attr: bitmap_disabled
90
+ * the WX::Bitmap of the button in disabled state
91
+ */
92
+ /* Document-attr: bitmap_current
93
+ * the WX::Bitmap of the button in current state
94
+ */
95
+ /* Document-attr: bitmap_focus
96
+ * the WX::Bitmap of the button in focus state
97
+ */
98
+ /* Document-attr: bitmap_selected
99
+ * the WX::Bitmap of the button in selected state
100
+ */
101
+ /* Document-attr: bitmap_hover
102
+ * the WX::Bitmap of the button in hover state
103
+ */
104
+
105
+ DLL_LOCAL void Init_WXAnyButton(VALUE rb_mWX)
106
+ {
107
+ #if 0
108
+ rb_mWX = rb_define_module("WX");
109
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
110
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
111
+
112
+ rb_define_attr(rb_cWXAnyButton,"bitmap_label",1,1);
113
+ rb_define_attr(rb_cWXAnyButton,"bitmap_pressed",1,1);
114
+ rb_define_attr(rb_cWXAnyButton,"bitmap_disabled",1,1);
115
+ rb_define_attr(rb_cWXAnyButton,"bitmap_current",1,1);
116
+ rb_define_attr(rb_cWXAnyButton,"bitmap_focus",1,1);
117
+ rb_define_attr(rb_cWXAnyButton,"bitmap_selected",1,1);
118
+ rb_define_attr(rb_cWXAnyButton,"bitmap_hover",1,1);
119
+
120
+ #endif
121
+
122
+ #ifdef wxHAS_ANY_BUTTON
123
+ using namespace RubyWX::AnyButton;
124
+ rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
125
+ rb_undef_alloc_func(rb_cWXAnyButton);
126
+
127
+ rb_define_method(rb_cWXAnyButton,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
128
+
129
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_label",_getBitmapLabel,_setBitmapLabel);
130
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_pressed",_getBitmapPressed,_setBitmapPressed);
131
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_disabled",_getBitmapDisabled,_setBitmapDisabled);
132
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_current",_getBitmapCurrent,_setBitmapCurrent);
133
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_focus",_getBitmapFocus,_setBitmapFocus);
134
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_selected",_getBitmapSelected,_setBitmapSelected);
135
+ rb_define_attr_method(rb_cWXAnyButton,"bitmap_hover",_getBitmapHover,_setBitmapHover);
136
+
137
+ registerInfo<wxAnyButton>(rb_cWXAnyButton);
138
+ #endif
139
+ }
140
+
141
+
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxAnyButton.hpp
3
+ *
4
+ * Created on: 13.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXANYBUTTON_HPP_
9
+ #define WXANYBUTTON_HPP_
10
+
11
+ #include "wxWindow.hpp"
12
+
13
+ extern VALUE rb_cWXAnyButton;
14
+
15
+ void Init_WXAnyButton(VALUE rb_mWX);
16
+
17
+ #endif /* WXANYBUTTON_HPP_ */
@@ -0,0 +1,93 @@
1
+ /*
2
+ * wxAnyChoiceDialog.cpp
3
+ *
4
+ * Created on: 08.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxAnyChoiceDialog.hpp"
10
+
11
+ VALUE rb_cWXAnyChoiceDialog;
12
+
13
+ #if wxUSE_CHOICEDLG
14
+ #define _self unwrap<wxAnyChoiceDialog*>(self)
15
+
16
+ namespace RubyWX {
17
+ namespace AnyChoiceDialog {
18
+
19
+ APP_PROTECT(wxAnyChoiceDialog)
20
+
21
+ /*
22
+ * call-seq:
23
+ * AnyChoiceDialog.new(parent, name, [options])
24
+ * AnyChoiceDialog.new(parent, [options])
25
+ *
26
+ * creates a new SingleChoiceDialog widget.
27
+ * ===Arguments
28
+ * * parent of this window or nil
29
+ *
30
+ * *options: Hash with possible options to set:
31
+ * * choices [string]
32
+ * * message String
33
+ *
34
+ */
35
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
36
+ {
37
+ VALUE parent,name,hash;
38
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
39
+
40
+
41
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)){
42
+ int style(wxCHOICEDLG_STYLE);
43
+ wxArrayString choices;
44
+
45
+ wxString message(wxEmptyString);
46
+ wxString caption(wxEmptyString);
47
+
48
+ if(rb_obj_is_kind_of(hash,rb_cHash)){
49
+ set_hash_option(hash,"style",style);
50
+ set_hash_option(hash,"choices",choices);
51
+ set_hash_option(hash,"message",message);
52
+ set_hash_option(hash,"caption",caption);
53
+ }
54
+
55
+ _self->Create(unwrap<wxWindow*>(parent),message,caption,choices,style);
56
+
57
+ }
58
+ rb_call_super(argc,argv);
59
+ return self;
60
+
61
+ }
62
+
63
+ }
64
+ }
65
+ #endif
66
+ DLL_LOCAL void Init_WXAnyChoiceDialog(VALUE rb_mWX)
67
+ {
68
+
69
+ #if 0
70
+ rb_mWX = rb_define_module("WX");
71
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
72
+
73
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
74
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
75
+
76
+ #endif
77
+
78
+ #if wxUSE_CHOICEDLG
79
+ using namespace RubyWX::AnyChoiceDialog;
80
+ rb_cWXAnyChoiceDialog = rb_define_class_under(rb_mWX,"AnyChoiceDialog",rb_cWXDialog);
81
+ rb_define_alloc_func(rb_cWXAnyChoiceDialog,_alloc);
82
+
83
+ rb_define_method(rb_cWXAnyChoiceDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
84
+
85
+ rb_define_const(rb_cWXAnyChoiceDialog,"DEFAULT_STYLE",INT2NUM(wxCHOICEDLG_STYLE));
86
+
87
+
88
+ registerInfo<wxAnyChoiceDialog>(rb_cWXAnyChoiceDialog);
89
+ #endif
90
+ }
91
+
92
+
93
+