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,17 @@
1
+ /*
2
+ * wxMenu.hpp
3
+ *
4
+ * Created on: 17.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXMENU_HPP_
9
+ #define WXMENU_HPP_
10
+
11
+
12
+ #include "main.hpp"
13
+
14
+ extern VALUE rb_cWXMenu;
15
+ DLL_LOCAL void Init_WXMenu(VALUE rb_mWX);
16
+
17
+ #endif /* WXMENU_HPP_ */
@@ -0,0 +1,180 @@
1
+ /*
2
+ * wxMenuBar.cpp
3
+ *
4
+ * Created on: 24.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxApp.hpp"
9
+
10
+ #include "wxMenu.hpp"
11
+ #include "wxEvtHandler.hpp"
12
+
13
+ VALUE rb_cWXMenuBar;
14
+
15
+ #if wxUSE_MENUS
16
+ #define _self unwrap<wxMenuBar*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace MenuBar {
20
+
21
+ APP_PROTECT(wxMenuBar)
22
+
23
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
24
+ {
25
+ rb_call_super(argc,argv);
26
+ return self;
27
+ }
28
+
29
+ DLL_LOCAL VALUE _each_size(VALUE self)
30
+ {
31
+ return UINT2NUM(_self->GetMenuCount());
32
+ }
33
+
34
+
35
+ DLL_LOCAL VALUE _each(VALUE self)
36
+ {
37
+ RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_each_size));
38
+ std::size_t count = _self->GetMenuCount();
39
+ for(std::size_t i = 0;i < count;++i)
40
+ rb_yield(wrap(_self->GetMenu(i)));
41
+ return self;
42
+ }
43
+
44
+
45
+ wxMenu* add_base(VALUE menu,wxString &name)
46
+ {
47
+ wxMenu *m = NULL;
48
+ if(!rb_obj_is_kind_of(menu,rb_cWXMenu))
49
+ {
50
+ m = new wxMenu;
51
+ if(rb_block_given_p())
52
+ rb_yield(wrap(m));
53
+
54
+ name = unwrap<wxString>(menu);
55
+
56
+ if(SYMBOL_P(menu))
57
+ {
58
+ wxWindowID id(unwrapID(menu));
59
+ if(wxIsStockID(id))
60
+ {
61
+ name = wxGetStockLabel(id);
62
+ }
63
+ }
64
+
65
+ } else {
66
+ m = unwrap<wxMenu*>(menu);
67
+ name = m->GetTitle();
68
+ }
69
+
70
+ if(name.IsEmpty())
71
+ rb_raise(rb_eArgError,"Menu must have a title.");
72
+
73
+ return m;
74
+ }
75
+
76
+ DLL_LOCAL VALUE _appendSelf(VALUE self,VALUE menu)
77
+ {
78
+ wxString name(wxEmptyString);
79
+
80
+ _self->Append(add_base(menu,name),name);
81
+ return self;
82
+ }
83
+
84
+
85
+ /*
86
+ * call-seq:
87
+ * append(menu) -> true/false
88
+ * append(title) {|menu| } -> true/false
89
+ * ===Arguments
90
+ * * menu WX::Menu
91
+ * * title String
92
+ *
93
+ * ===Return value
94
+ * true/false
95
+ */
96
+ DLL_LOCAL VALUE _append(VALUE self,VALUE menu)
97
+ {
98
+ wxString name(wxEmptyString);
99
+
100
+ return wrap(_self->Append(add_base(menu,name),name));
101
+ }
102
+
103
+
104
+ /*
105
+ * call-seq:
106
+ * insert(idx, menu) -> true/false
107
+ * insert(idx, title) {|menu| } -> true/false
108
+ * ===Arguments
109
+ * * idx Integer
110
+ * * menu WX::Menu
111
+ * * title String
112
+ *
113
+ * ===Return value
114
+ * true/false
115
+ */
116
+ DLL_LOCAL VALUE _insert(VALUE self,VALUE idx,VALUE menu)
117
+ {
118
+ wxString name(wxEmptyString);
119
+ int cidx = NUM2INT(idx);
120
+
121
+ if(check_index(cidx,_self->GetMenuCount()+1))
122
+ return wrap(_self->Insert(cidx,add_base(menu,name),name));
123
+
124
+ return Qnil;
125
+ }
126
+
127
+
128
+ /*
129
+ * call-seq:
130
+ * prepend(menu) -> true/false
131
+ * prepend(title) {|menu| } -> true/false
132
+ * ===Arguments
133
+ * * menu WX::Menu
134
+ * * title String
135
+ *
136
+ * ===Return value
137
+ * true/false
138
+ */
139
+ DLL_LOCAL VALUE _prepend(VALUE self,VALUE menu)
140
+ {
141
+ wxString name(wxEmptyString);
142
+
143
+ return wrap(_self->Insert(0,add_base(menu,name),name));
144
+ }
145
+ singlereturn(GetFrame);
146
+
147
+ }
148
+ }
149
+
150
+ #endif
151
+
152
+ DLL_LOCAL void Init_WXMenuBar(VALUE rb_mWX)
153
+ {
154
+ #if 0
155
+ rb_mWX = rb_define_module("WX");
156
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
157
+
158
+ #endif
159
+ #if wxUSE_MENUS
160
+ using namespace RubyWX::MenuBar;
161
+ rb_cWXMenuBar = rb_define_class_under(rb_mWX,"MenuBar",rb_cWXWindow);
162
+ rb_define_alloc_func(rb_cWXMenuBar,_alloc);
163
+
164
+ rb_define_method(rb_cWXMenuBar,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
165
+
166
+ rb_define_method(rb_cWXMenuBar,"each_menu",RUBY_METHOD_FUNC(_each),0);
167
+
168
+ rb_define_method(rb_cWXMenuBar,"<<",RUBY_METHOD_FUNC(_appendSelf),1);
169
+
170
+ rb_define_method(rb_cWXMenuBar,"append",RUBY_METHOD_FUNC(_append),1);
171
+ rb_define_method(rb_cWXMenuBar,"insert",RUBY_METHOD_FUNC(_insert),2);
172
+ rb_define_method(rb_cWXMenuBar,"prepend",RUBY_METHOD_FUNC(_prepend),1);
173
+
174
+ rb_define_method(rb_cWXMenuBar,"frame",RUBY_METHOD_FUNC(_GetFrame),0);
175
+
176
+ rb_define_const(rb_cWXMenuBar,"DOCKABLE",INT2NUM(wxMB_DOCKABLE));
177
+
178
+ registerInfo<wxMenuBar>(rb_cWXMenuBar);
179
+ #endif
180
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxMenuBar.hpp
3
+ *
4
+ * Created on: 24.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXMENUBAR_HPP_
9
+ #define WXMENUBAR_HPP_
10
+
11
+
12
+ #include "wxWindow.hpp"
13
+
14
+ extern VALUE rb_cWXMenuBar;
15
+ DLL_LOCAL void Init_WXMenuBar(VALUE rb_mWX);
16
+
17
+ #endif /* WXMENUBAR_HPP_ */
@@ -0,0 +1,174 @@
1
+ /*
2
+ * wxMenuItem.cpp
3
+ *
4
+ * Created on: 18.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxWindow.hpp"
9
+ #include "wxApp.hpp"
10
+ #include "wxMenu.hpp"
11
+ #include "wxMenuItem.hpp"
12
+ #include "wxBitmap.hpp"
13
+
14
+
15
+
16
+ VALUE rb_cWXMenuItem;
17
+
18
+ #if wxUSE_MENUS
19
+
20
+ #define _self unwrap<wxMenuItem*>(self)
21
+
22
+ namespace RubyWX {
23
+ namespace MenuItem {
24
+
25
+ APP_PROTECT(wxMenuItem)
26
+
27
+ macro_attr(Menu,wxMenu*)
28
+ macro_attr(ItemLabel,wxString)
29
+ macro_attr_with_func(Id,wrapID,unwrapID)
30
+ macro_attr_enum(Kind,wxItemKind)
31
+ macro_attr(SubMenu,wxMenu*)
32
+
33
+ macro_attr(Help,wxString)
34
+
35
+ singlereturn(GetBitmap)
36
+
37
+ DLL_LOCAL VALUE _SetBitmap(VALUE self,VALUE val)
38
+ {
39
+ rb_check_frozen(self);
40
+ _self->SetBitmap(wrapBitmap(val,_self->GetId(),WRAP_BITMAP_RAISE,wxART_MENU));
41
+ return val;
42
+ }
43
+
44
+ /*
45
+ */
46
+ DLL_LOCAL VALUE _initialize_copy(VALUE self,VALUE other)
47
+ {
48
+ _setItemLabel(self,_getItemLabel(other));
49
+ _setId(self,_getId(other));
50
+ _setKind(self,_getKind(other));
51
+ _setSubMenu(self,_getSubMenu(other));
52
+ _setHelp(self,_getHelp(other));
53
+ _SetBitmap(self,_GetBitmap(other));
54
+ return self;
55
+ }
56
+
57
+ /*
58
+ * call-seq:
59
+ * marshal_dump -> Array
60
+ *
61
+ * Provides marshalling support for use by the Marshal library.
62
+ * ===Return value
63
+ * Array
64
+ */
65
+ DLL_LOCAL VALUE _marshal_dump(VALUE self)
66
+ {
67
+ VALUE result = rb_ary_new();
68
+
69
+ rb_ary_push(result,_getItemLabel(self));
70
+ rb_ary_push(result,_getId(self));
71
+ rb_ary_push(result,_getKind(self));
72
+ // rb_ary_push(result,_getSubMenu(self));
73
+ rb_ary_push(result,_getHelp(self));
74
+ #if wxUSE_IMAGE
75
+ rb_ary_push(result,_GetBitmap(self));
76
+ #endif
77
+ return result;
78
+ }
79
+
80
+ /*
81
+ * call-seq:
82
+ * marshal_load(array) -> nil
83
+ *
84
+ * Provides marshalling support for use by the Marshal library.
85
+ *
86
+ *
87
+ */
88
+ DLL_LOCAL VALUE _marshal_load(VALUE self,VALUE data)
89
+ {
90
+ _setItemLabel(self,RARRAY_AREF(data,0));
91
+ _setId(self,RARRAY_AREF(data,1));
92
+ _setKind(self,RARRAY_AREF(data,2));
93
+
94
+ _setHelp(self,RARRAY_AREF(data,3));
95
+ #if wxUSE_IMAGE
96
+ _SetBitmap(self,RARRAY_AREF(data,4));
97
+ #endif
98
+ return self;
99
+ }
100
+
101
+
102
+ }
103
+ }
104
+
105
+ #endif
106
+
107
+ /*
108
+ * Document-class: WX::Menu::Item
109
+ *
110
+ * This class represents an Item inside a WX::Menu
111
+ */
112
+
113
+ /* Document-attr: menu
114
+ * returns the parent menu, this attribute are not copied with inititalize_copy or stored with Marshal
115
+ */
116
+ /* Document-attr: label
117
+ * returns the label of the menu item. Type is String
118
+ */
119
+ /* Document-attr: id
120
+ * returns the Id of the menu item. Type can be Symbol,if pre- or user defined, or Integer if auto generated.
121
+ */
122
+ /* Document-attr: sub_menu
123
+ * returns the sub_menu, currently can be copied with inititalize_copy but not stored with Marshal
124
+ */
125
+ /* Document-attr: help
126
+ * returns the help string of the menu item. Type is String
127
+ */
128
+ /* Document-attr: bitmap
129
+ * returns the Bitmap, currently can be copied with inititalize_copy but only stored with Marshal when wxImage is available
130
+ */
131
+
132
+ DLL_LOCAL void Init_WXMenuItem(VALUE rb_mWX)
133
+ {
134
+ #if 0
135
+ rb_cWXMenu = rb_define_class_under(rb_mWX,"Menu",rb_cObject);
136
+
137
+ rb_define_attr(rb_cWXMenuItem,"menu",1,1);
138
+ rb_define_attr(rb_cWXMenuItem,"label",1,1);
139
+ rb_define_attr(rb_cWXMenuItem,"id",1,1);
140
+
141
+ rb_define_attr(rb_cWXMenuItem,"sub_menu",1,1);
142
+
143
+ rb_define_attr(rb_cWXMenuItem,"help",1,1);
144
+
145
+ rb_define_attr(rb_cWXMenuItem,"bitmap",1,1);
146
+
147
+ #endif
148
+
149
+ #if wxUSE_MENUS
150
+ using namespace RubyWX::MenuItem;
151
+ //
152
+ rb_cWXMenuItem = rb_define_class_under(rb_cWXMenu,"Item",rb_cObject);
153
+ rb_define_alloc_func(rb_cWXMenuItem,_alloc);
154
+
155
+ rb_define_private_method(rb_cWXMenuItem,"initialize_copy",RUBY_METHOD_FUNC(_initialize_copy),0);
156
+
157
+ rb_define_attr_method(rb_cWXMenuItem,"menu",_getMenu,_setMenu);
158
+ rb_define_attr_method(rb_cWXMenuItem,"label",_getItemLabel,_setItemLabel);
159
+ rb_define_attr_method(rb_cWXMenuItem,"id",_getId,_setId);
160
+
161
+ rb_define_attr_method(rb_cWXMenuItem,"sub_menu",_getSubMenu,_setSubMenu);
162
+
163
+ rb_define_attr_method(rb_cWXMenuItem,"help",_getHelp,_setHelp);
164
+
165
+ rb_define_attr_method(rb_cWXMenuItem,"bitmap",_GetBitmap,_SetBitmap);
166
+
167
+ rb_define_method(rb_cWXMenuItem,"marshal_dump",RUBY_METHOD_FUNC(_marshal_dump),0);
168
+ rb_define_method(rb_cWXMenuItem,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),1);
169
+
170
+
171
+ registerInfo<wxMenuItem>(rb_cWXMenuItem);
172
+
173
+ #endif
174
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxMenuItem.hpp
3
+ *
4
+ * Created on: 18.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXMENUITEM_HPP_
9
+ #define WXMENUITEM_HPP_
10
+
11
+
12
+ #include "main.hpp"
13
+
14
+ extern VALUE rb_cWXMenuItem;
15
+ DLL_LOCAL void Init_WXMenuItem(VALUE rb_mWX);
16
+
17
+ #endif /* WXMENUITEM_HPP_ */
@@ -0,0 +1,91 @@
1
+ /*
2
+ * wxMessageDialog.cpp
3
+ *
4
+ * Created on: 25.11.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxMessageDialog.hpp"
10
+
11
+ VALUE rb_cWXMessageDialog;
12
+
13
+ #if wxUSE_MSGDLG
14
+ #define _self unwrap<wxMessageDialog*>(self)
15
+
16
+ namespace RubyWX {
17
+ namespace MessageDialog {
18
+
19
+ #ifdef HAVE_WXMESSAGEDIALOG
20
+ APP_PROTECT(wxMessageDialog)
21
+ #else
22
+ APP_PROTECT_NULL
23
+ #endif
24
+
25
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
26
+ {
27
+ VALUE parent,name,hash;
28
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
29
+
30
+ wxString message;
31
+ wxString caption(wxMessageBoxCaptionStr);
32
+ int style(wxOK|wxCENTRE);
33
+
34
+ #ifdef HAVE_WXMESSAGEDIALOG
35
+ if(!_created && rb_obj_is_kind_of(name,rb_cString)) {
36
+
37
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
38
+ set_hash_option(hash,"message",message);
39
+ set_hash_option(hash,"caption",caption);
40
+ set_hash_option(hash,"style",style);
41
+ }
42
+
43
+ _self->Create(
44
+ unwrap<wxWindow*>(parent),message,caption,style
45
+ );
46
+
47
+ }
48
+ #else
49
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
50
+ set_hash_option(hash,"message",message);
51
+ set_hash_option(hash,"caption",caption);
52
+ set_hash_option(hash,"style",style);
53
+ }
54
+
55
+ RTYPEDDATA_DATA(self) = new wxMessageDialog(
56
+ unwrap<wxWindow*>(parent),message,caption,style
57
+ );
58
+
59
+ #endif
60
+
61
+ rb_call_super(argc,argv);
62
+ return self;
63
+ }
64
+
65
+
66
+ }
67
+ }
68
+ #endif
69
+ DLL_LOCAL void Init_WXMessageDialog(VALUE rb_mWX)
70
+ {
71
+
72
+ #if 0
73
+ rb_mWX = rb_define_module("WX");
74
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
75
+
76
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
77
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
78
+ rb_cWXMessageDialogBase = rb_define_class_under(rb_mWX,"MessageDialogBase",rb_cWXDialog);
79
+ #endif
80
+
81
+ #if wxUSE_MSGDLG
82
+ using namespace RubyWX::MessageDialog;
83
+ rb_cWXMessageDialog = rb_define_class_under(rb_mWX,"MessageDialog",rb_cWXMessageDialogBase);
84
+ rb_define_alloc_func(rb_cWXMessageDialog,_alloc);
85
+
86
+ rb_define_method(rb_cWXMessageDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
87
+
88
+ registerInfo<wxMessageDialog>(rb_cWXMessageDialog);
89
+ #endif
90
+
91
+ }