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,38 @@
1
+ /*
2
+ * wxColor.hpp
3
+ *
4
+ * Created on: 15.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXCOLOR_HPP_
9
+ #define WXCOLOR_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXColor;
14
+ void Init_WXColor(VALUE rb_mWX);
15
+
16
+
17
+ template <>
18
+ VALUE wrap< wxColor >(wxColor *color );
19
+
20
+ template <>
21
+ bool is_wrapable< wxColor >(const VALUE &vcolor);
22
+
23
+ template <>
24
+ wxColor* unwrap< wxColor* >(const VALUE &vcolor);
25
+
26
+ template <>
27
+ wxColor unwrap< wxColor >(const VALUE &vcolor);
28
+
29
+
30
+ namespace RubyWX {
31
+ namespace Color {
32
+
33
+ void define_const();
34
+
35
+ }
36
+ }
37
+
38
+ #endif /* WXCOLOR_HPP_ */
@@ -0,0 +1,97 @@
1
+ /*
2
+ * wxColorDialog.cpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxColorDialog.hpp"
9
+ #include "wxColor.hpp"
10
+
11
+ #include "wxApp.hpp"
12
+
13
+ VALUE rb_cWXColorDialog;
14
+ #if wxUSE_COLOURDLG
15
+ #define _self unwrap<wxColourDialog*>(self)
16
+
17
+ namespace RubyWX {
18
+ namespace ColourDialog {
19
+
20
+ APP_PROTECT(wxColourDialog)
21
+
22
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
23
+ {
24
+ VALUE parent,name,hash;
25
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
26
+
27
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)){
28
+ _self->Create(unwrap<wxWindow*>(parent));
29
+ }
30
+
31
+ rb_call_super(argc,argv);
32
+ return self;
33
+ }
34
+
35
+ macro_attr_pre(Colour,wxColor,GetColourData)
36
+
37
+ DLL_LOCAL VALUE _getCustomColors(VALUE self)
38
+ {
39
+ VALUE result = rb_ary_new();
40
+ wxColourData &data = _self->GetColourData();
41
+ for(std::size_t i = 0; i < wxColourData::NUM_CUSTOM; ++i)
42
+ rb_ary_push(result,wrap(data.GetCustomColour(i)));
43
+ return result;
44
+ }
45
+ DLL_LOCAL VALUE _setCustomColors(VALUE self,VALUE val)
46
+ {
47
+ rb_check_frozen(self);
48
+ VALUE dp = rb_Array(val);
49
+ wxColourData &data = _self->GetColourData();
50
+ for(std::size_t i = 0; i < wxColourData::NUM_CUSTOM && i < (std::size_t)RARRAY_LEN(dp); ++i)
51
+ data.SetCustomColour(i,unwrap<wxColor>(RARRAY_AREF(dp,i)));
52
+
53
+ return val;
54
+ }
55
+
56
+
57
+ DLL_LOCAL VALUE _getUserColor(int argc,VALUE *argv,VALUE self)
58
+ {
59
+ VALUE parent,caption;
60
+ rb_scan_args(argc, argv, "11",&parent,&caption);
61
+
62
+ app_protected();
63
+
64
+ wxColor col = wxGetColourFromUser(unwrap<wxWindow*>(parent),*wxBLACK,unwrap<wxString>(caption));
65
+ return col.IsOk() ? wrap(col) : Qnil;
66
+ }
67
+
68
+ }
69
+ }
70
+
71
+ #endif
72
+
73
+ DLL_LOCAL void Init_WXColorDialog(VALUE rb_mWX)
74
+ {
75
+ #if 0
76
+ rb_mWX = rb_define_module("WX");
77
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
78
+
79
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
80
+
81
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
82
+ #endif
83
+
84
+ #if wxUSE_COLOURDLG
85
+ using namespace RubyWX::ColourDialog;
86
+ rb_cWXColorDialog = rb_define_class_under(rb_mWX,"ColorDialog",rb_cWXDialog);
87
+ rb_define_alloc_func(rb_cWXColorDialog,_alloc);
88
+ rb_define_method(rb_cWXColorDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
89
+
90
+ rb_define_attr_method(rb_cWXColorDialog,"color",_getColour,_setColour);
91
+ rb_define_attr_method(rb_cWXColorDialog,"custom_colors",_getCustomColors,_setCustomColors);
92
+
93
+ rb_define_module_function(rb_mWX,"color_dialog",RUBY_METHOD_FUNC(_getUserColor),-1);
94
+
95
+ registerInfo<wxColourDialog>(rb_cWXColorDialog);
96
+ #endif
97
+ }
@@ -0,0 +1,19 @@
1
+ /*
2
+ * wxColorDialog.hpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXCOLORDIALOG_HPP_
9
+ #define WXCOLORDIALOG_HPP_
10
+
11
+ #include "wxDialog.hpp"
12
+
13
+ extern VALUE rb_cWXColorDialog;
14
+
15
+ void Init_WXColorDialog(VALUE rb_mWX);
16
+ #if wxUSE_COLOURDLG
17
+ #include <wx/colordlg.h>
18
+ #endif
19
+ #endif /* WXCOLORDIALOG_HPP_ */
@@ -0,0 +1,131 @@
1
+ /*
2
+ * wxColorPicker.cpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+ #include "wxColorPicker.hpp"
8
+ #include "wxPickerBase.hpp"
9
+ #include "wxColor.hpp"
10
+
11
+ VALUE rb_cWXColorPicker,rb_cWXColorPickerEvent;
12
+
13
+ #if wxUSE_COLOURPICKERCTRL
14
+
15
+ namespace RubyWX {
16
+ namespace ColorPicker {
17
+ #define _self unwrap<wxColourPickerCtrl*>(self)
18
+ macro_attr(Colour,wxColour)
19
+
20
+ APP_PROTECT(wxColourPickerCtrl)
21
+
22
+ /*
23
+ * call-seq:
24
+ * ColorPicker.new(parent, name, [options])
25
+ * ColorPicker.new(parent, [options])
26
+ *
27
+ * creates a new ColorPicker widget.
28
+ * ===Arguments
29
+ * * parent of this window or nil
30
+ * * name is a String describing a resource in a loaded xrc
31
+ *
32
+ * *options: Hash with possible options to set:
33
+ * * color WX::Color default color
34
+ * * use_textctrl true/false
35
+ * * small true/false
36
+ *
37
+ */
38
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
39
+ {
40
+ VALUE parent,name,hash;
41
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
42
+
43
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
44
+ {
45
+ wxWindowID id(wxID_ANY);
46
+ wxColor color(*wxBLACK);
47
+ int style(wxCLRP_DEFAULT_STYLE);
48
+
49
+ if(rb_obj_is_kind_of(hash,rb_cHash))
50
+ {
51
+ set_hash_option(hash,"id",id,unwrapID);
52
+ set_hash_option(hash,"color",color);
53
+ set_hash_option(hash,"style",style);
54
+
55
+ PickerBase::set_style_flags(hash,style);
56
+
57
+ set_hash_flag_option(hash,"show_label",wxCLRP_SHOW_LABEL,style);
58
+
59
+ }
60
+
61
+ _self->Create(unwrap<wxWindow*>(parent),id,color,wxDefaultPosition,wxDefaultSize,style);
62
+ }
63
+
64
+ rb_call_super(argc,argv);
65
+
66
+ if(rb_obj_is_kind_of(name,rb_cString) &&
67
+ rb_obj_is_kind_of(hash,rb_cHash))
68
+ {
69
+ VALUE temp;
70
+
71
+ set_option(color,Colour,wxColour)
72
+ }
73
+
74
+ return self;
75
+ }
76
+
77
+ namespace Event {
78
+ #undef _self
79
+ #define _self unwrapTypedPtr<wxColourPickerEvent>(self,rb_cWXColorPickerEvent)
80
+ macro_attr(Colour,wxColour)
81
+ }
82
+
83
+ }
84
+ }
85
+
86
+ #endif
87
+
88
+ /* Document-attr: color
89
+ * the color of the ColorPicker. WX::Color
90
+ */
91
+ /* Document-attr: WX::Event::ColorPicker#color
92
+ * the color of the ColorPicker. WX::Color
93
+ */
94
+ DLL_LOCAL void Init_WXColorPicker(VALUE rb_mWX)
95
+ {
96
+ #if 0
97
+ rb_mWX = rb_define_module("WX");
98
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
99
+
100
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
101
+
102
+ rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
103
+
104
+ rb_define_attr(rb_cWXColorPicker,"color",1,1);
105
+ rb_define_attr(rb_cWXColorPickerEvent,"color",1,1);
106
+ #endif
107
+
108
+ #if wxUSE_COLOURPICKERCTRL
109
+ using namespace RubyWX::ColorPicker;
110
+ rb_cWXColorPicker = rb_define_class_under(rb_mWX,"ColorPicker",rb_cWXPickerBase);
111
+ rb_define_alloc_func(rb_cWXColorPicker,_alloc);
112
+
113
+ rb_define_method(rb_cWXColorPicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
114
+
115
+ rb_define_attr_method(rb_cWXColorPicker,"color",_getColour,_setColour);
116
+
117
+ rb_define_const(rb_cWXColorPicker,"DEFAULT_STYLE",INT2NUM(wxCLRP_DEFAULT_STYLE));
118
+ rb_define_const(rb_cWXColorPicker,"SHOW_LABEL",INT2NUM(wxCLRP_SHOW_LABEL));
119
+
120
+ rb_cWXColorPickerEvent = rb_define_class_under(rb_cWXEvent,"ColorPicker",rb_cWXEvent);
121
+ registerEventType("colorpicker_changed",wxEVT_COLOURPICKER_CHANGED,rb_cWXColorPickerEvent);
122
+
123
+ rb_define_attr_method(rb_cWXColorPickerEvent,"color",
124
+ Event::_getColour,Event::_setColour);
125
+
126
+ registerInfo<wxColourPickerCtrl>(rb_cWXColorPicker);
127
+ #endif
128
+
129
+ }
130
+
131
+
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxColorPicker.hpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXCOLORPICKER_HPP_
9
+ #define WXCOLORPICKER_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXColorPicker;
14
+
15
+ void Init_WXColorPicker(VALUE rb_mWX);
16
+ #if wxUSE_COLOURPICKERCTRL
17
+ #include <wx/clrpicker.h>
18
+ #endif
19
+
20
+ #endif /* WXCOLORPICKER_HPP_ */
@@ -0,0 +1,105 @@
1
+ /*
2
+ * wxColorPickerWidget.cpp
3
+ *
4
+ * Created on: 24.05.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxColorPickerWidget.hpp"
9
+ #include "wxButton.hpp"
10
+ #include "wxColorPicker.hpp"
11
+ #include "wxColor.hpp"
12
+
13
+ VALUE rb_cWXColorPickerWidget;
14
+ #if wxUSE_COLOURPICKERCTRL
15
+ #define _self unwrap<wxColourPickerWidget*>(self)
16
+
17
+ namespace RubyWX {
18
+ namespace ColorPickerWidget {
19
+
20
+ APP_PROTECT(wxColourPickerWidget)
21
+
22
+ macro_attr(Colour,wxColour)
23
+
24
+ /*
25
+ * call-seq:
26
+ * ColorPickerWidget.new(parent, name, [options])
27
+ * ColorPickerWidget.new(parent, [options])
28
+ *
29
+ * creates a new ColorPickerWidget widget.
30
+ * ===Arguments
31
+ * * parent of this window or nil
32
+ * * name is a String describing a resource in a loaded xrc
33
+ *
34
+ * *options: Hash with possible options to set:
35
+ */
36
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
37
+ {
38
+ VALUE parent,name,hash;
39
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
40
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
41
+ wxWindowID id(wxID_ANY);
42
+ int style(wxCLRBTN_DEFAULT_STYLE);
43
+
44
+ wxColor color(*wxBLACK);
45
+
46
+ if(rb_obj_is_kind_of(hash,rb_cHash))
47
+ {
48
+ set_hash_option(hash,"id",id,unwrapID);
49
+ set_hash_option(hash,"style",style);
50
+ set_hash_option(hash,"color",color);
51
+
52
+ }
53
+
54
+ _self->Create(
55
+ unwrap<wxWindow*>(parent),id,color,
56
+ wxDefaultPosition,wxDefaultSize,style
57
+ );
58
+
59
+ }
60
+
61
+ rb_call_super(argc,argv);
62
+ return self;
63
+ }
64
+
65
+ }
66
+ }
67
+
68
+ #endif
69
+
70
+ /* Document-attr: font
71
+ * the font of the ColorPickerWidget. WX::Color
72
+ */
73
+
74
+ /* Document-const: DEFAULT_STYLE
75
+ * default style for this control.
76
+ */
77
+
78
+ DLL_LOCAL void Init_WXColorPickerWidget(VALUE rb_mWX)
79
+ {
80
+ #if 0
81
+ rb_mWX = rb_define_module("WX");
82
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
83
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
84
+ rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
85
+
86
+ rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
87
+
88
+ rb_define_attr(rb_cWXColorPickerWidget,"color",1,1);
89
+
90
+ #endif
91
+
92
+ #if wxUSE_COLOURPICKERCTRL
93
+ using namespace RubyWX::ColorPickerWidget;
94
+ rb_cWXColorPickerWidget = rb_define_class_under(rb_mWX,"ColorPickerWidget",rb_cWXButton);
95
+ rb_define_alloc_func(rb_cWXColorPickerWidget,_alloc);
96
+
97
+ rb_define_method(rb_cWXColorPickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
98
+
99
+ rb_define_attr_method(rb_cWXColorPickerWidget,"color",_getColour,_setColour);
100
+
101
+ rb_define_const(rb_cWXColorPickerWidget,"DEFAULT_STYLE",INT2NUM(wxCLRBTN_DEFAULT_STYLE));
102
+
103
+ registerInfo<wxColourPickerWidget>(rb_cWXColorPickerWidget);
104
+ #endif
105
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxColorPickerWidget.hpp
3
+ *
4
+ * Created on: 24.05.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXCOLORPICKERWIDGET_HPP_
9
+ #define WXCOLORPICKERWIDGET_HPP_
10
+
11
+ #include "wxEvtHandler.hpp"
12
+
13
+ extern VALUE rb_cWXColorPickerWidget;
14
+
15
+ void Init_WXColorPickerWidget(VALUE rb_mWX);
16
+ #if wxUSE_COLOURPICKERCTRL
17
+ #include <wx/clrpicker.h>
18
+ #endif
19
+
20
+ #endif /* WXCOLORPICKERWIDGET_HPP_ */
@@ -0,0 +1,214 @@
1
+ /*
2
+ * wxComboBox.cpp
3
+ *
4
+ * Created on: 03.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+
10
+ #include "wxEvtHandler.hpp"
11
+ #include "wxItemContainer.hpp"
12
+ #include "wxTextEntry.hpp"
13
+ #include "wxChoice.hpp"
14
+ #include "wxTextCtrl.hpp"
15
+
16
+ VALUE rb_cWXComboBox;
17
+
18
+ #if wxUSE_COMBOBOX
19
+ #define _self unwrap<wxComboBox*>(self)
20
+
21
+ namespace RubyWX {
22
+ namespace ComboBox {
23
+
24
+ APP_PROTECT(wxComboBox)
25
+
26
+ //need to define it again to prevent Shadowing
27
+ singlefunc(Clear)
28
+
29
+ singlefunc(Popup)
30
+ singlefunc(Dismiss)
31
+
32
+ singlereturn(IsListEmpty)
33
+ singlereturn(IsTextEmpty)
34
+
35
+ /*
36
+ * call-seq:
37
+ * ComboBox.new(parent, name, [options])
38
+ * ComboBox.new(parent, [options])
39
+ *
40
+ * creates a new ComboBox widget.
41
+ * ===Arguments
42
+ * * parent of this window or nil
43
+ * * name is a String describing a resource in a loaded xrc
44
+ *
45
+ * *options: Hash with possible options to set:
46
+ * * items [String]
47
+ * * select Integer
48
+ * * value String
49
+ */
50
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
51
+ {
52
+ VALUE parent,name,hash;
53
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
54
+
55
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
56
+ wxWindowID id(wxID_ANY);
57
+ wxString value;
58
+ wxArrayString choices;
59
+ int style(0);
60
+ int selection(-1);
61
+
62
+ bool selflag(false);
63
+
64
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
65
+ set_hash_option(hash,"id",id,unwrapID);
66
+ set_hash_option(hash,"value",value);
67
+ set_hash_option(hash,"items",choices);
68
+ set_hash_option(hash,"style",style);
69
+ selflag = set_hash_option(hash,"selection",selection);
70
+
71
+ Choice::set_style_flags(hash,style);
72
+ TextCtrl::set_style_flags(hash,style);
73
+ }
74
+ _self->Create(
75
+ unwrap<wxWindow*>(parent),id,value,
76
+ wxDefaultPosition,wxDefaultSize,
77
+ choices,style
78
+ );
79
+
80
+ if(selflag && check_index(selection,_self->GetCount()))
81
+ _self->SetSelection(selection);
82
+
83
+ }
84
+
85
+ rb_call_super(argc,argv);
86
+
87
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
88
+ VALUE temp;
89
+ set_option(items,,wxArrayString)
90
+ set_option(select,Selection,int)
91
+ set_option(value,Value,wxString)
92
+
93
+ }
94
+
95
+ return self;
96
+ }
97
+
98
+ }
99
+ }
100
+ #endif
101
+
102
+ /* Document-method: clear
103
+ * call-seq:
104
+ * clear -> self
105
+ *
106
+ * Removes all items from the control.
107
+ * ===Return value
108
+ * self
109
+ */
110
+ /* Document-method: popup
111
+ * call-seq:
112
+ * popup -> self
113
+ *
114
+ * Shows the list box portion of the combo box.
115
+ * ===Return value
116
+ * self
117
+ */
118
+ /* Document-method: dismiss
119
+ * call-seq:
120
+ * dismiss -> self
121
+ *
122
+ * Hides the list box portion of the combo box.
123
+ * ===Return value
124
+ * self
125
+ */
126
+ /* Document-method: list_empty?
127
+ * call-seq:
128
+ * list_empty? -> true/false
129
+ *
130
+ * Returns true if the list of combobox choices is empty.
131
+ * ===Return value
132
+ * true/false
133
+ */
134
+ /* Document-method: text_empty?
135
+ * call-seq:
136
+ * text_empty? -> true/false
137
+ *
138
+ * Returns true if the text of the combobox is empty.
139
+ * ===Return value
140
+ * true/false
141
+ */
142
+
143
+ /* Document-const: SORT
144
+ * Sorts the entries alphabetically.
145
+ */
146
+ /* Document-const: READONLY
147
+ * The text will not be user-editable.
148
+ */
149
+ /* Document-const: DROPDOWN
150
+ * Creates a combobox with a drop-down list.
151
+ */
152
+
153
+ /* Document-const: MULTILINE
154
+ * The text control allows multiple lines. If this style is not specified, line break characters should not be used in the controls value.
155
+ */
156
+ /* Document-const: PROCESS_TAB
157
+ * 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.
158
+ */
159
+ /* Document-const: PROCESS_ENTER
160
+ * 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).
161
+ */
162
+ /* Document-const: PASSWORD
163
+ * The text will be echoed as asterisks.
164
+ */
165
+ DLL_LOCAL void Init_WXComboBox(VALUE rb_mWX)
166
+ {
167
+ #if 0
168
+ rb_mWX = rb_define_module("WX");
169
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
170
+
171
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
172
+ rb_mWXItemContainer = rb_define_module_under(rb_mWX,"ItemContainer");
173
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
174
+ #endif
175
+ #if wxUSE_COMBOBOX
176
+ using namespace RubyWX::ComboBox;
177
+ rb_cWXComboBox = rb_define_class_under(rb_mWX,"ComboBox",rb_cWXControl);
178
+ rb_define_alloc_func(rb_cWXComboBox,_alloc);
179
+
180
+ rb_define_method(rb_cWXComboBox,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
181
+
182
+ rb_define_method(rb_cWXComboBox,"clear",RUBY_METHOD_FUNC(_Clear),0);
183
+ rb_define_method(rb_cWXComboBox,"popup",RUBY_METHOD_FUNC(_Popup),0);
184
+ rb_define_method(rb_cWXComboBox,"dismiss",RUBY_METHOD_FUNC(_Dismiss),0);
185
+
186
+ rb_undef_method(rb_cWXComboBox,"empty?");
187
+
188
+ rb_define_method(rb_cWXComboBox,"list_empty?",RUBY_METHOD_FUNC(_IsListEmpty),0);
189
+ rb_define_method(rb_cWXComboBox,"text_empty?",RUBY_METHOD_FUNC(_IsTextEmpty),0);
190
+
191
+ rb_include_module(rb_cWXComboBox,rb_mWXItemContainer);
192
+ rb_include_module(rb_cWXComboBox,rb_mWXTextEntry);
193
+
194
+ //define Choice constants
195
+ rb_define_const(rb_cWXComboBox,"SORT",INT2NUM(wxCB_SORT));
196
+ rb_define_const(rb_cWXComboBox,"READONLY",INT2NUM(wxCB_READONLY));
197
+ rb_define_const(rb_cWXComboBox,"DROPDOWN",INT2NUM(wxCB_DROPDOWN));
198
+
199
+ //define TextCtrl constants
200
+ rb_define_const(rb_cWXComboBox,"MULTILINE",INT2NUM(wxTE_MULTILINE));
201
+ rb_define_const(rb_cWXComboBox,"PROCESS_TAB",INT2NUM(wxTE_PROCESS_TAB));
202
+ rb_define_const(rb_cWXComboBox,"PROCESS_ENTER",INT2NUM(wxTE_PROCESS_ENTER));
203
+ rb_define_const(rb_cWXComboBox,"PASSWORD",INT2NUM(wxTE_PASSWORD));
204
+
205
+ registerInfo<wxComboBox>(rb_cWXComboBox);
206
+
207
+ registerEventType("combobox",wxEVT_COMBOBOX);
208
+ registerEventType("combobox_dropdown",wxEVT_COMBOBOX_DROPDOWN);
209
+ registerEventType("combobox_closeup",wxEVT_COMBOBOX_CLOSEUP);
210
+
211
+ #endif
212
+
213
+ }
214
+