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,29 @@
1
+ /*
2
+ * wxAuiPane.hpp
3
+ *
4
+ * Created on: 15.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXAUIPANE_HPP_
9
+ #define WXAUIPANE_HPP_
10
+
11
+ #include "wxBitmap.hpp"
12
+ #include "wxAui.hpp"
13
+
14
+ extern VALUE rb_cWXAuiPane;
15
+
16
+ void Init_WXAuiPane(VALUE rb_mWX);
17
+
18
+
19
+ #if wxUSE_AUI
20
+
21
+ template <>
22
+ VALUE wrap< wxAuiPaneInfo >(wxAuiPaneInfo *vinfo);
23
+
24
+ template <>
25
+ wxAuiPaneInfo unwrap< wxAuiPaneInfo >(const VALUE &vinfo);
26
+
27
+ #endif
28
+
29
+ #endif /* WXAUIPANE_HPP_ */
@@ -0,0 +1,47 @@
1
+ /*
2
+ * wxAuiToolBar.cpp
3
+ *
4
+ * Created on: 30.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxAuiToolBar.hpp"
10
+ #include "wxToolBarBase.hpp"
11
+
12
+ VALUE rb_cWXAuiToolBar;
13
+
14
+ #undef wxUSE_AUI
15
+ #if wxUSE_AUI
16
+ #define _self unwrap<wxAuiToolBar*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace AuiToolBar {
20
+
21
+ APP_PROTECT(wxAuiToolBar)
22
+
23
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
24
+ {
25
+ VALUE parent,hash;
26
+ rb_scan_args(argc, argv, "11",&parent,&hash);
27
+ _self->Create(unwrap<wxWindow*>(parent),wxID_ANY);
28
+
29
+ rb_call_super(argc,argv);
30
+ return self;
31
+ }
32
+
33
+ }
34
+ }
35
+
36
+ #endif
37
+
38
+ DLL_LOCAL void Init_WXAuiToolBar(VALUE rb_mWX)
39
+ {
40
+ #if wxUSE_AUI
41
+ using namespace RubyWX::AuiToolBar;
42
+ rb_cWXAuiToolBar = rb_define_class_under(rb_mWX,"AuiToolBar",rb_cWXToolBarBase);
43
+ rb_define_alloc_func(rb_cWXAuiToolBar,_alloc);
44
+
45
+ rb_define_method(rb_cWXAuiToolBar,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
46
+ #endif
47
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxAuiToolBar.hpp
3
+ *
4
+ * Created on: 30.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXAUITOOLBAR_HPP_
9
+ #define WXAUITOOLBAR_HPP_
10
+
11
+ #include "wxAui.hpp"
12
+
13
+ extern VALUE rb_cWXAuiToolBar;
14
+
15
+ void Init_WXAuiToolBar(VALUE rb_mWX);
16
+
17
+ #endif /* WXAUITOOLBAR_HPP_ */
@@ -0,0 +1,368 @@
1
+ /*
2
+ * wxBitmap.cpp
3
+ *
4
+ * Created on: 16.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxBitmap.hpp"
10
+ #include "wxPalette.hpp"
11
+ #include "wxDC.hpp"
12
+ #include <map>
13
+ #include <wx/artprov.h>
14
+
15
+ #define _self unwrap<wxBitmap*>(self)
16
+
17
+ VALUE rb_cWXBitmap;
18
+
19
+ typedef std::map<wxWindowID,wxArtID> WindowArt;
20
+ WindowArt windowArtHolder;
21
+ typedef std::map<ID,wxArtID> RubyArt;
22
+ RubyArt rubyArtHolder;
23
+
24
+ void registerArtID(const char * name,const wxArtID& artid,wxWindowID wid = wxID_NONE)
25
+ {
26
+ if(wid != wxID_NONE)
27
+ windowArtHolder.insert(std::make_pair(wid,artid));
28
+ rubyArtHolder.insert(std::make_pair(rb_intern(name),artid));
29
+ }
30
+
31
+
32
+ template <>
33
+ VALUE wrap< wxBitmap >(const wxBitmap &vbitmap)
34
+ {
35
+ if(!vbitmap.IsOk())
36
+ return Qnil;
37
+ return wrap(new wxBitmap(vbitmap));
38
+ }
39
+
40
+ template <>
41
+ VALUE wrap< wxBitmap >(wxBitmap *bitmap )
42
+ {
43
+ if(!bitmap || !bitmap->IsOk() || bitmap == &wxNullBitmap)
44
+ return Qnil;
45
+ return wrapTypedPtr(bitmap,rb_cWXBitmap);
46
+ }
47
+
48
+ template <>
49
+ wxBitmap* unwrap< wxBitmap* >(const VALUE &vbitmap)
50
+ {
51
+ if(NIL_P(vbitmap))
52
+ return &wxNullBitmap;
53
+ if(rb_obj_is_kind_of(vbitmap,rb_cWXBitmap))
54
+ return unwrapTypedPtr<wxBitmap>(vbitmap, rb_cWXBitmap);
55
+ #if wxUSE_IMAGE
56
+ if(rb_obj_is_kind_of(vbitmap,rb_cWXImage))
57
+ return new wxBitmap(unwrap<wxImage>(vbitmap));
58
+ #endif
59
+ if(is_wrapable<wxSize>(vbitmap))
60
+ return new wxBitmap(unwrap<wxSize>(vbitmap));
61
+ else
62
+ return new wxBitmap(unwrap<wxString>(vbitmap),wxBITMAP_TYPE_ANY);
63
+ }
64
+
65
+ template <>
66
+ wxBitmap unwrap< wxBitmap >(const VALUE &vbitmap)
67
+ {
68
+ return *unwrap<wxBitmap*>(vbitmap);
69
+ }
70
+
71
+ template <>
72
+ wxBitmap& unwrap< wxBitmap& >(const VALUE &vbitmap)
73
+ {
74
+ return *unwrap< wxBitmap* >(vbitmap);
75
+ }
76
+
77
+
78
+ template <>
79
+ VALUE wrap< wxIcon >(wxIcon *icon )
80
+ {
81
+ if(!icon || !icon->IsOk() || icon == &wxNullIcon)
82
+ return Qnil;
83
+ return wrap< wxBitmap >(wxBitmap(*icon));
84
+ }
85
+ template <>
86
+ VALUE wrap< wxIcon >(const wxIcon &icon )
87
+ {
88
+ if(!icon.IsOk() || &icon == &wxNullIcon)
89
+ return Qnil;
90
+ return wrap< wxBitmap >(new wxBitmap(icon));
91
+ }
92
+
93
+ template <>
94
+ wxIcon* unwrap< wxIcon* >(const VALUE &vbitmap)
95
+ {
96
+ if(NIL_P(vbitmap))
97
+ return &wxNullIcon;
98
+ wxIcon *icon = new wxIcon();
99
+ icon->CopyFromBitmap(unwrap<wxBitmap>(vbitmap));
100
+ return icon;
101
+ }
102
+
103
+ template <>
104
+ wxIcon unwrap< wxIcon >(const VALUE &vbitmap)
105
+ {
106
+ return *unwrap<wxIcon*>(vbitmap);
107
+ }
108
+
109
+ template <>
110
+ VALUE wrap< wxImageList >(wxImageList *imagelist )
111
+ {
112
+ VALUE result = rb_ary_new();
113
+ int count = imagelist->GetImageCount();
114
+ for(int i = 0;i < count;++i)
115
+ rb_ary_push(result,wrap(imagelist->GetBitmap(i)));
116
+ return result;
117
+ }
118
+
119
+ template <>
120
+ wxImageList* unwrap< wxImageList* >(const VALUE &imagelist)
121
+ {
122
+ wxImageList *result = new wxImageList;
123
+ VALUE dup(rb_Array(imagelist));
124
+ result->Create();
125
+ std::size_t count = RARRAY_LEN(dup);
126
+ for(std::size_t i = 0;i < count;++i)
127
+ result->Add(unwrap<wxBitmap>(RARRAY_AREF(dup,i)));
128
+ return result;
129
+ }
130
+
131
+
132
+ namespace RubyWX {
133
+ namespace Bitmap {
134
+
135
+ macro_attr(Height,int)
136
+ macro_attr(Width,int)
137
+ macro_attr(Depth,int)
138
+
139
+ macro_attr(Mask,wxMask*)
140
+ #if wxUSE_PALETTE
141
+ macro_attr(Palette,wxPalette)
142
+ #endif
143
+
144
+ DLL_LOCAL VALUE _alloc(VALUE self) {
145
+ return wrap(new wxBitmap);
146
+ }
147
+
148
+ DLL_LOCAL VALUE _draw(VALUE self)
149
+ {
150
+ wxDC *dc;
151
+ wxMemoryDC *mdc = new wxMemoryDC;
152
+ mdc->SelectObject(*_self);
153
+ #if wxUSE_GRAPHICS_CONTEXT
154
+ dc = new wxGCDC(*mdc);
155
+ #else
156
+ dc = &mdc;
157
+ #endif
158
+ rb_yield(wrap(dc));
159
+ mdc->SelectObject(wxNullBitmap);
160
+
161
+ //TODO add a way to delete the DCs again
162
+ return self;
163
+ }
164
+
165
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
166
+ {
167
+ VALUE x,y;
168
+ rb_scan_args(argc, argv, "11",&x,&y);
169
+
170
+ if(NIL_P(x))
171
+ {
172
+ _self->LoadFile(unwrap<wxString>(x),wxBITMAP_TYPE_ANY);
173
+ }else
174
+ _self->Create(NUM2INT(x),NUM2INT(y));
175
+
176
+ return self;
177
+ }
178
+
179
+
180
+ DLL_LOCAL VALUE _initialize_copy(VALUE self,VALUE other)
181
+ {
182
+ //TODO delete old data?
183
+ RTYPEDDATA_DATA(self) = new wxBitmap(unwrap<wxBitmap>(other));
184
+ return self;
185
+ }
186
+
187
+
188
+ #if wxUSE_IMAGE
189
+ DLL_LOCAL VALUE _to_image(VALUE self)
190
+ {
191
+ return wrap(_self->ConvertToImage());
192
+ }
193
+
194
+
195
+ /*
196
+ * call-seq:
197
+ * marshal_dump -> Array
198
+ *
199
+ * Provides marshalling support for use by the Marshal library.
200
+ * ===Return value
201
+ * Array
202
+ */
203
+ DLL_LOCAL VALUE _marshal_dump(VALUE self)
204
+ {
205
+ return wrap(_self->ConvertToImage());
206
+ }
207
+
208
+ /*
209
+ * call-seq:
210
+ * marshal_load(array) -> nil
211
+ *
212
+ * Provides marshalling support for use by the Marshal library.
213
+ *
214
+ *
215
+ */
216
+ DLL_LOCAL VALUE _marshal_load(VALUE self,VALUE data)
217
+ {
218
+ //TODO delete old data?
219
+ RTYPEDDATA_DATA(self) = new wxBitmap(unwrap<wxImage>(data));
220
+ return self;
221
+ }
222
+
223
+ #endif
224
+
225
+ DLL_LOCAL VALUE _to_bitmap(VALUE self)
226
+ {
227
+ return self;
228
+ }
229
+
230
+ DLL_LOCAL VALUE _save_file(int argc,VALUE *argv,VALUE self)
231
+ {
232
+ VALUE name;
233
+ rb_scan_args(argc, argv, "10",&name);
234
+ return wrap(_self->SaveFile(unwrap<wxString>(name),wxBITMAP_TYPE_PNG));
235
+ }
236
+
237
+ }
238
+ }
239
+
240
+ wxBitmap wrapBitmap(const VALUE &vbitmap,wxWindowID id,wrapBitmapType type,const wxArtClient &client)
241
+ {
242
+ if(NIL_P(vbitmap))
243
+ {
244
+ if(type == WRAP_BITMAP_NULL)
245
+ return wxNullBitmap;
246
+ else
247
+ {
248
+ WindowArt::iterator it = windowArtHolder.find(id);
249
+ if(it == windowArtHolder.end())
250
+ {
251
+ if(type == WRAP_BITMAP_RAISE)
252
+ rb_raise(rb_eArgError,"need an valid bitmap");
253
+ return wxNullBitmap;
254
+ }
255
+ return wxArtProvider::GetBitmap(it->second,client);
256
+ }
257
+ }else if(SYMBOL_P(vbitmap))
258
+ {
259
+ RubyArt::iterator it = rubyArtHolder.find(SYM2ID(vbitmap));
260
+ if(it == rubyArtHolder.end())
261
+ {
262
+ if(type == WRAP_BITMAP_RAISE)
263
+ rb_raise(rb_eArgError,"need an valid bitmap");
264
+ return wxNullBitmap;
265
+ }
266
+ return wxArtProvider::GetBitmap(it->second,client);
267
+ }
268
+ wxBitmap temp = wxArtProvider::GetBitmap(unwrap<wxString>(vbitmap),client);
269
+ if(temp.IsOk())
270
+ return temp;
271
+ return *unwrap<wxBitmap*>(vbitmap);
272
+ }
273
+
274
+
275
+
276
+ DLL_LOCAL void Init_WXBitmap(VALUE rb_mWX)
277
+ {
278
+ wxBitmap::InitStandardHandlers();
279
+
280
+ using namespace RubyWX::Bitmap;
281
+ rb_cWXBitmap = rb_define_class_under(rb_mWX,"Bitmap",rb_cObject);
282
+ rb_define_alloc_func(rb_cWXBitmap,_alloc);
283
+
284
+ rb_define_method(rb_cWXBitmap,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
285
+ rb_define_private_method(rb_cWXBitmap,"initialize_copy",RUBY_METHOD_FUNC(_initialize_copy),1);
286
+
287
+ #if wxUSE_IMAGE
288
+ rb_define_method(rb_cWXBitmap,"to_image",RUBY_METHOD_FUNC(_to_image),0);
289
+
290
+ rb_define_method(rb_cWXBitmap,"marshal_dump",RUBY_METHOD_FUNC(_marshal_dump),0);
291
+ rb_define_method(rb_cWXBitmap,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),1);
292
+ #else
293
+ rb_undef_method(rb_cWXBitmap,"_load");
294
+ rb_undef_method(rb_cWXBitmap,"_dump");
295
+ #endif
296
+
297
+ #if wxUSE_PALETTE
298
+ rb_define_attr_method(rb_cWXBitmap,"palette",_getPalette,_setPalette);
299
+ #endif
300
+
301
+ rb_define_method(rb_cWXBitmap,"to_bitmap",RUBY_METHOD_FUNC(_to_bitmap),0);
302
+
303
+ rb_define_method(rb_cWXBitmap,"save_file",RUBY_METHOD_FUNC(_save_file),-1);
304
+
305
+
306
+ registerArtID("folder",wxART_FOLDER);
307
+
308
+ registerArtID("open",wxART_FILE_OPEN,wxID_OPEN);
309
+ registerArtID("save",wxART_FILE_SAVE,wxID_SAVE);
310
+ registerArtID("save_as",wxART_FILE_SAVE_AS,wxID_SAVEAS);
311
+
312
+ registerArtID("folder_open",wxART_FOLDER_OPEN);
313
+
314
+
315
+ registerArtID("copy",wxART_COPY,wxID_COPY);
316
+ registerArtID("cut",wxART_CUT,wxID_CUT);
317
+ registerArtID("paste",wxART_PASTE,wxID_PASTE);
318
+ registerArtID("delete",wxART_DELETE,wxID_DELETE);
319
+ registerArtID("new",wxART_NEW,wxID_NEW);
320
+
321
+ registerArtID("undo",wxART_UNDO,wxID_UNDO);
322
+ registerArtID("redo",wxART_REDO,wxID_REDO);
323
+
324
+ registerArtID("plus",wxART_PLUS);
325
+ registerArtID("minus",wxART_MINUS);
326
+
327
+
328
+ registerArtID("print",wxART_PRINT,wxID_PRINT);
329
+
330
+
331
+
332
+ registerArtID("help",wxART_HELP,wxID_HELP);
333
+ registerArtID("tip",wxART_TIP);
334
+
335
+
336
+ registerArtID("close",wxART_CLOSE,wxID_CLOSE);
337
+ registerArtID("quit",wxART_QUIT);
338
+
339
+ registerArtID("find",wxART_FIND,wxID_FIND);
340
+ registerArtID("replace",wxART_FIND_AND_REPLACE,wxID_REPLACE);
341
+
342
+
343
+ registerArtID("floppy",wxART_FLOPPY,wxID_FLOPPY);
344
+ registerArtID("cdrom",wxART_CDROM,wxID_CDROM);
345
+
346
+
347
+ registerArtID("question",wxART_QUESTION);
348
+ registerArtID("warning",wxART_WARNING);
349
+ registerArtID("information",wxART_INFORMATION);
350
+ registerArtID("error",wxART_ERROR);
351
+
352
+ registerArtID("help_side_panel",wxART_HELP_SIDE_PANEL);
353
+ registerArtID("help_settings",wxART_HELP_SETTINGS);
354
+ registerArtID("help_book",wxART_HELP_BOOK);
355
+ registerArtID("help_folder",wxART_HELP_FOLDER);
356
+ registerArtID("help_page",wxART_HELP_PAGE);
357
+
358
+ registerArtID("go_back",wxART_GO_BACK);
359
+ registerArtID("go_forward",wxART_GO_FORWARD);
360
+ registerArtID("go_up",wxART_GO_UP);
361
+ registerArtID("go_down",wxART_GO_DOWN);
362
+ registerArtID("go_to_parent",wxART_GO_TO_PARENT);
363
+ registerArtID("go_home",wxART_GO_HOME);
364
+ registerArtID("goto_first",wxART_GOTO_FIRST);
365
+ registerArtID("goto_last",wxART_GOTO_LAST);
366
+
367
+
368
+ }