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,60 @@
1
+ /*
2
+ * wxBitmap.hpp
3
+ *
4
+ * Created on: 16.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXBITMAP_HPP_
9
+ #define WXBITMAP_HPP_
10
+
11
+ #include "wxImage.hpp"
12
+ #include <wx/imaglist.h>
13
+
14
+
15
+ extern VALUE rb_cWXBitmap;
16
+ void Init_WXBitmap(VALUE rb_mWX);
17
+
18
+ template <>
19
+ VALUE wrap< wxBitmap >(const wxBitmap& bitmap );
20
+
21
+ template <>
22
+ VALUE wrap< wxBitmap >(wxBitmap *bitmap );
23
+
24
+ template <>
25
+ wxBitmap* unwrap< wxBitmap* >(const VALUE &vbitmap);
26
+
27
+ template <>
28
+ wxBitmap unwrap< wxBitmap >(const VALUE &vbitmap);
29
+
30
+ template <>
31
+ wxBitmap& unwrap< wxBitmap& >(const VALUE &vbitmap);
32
+
33
+ enum wrapBitmapType
34
+ {
35
+ WRAP_BITMAP_NULL,
36
+ WRAP_BITMAP_ID,
37
+ WRAP_BITMAP_RAISE
38
+ };
39
+
40
+ wxBitmap wrapBitmap(const VALUE &vbitmap,wxWindowID id,wrapBitmapType type,const wxArtClient &client);
41
+
42
+ template <>
43
+ VALUE wrap< wxIcon >(wxIcon *icon );
44
+
45
+ template <>
46
+ VALUE wrap< wxIcon >(const wxIcon &icon );
47
+
48
+ template <>
49
+ wxIcon* unwrap< wxIcon* >(const VALUE &vbitmap);
50
+
51
+ template <>
52
+ wxIcon unwrap< wxIcon >(const VALUE &vbitmap);
53
+
54
+ template <>
55
+ VALUE wrap< wxImageList >(wxImageList *imagelist );
56
+
57
+ template <>
58
+ wxImageList* unwrap< wxImageList* >(const VALUE &imagelist);
59
+
60
+ #endif /* WXBITMAP_HPP_ */
@@ -0,0 +1,82 @@
1
+ /*
2
+ * wxBitmapButton.cpp
3
+ *
4
+ * Created on: 14.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxBitmapButton.hpp"
9
+
10
+ VALUE rb_cWXBitmapButton;
11
+ #if wxUSE_BMPBUTTON
12
+ #define _self unwrap<wxBitmapButton*>(self)
13
+
14
+ namespace RubyWX {
15
+ namespace BitmapButton {
16
+
17
+ APP_PROTECT(wxBitmapButton)
18
+
19
+ /*
20
+ * call-seq:
21
+ * BitmapButton.new(parent, name, [options])
22
+ * BitmapButton.new(parent, [options])
23
+ *
24
+ * creates a new BitmapButton widget.
25
+ * ===Arguments
26
+ * * parent of this window or nil
27
+ * * name is a String describing a resource in a loaded xrc
28
+ *
29
+ * *options: Hash with possible options to set:
30
+ * * bitmap WX::Bitmap
31
+ */
32
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
33
+ {
34
+ VALUE parent,name,hash;
35
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
36
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
37
+ wxWindowID id(wxID_ANY);
38
+ wxBitmap bitmap(wxNullBitmap);
39
+
40
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
41
+ VALUE temp;
42
+ set_hash_option(hash,"id",id,unwrapID);
43
+
44
+ temp = rb_hash_aref(hash,ID2SYM(rb_intern("bitmap")));
45
+ bitmap = wrapBitmap(temp,id,WRAP_BITMAP_ID,wxART_BUTTON);
46
+ }
47
+
48
+ _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
49
+
50
+ }
51
+
52
+ rb_call_super(argc,argv);
53
+ return self;
54
+ }
55
+
56
+ }
57
+ }
58
+
59
+ #endif
60
+
61
+ DLL_LOCAL void Init_WXBitmapButton(VALUE rb_mWX)
62
+ {
63
+ #if 0
64
+ rb_mWX = rb_define_module("WX");
65
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
66
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
67
+ rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
68
+
69
+ rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
70
+ #endif
71
+
72
+ #if wxUSE_BMPBUTTON
73
+ using namespace RubyWX::BitmapButton;
74
+ rb_cWXBitmapButton = rb_define_class_under(rb_mWX,"BitmapButton",rb_cWXButton);
75
+ rb_define_alloc_func(rb_cWXBitmapButton,_alloc);
76
+
77
+ rb_define_method(rb_cWXBitmapButton,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
78
+
79
+ registerInfo<wxBitmapButton>(rb_cWXBitmapButton);
80
+ #endif
81
+ }
82
+
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxBitmapButton.hpp
3
+ *
4
+ * Created on: 14.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXBITMAPBUTTON_HPP_
9
+ #define WXBITMAPBUTTON_HPP_
10
+
11
+ #include "wxButton.hpp"
12
+
13
+ extern VALUE rb_cWXBitmapButton;
14
+
15
+ void Init_WXBitmapButton(VALUE rb_mWX);
16
+
17
+ #endif /* WXBITMAPBUTTON_HPP_ */
@@ -0,0 +1,284 @@
1
+ /*
2
+ * wxBitmapComboBox.cpp
3
+ *
4
+ * Created on: 21.06.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxEvtHandler.hpp"
9
+ #include "wxItemContainer.hpp"
10
+ #include "wxTextEntry.hpp"
11
+ #include "wxBitmapComboBox.hpp"
12
+ #include "wxChoice.hpp"
13
+ #include "wxTextCtrl.hpp"
14
+
15
+ VALUE rb_cWXBitmapComboBox;
16
+
17
+ #if wxUSE_BITMAPCOMBOBOX
18
+ #define _self unwrap<wxBitmapComboBox*>(self)
19
+
20
+ namespace RubyWX {
21
+ namespace BitmapComboBox {
22
+
23
+ APP_PROTECT(wxBitmapComboBox)
24
+
25
+ //need to define it again to prevent Shadowing
26
+ singlefunc(Clear)
27
+
28
+ singlefunc(Popup)
29
+ singlefunc(Dismiss)
30
+
31
+ singlereturn(IsListEmpty)
32
+ singlereturn(IsTextEmpty)
33
+
34
+ /*
35
+ * call-seq:
36
+ * BitmapComboBox.new(parent, name, [options])
37
+ * BitmapComboBox.new(parent, [options])
38
+ *
39
+ * creates a new BitmapComboBox widget.
40
+ * ===Arguments
41
+ * * parent of this window or nil
42
+ * * name is a String describing a resource in a loaded xrc
43
+ *
44
+ * *options: Hash with possible options to set:
45
+ * * items [String]
46
+ * * select Integer
47
+ * * value String
48
+ */
49
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
50
+ {
51
+ VALUE parent,name,hash;
52
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
53
+
54
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
55
+ wxWindowID id(wxID_ANY);
56
+ wxString value;
57
+ wxArrayString choices;
58
+ int style(0);
59
+ int selection(-1);
60
+
61
+ bool selflag(false);
62
+
63
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
64
+ set_hash_option(hash,"id",id,unwrapID);
65
+ set_hash_option(hash,"value",value);
66
+ set_hash_option(hash,"items",choices);
67
+ set_hash_option(hash,"style",style);
68
+ selflag = set_hash_option(hash,"selection",selection);
69
+
70
+ Choice::set_style_flags(hash,style);
71
+ TextCtrl::set_style_flags(hash,style);
72
+ }
73
+ _self->Create(
74
+ unwrap<wxWindow*>(parent),id,value,
75
+ wxDefaultPosition,wxDefaultSize,
76
+ choices,style
77
+ );
78
+
79
+ if(selflag && check_index(selection,_self->GetCount()))
80
+ _self->SetSelection(selection);
81
+
82
+ }
83
+
84
+ rb_call_super(argc,argv);
85
+
86
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
87
+ VALUE temp;
88
+ set_option(items,,wxArrayString)
89
+ set_option(select,Selection,int)
90
+ set_option(value,Value,wxString)
91
+
92
+ }
93
+
94
+ return self;
95
+ }
96
+
97
+ singlereturn(GetCount)
98
+
99
+
100
+ /*
101
+ * call-seq:
102
+ * each_item_bitmap -> Enumerator
103
+ * each_item_bitmap { | text, bitmap| } -> self
104
+ *
105
+ * iterates the items of this control.
106
+ * ===Return value
107
+ * self
108
+ *
109
+ */
110
+ DLL_LOCAL VALUE _each_bitmap(VALUE self)
111
+ {
112
+ RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_GetCount));
113
+ for(std::size_t i = 0; i < _self->GetCount(); ++i)
114
+ rb_yield_values(2,wrap(_self->GetString(i)),wrap(_self->GetItemBitmap(i)));
115
+ return self;
116
+ }
117
+
118
+ /*
119
+ * call-seq:
120
+ * get_item_bitmap(pos) -> WX::Bitmap
121
+ *
122
+ * returns the Bitmap of the item at the given position.
123
+ * ===Arguments
124
+ * * pos of the item. Integer
125
+ * ===Return value
126
+ * WX::Bitmap
127
+ * === Exceptions
128
+ * [IndexError]
129
+ * * pos is greater than the count of items
130
+ *
131
+ */
132
+ DLL_LOCAL VALUE _getItemBitmap(VALUE self,VALUE idx)
133
+ {
134
+ int cidx = NUM2INT(idx);
135
+ if(check_index(cidx,_self->GetCount()))
136
+ return wrap(_self->GetItemBitmap(cidx));
137
+ return Qnil;
138
+ }
139
+
140
+ /*
141
+ * call-seq:
142
+ * set_item_bitmap(pos,text) -> self
143
+ *
144
+ * sets the Bitmap of the item at the given position.
145
+ * ===Arguments
146
+ * * pos of the item. Integer
147
+ * * text of the item. String
148
+ * ===Return value
149
+ * self
150
+ * === Exceptions
151
+ * [IndexError]
152
+ * * pos is greater than the count of items
153
+ *
154
+ */
155
+ DLL_LOCAL VALUE _setItemBitmap(VALUE self,VALUE idx,VALUE val)
156
+ {
157
+ rb_check_frozen(self);
158
+
159
+ int cidx = NUM2INT(idx);
160
+ if(check_index(cidx,_self->GetCount()))
161
+ _self->SetItemBitmap(cidx,unwrap<wxBitmap>(val));
162
+
163
+ return self;
164
+ }
165
+
166
+
167
+ }
168
+ }
169
+ #endif
170
+
171
+ /* Document-method: clear
172
+ * call-seq:
173
+ * clear -> self
174
+ *
175
+ * Removes all items from the control.
176
+ * ===Return value
177
+ * self
178
+ */
179
+ /* Document-method: popup
180
+ * call-seq:
181
+ * popup -> self
182
+ *
183
+ * Shows the list box portion of the combo box.
184
+ * ===Return value
185
+ * self
186
+ */
187
+ /* Document-method: dismiss
188
+ * call-seq:
189
+ * dismiss -> self
190
+ *
191
+ * Hides the list box portion of the combo box.
192
+ * ===Return value
193
+ * self
194
+ */
195
+ /* Document-method: list_empty?
196
+ * call-seq:
197
+ * list_empty? -> true/false
198
+ *
199
+ * Returns true if the list of combobox choices is empty.
200
+ * ===Return value
201
+ * true/false
202
+ */
203
+ /* Document-method: text_empty?
204
+ * call-seq:
205
+ * text_empty? -> true/false
206
+ *
207
+ * Returns true if the text of the combobox is empty.
208
+ * ===Return value
209
+ * true/false
210
+ */
211
+
212
+ /* Document-const: SORT
213
+ * Sorts the entries alphabetically.
214
+ */
215
+ /* Document-const: READONLY
216
+ * The text will not be user-editable.
217
+ */
218
+ /* Document-const: DROPDOWN
219
+ * Creates a combobox with a drop-down list.
220
+ */
221
+
222
+ /* Document-const: MULTILINE
223
+ * The text control allows multiple lines. If this style is not specified, line break characters should not be used in the controls value.
224
+ */
225
+ /* Document-const: PROCESS_TAB
226
+ * The control will receive :char events for TAB pressed - normally, TAB is used for passing to the next control in a dialog instead. For the control created with this style, you can still use Ctrl-Enter to pass to the next control from the keyboard.
227
+ */
228
+ /* Document-const: PROCESS_ENTER
229
+ * The control will generate the event :text_enter (otherwise pressing Enter key is either processed internally by the control or used for navigation between dialog controls).
230
+ */
231
+ /* Document-const: PASSWORD
232
+ * The text will be echoed as asterisks.
233
+ */
234
+ DLL_LOCAL void Init_WXBitmapComboBox(VALUE rb_mWX)
235
+ {
236
+ #if 0
237
+ rb_mWX = rb_define_module("WX");
238
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
239
+
240
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
241
+ rb_mWXItemContainer = rb_define_module_under(rb_mWX,"ItemContainer");
242
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
243
+ #endif
244
+ #if wxUSE_COMBOBOX
245
+ using namespace RubyWX::BitmapComboBox;
246
+ rb_cWXBitmapComboBox = rb_define_class_under(rb_mWX,"BitmapComboBox",rb_cWXControl);
247
+ rb_define_alloc_func(rb_cWXBitmapComboBox,_alloc);
248
+
249
+ rb_define_method(rb_cWXBitmapComboBox,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
250
+
251
+ rb_define_method(rb_cWXBitmapComboBox,"clear",RUBY_METHOD_FUNC(_Clear),0);
252
+ rb_define_method(rb_cWXBitmapComboBox,"popup",RUBY_METHOD_FUNC(_Popup),0);
253
+ rb_define_method(rb_cWXBitmapComboBox,"dismiss",RUBY_METHOD_FUNC(_Dismiss),0);
254
+
255
+ rb_undef_method(rb_cWXBitmapComboBox,"empty?");
256
+
257
+ rb_define_method(rb_cWXBitmapComboBox,"list_empty?",RUBY_METHOD_FUNC(_IsListEmpty),0);
258
+ rb_define_method(rb_cWXBitmapComboBox,"text_empty?",RUBY_METHOD_FUNC(_IsTextEmpty),0);
259
+
260
+ rb_include_module(rb_cWXBitmapComboBox,rb_mWXItemContainer);
261
+ rb_include_module(rb_cWXBitmapComboBox,rb_mWXTextEntry);
262
+
263
+ rb_define_method(rb_cWXBitmapComboBox,"get_item_bitmap",RUBY_METHOD_FUNC(_getItemBitmap),1);
264
+ rb_define_method(rb_cWXBitmapComboBox,"set_item_bitmap",RUBY_METHOD_FUNC(_setItemBitmap),2);
265
+ rb_define_method(rb_cWXBitmapComboBox,"each_item_bitmap",RUBY_METHOD_FUNC(_each_bitmap),0);
266
+
267
+
268
+ //define Choice constants
269
+ rb_define_const(rb_cWXBitmapComboBox,"SORT",INT2NUM(wxCB_SORT));
270
+ rb_define_const(rb_cWXBitmapComboBox,"READONLY",INT2NUM(wxCB_READONLY));
271
+ rb_define_const(rb_cWXBitmapComboBox,"DROPDOWN",INT2NUM(wxCB_DROPDOWN));
272
+
273
+ //define TextCtrl constants
274
+ rb_define_const(rb_cWXBitmapComboBox,"MULTILINE",INT2NUM(wxTE_MULTILINE));
275
+ rb_define_const(rb_cWXBitmapComboBox,"PROCESS_TAB",INT2NUM(wxTE_PROCESS_TAB));
276
+ rb_define_const(rb_cWXBitmapComboBox,"PROCESS_ENTER",INT2NUM(wxTE_PROCESS_ENTER));
277
+ rb_define_const(rb_cWXBitmapComboBox,"PASSWORD",INT2NUM(wxTE_PASSWORD));
278
+
279
+ registerInfo<wxBitmapComboBox>(rb_cWXBitmapComboBox);
280
+
281
+ #endif
282
+
283
+ }
284
+
@@ -0,0 +1,22 @@
1
+ /*
2
+ * wxBitmapComboBox.hpp
3
+ *
4
+ * Created on: 21.06.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXBITMAPCOMBOBOX_HPP_
9
+ #define WXBITMAPCOMBOBOX_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXBitmapComboBox;
14
+
15
+ void Init_WXBitmapComboBox(VALUE rb_mWX);
16
+
17
+ #if wxUSE_BITMAPCOMBOBOX
18
+ #include <wx/bmpcbox.h>
19
+ #endif
20
+
21
+
22
+ #endif /* WXBITMAPCOMBOBOX_HPP_ */