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,24 @@
1
+ /*
2
+ * wxPalette.hpp
3
+ *
4
+ * Created on: 20.11.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPALETTE_HPP_
9
+ #define WXPALETTE_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXPalette;
14
+ DLL_LOCAL void Init_WXPalette(VALUE rb_mWX);
15
+
16
+ #if wxUSE_PALETTE
17
+ template <>
18
+ wxPalette* unwrap< wxPalette* >(const VALUE &vimage);
19
+
20
+
21
+ template <>
22
+ wxPalette unwrap< wxPalette >(const VALUE &vimage);
23
+ #endif
24
+ #endif /* WXPALETTE_HPP_ */
@@ -0,0 +1,77 @@
1
+ /*
2
+ * wxPanel.cpp
3
+ *
4
+ * Created on: 06.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxEvtHandler.hpp"
9
+
10
+ VALUE rb_cWXPanel;
11
+
12
+ #define _self unwrap<wxPanel*>(self)
13
+
14
+ namespace RubyWX {
15
+ namespace Panel {
16
+
17
+ APP_PROTECT(wxPanel)
18
+
19
+ /*
20
+ * call-seq:
21
+ * Panel.new(parent, name, [options])
22
+ * Panel.new(parent, [options])
23
+ *
24
+ * creates a new Window 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
+ *
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
+ int style(wxTAB_TRAVERSAL | wxNO_BORDER);
39
+
40
+ if(rb_obj_is_kind_of(hash,rb_cHash))
41
+ {
42
+ set_hash_option(hash,"id",id,unwrapID);
43
+ set_hash_option(hash,"style",style);
44
+ }
45
+
46
+ _self->Create(unwrap<wxWindow*>(parent),id,
47
+ wxDefaultPosition,wxDefaultSize,style
48
+ );
49
+
50
+ }
51
+ rb_call_super(argc,argv);
52
+ return self;
53
+ }
54
+
55
+ }
56
+ }
57
+
58
+ DLL_LOCAL void Init_WXPanel(VALUE rb_mWX)
59
+ {
60
+ #if 0
61
+ rb_mWX = rb_define_module("WX");
62
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
63
+ #endif
64
+
65
+ using namespace RubyWX::Panel;
66
+ rb_cWXPanel = rb_define_class_under(rb_mWX,"Panel",rb_cWXWindow);
67
+ rb_define_alloc_func(rb_cWXPanel,_alloc);
68
+
69
+ rb_define_method(rb_cWXPanel,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
70
+
71
+ registerInfo<wxPanel>(rb_cWXPanel);
72
+ }
73
+
74
+
75
+
76
+
77
+
@@ -0,0 +1,19 @@
1
+ /*
2
+ * wxPanel.hpp
3
+ *
4
+ * Created on: 06.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPANEL_HPP_
9
+ #define WXPANEL_HPP_
10
+
11
+
12
+ #include "wxWindow.hpp"
13
+ #include "wxGrid.hpp"
14
+ #include "wxWizardPage.hpp"
15
+
16
+ extern VALUE rb_cWXPanel;
17
+ DLL_LOCAL void Init_WXPanel(VALUE rb_mWX);
18
+
19
+ #endif /* WXPANEL_HPP_ */
@@ -0,0 +1,141 @@
1
+ /*
2
+ * wxPasswordEntryDialog.cpp
3
+ *
4
+ * Created on: 24.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxPasswordEntryDialog.hpp"
10
+ #include "wxTextEntryDialog.hpp"
11
+ #include "wxPoint.hpp"
12
+ #include "wxApp.hpp"
13
+
14
+ VALUE rb_cWXPasswordEntryDialog;
15
+ #if wxUSE_TEXTDLG
16
+
17
+ // wxPasswordEntryDialog can not be used directly try to fake it
18
+ #ifdef HAVE_WXPASSWORDENTRYDIALOG
19
+ #define _self unwrap<wxPasswordEntryDialog*>(self)
20
+ #else
21
+ #define _self unwrap<wxTextEntryDialog*>(self)
22
+ #endif
23
+
24
+ namespace RubyWX {
25
+ namespace PasswordEntryDialog {
26
+
27
+ #ifdef HAVE_WXPASSWORDENTRYDIALOG
28
+ APP_PROTECT(wxPasswordEntryDialog)
29
+ #else
30
+ APP_PROTECT(wxTextEntryDialog)
31
+ #endif
32
+ /*
33
+ * call-seq:
34
+ * PasswordEntryDialog.new(parent, name, [options])
35
+ * PasswordEntryDialog.new(parent, [options])
36
+ *
37
+ * creates a new PasswordEntryDialog widget.
38
+ * ===Arguments
39
+ * * parent of this window or nil
40
+ * * name is a String describing a resource in a loaded xrc
41
+ *
42
+ * *options: Hash with possible options to set:
43
+ * * path String default path
44
+ * * message String
45
+ *
46
+ */
47
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
48
+ {
49
+ VALUE parent,name,hash;
50
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
51
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
52
+ {
53
+ wxString message;
54
+ wxString caption(wxGetPasswordFromUserPromptStr);
55
+ wxString value;
56
+ int style(wxTextEntryDialogStyle);
57
+
58
+ if(rb_obj_is_kind_of(hash,rb_cHash))
59
+ {
60
+ set_hash_option(hash,"message",message);
61
+ set_hash_option(hash,"caption",caption);
62
+
63
+ set_hash_option(hash,"value",value);
64
+
65
+ set_hash_option(hash,"style",style);
66
+
67
+ TopLevel::set_style_flags(hash,style);
68
+ }
69
+ #ifdef HAVE_WXPASSWORDENTRYDIALOG
70
+ _self->Create(unwrap<wxWindow*>(parent),
71
+ message,caption,value,style);
72
+ #else
73
+ _self->Create(unwrap<wxWindow*>(parent),
74
+ message,caption,value,style | wxTE_PASSWORD);
75
+ #endif
76
+
77
+ }
78
+ rb_call_super(argc,argv);
79
+
80
+ return self;
81
+ }
82
+
83
+ DLL_LOCAL VALUE _getPassword(int argc,VALUE *argv,VALUE self)
84
+ {
85
+ VALUE parent,hash;
86
+ rb_scan_args(argc, argv, "01:",&parent,&hash);
87
+
88
+ app_protected();
89
+
90
+ wxString message;
91
+ wxString caption(wxGetTextFromUserPromptStr);
92
+ wxString value;
93
+ wxPoint pos(wxDefaultPosition);
94
+ bool centre(true);
95
+
96
+ if(rb_obj_is_kind_of(hash,rb_cHash))
97
+ {
98
+ set_hash_option(hash,"message",message);
99
+ set_hash_option(hash,"caption",caption);
100
+
101
+ set_hash_option(hash,"value",value);
102
+
103
+ set_hash_option(hash,"pos",pos);
104
+ set_hash_option(hash,"center",centre);
105
+ }
106
+
107
+ return wrap(wxGetPasswordFromUser(
108
+ message,caption,
109
+ value, unwrap<wxWindow*>(parent),
110
+ pos.x,pos.y,centre));
111
+ }
112
+
113
+ }
114
+ }
115
+
116
+ #endif
117
+
118
+ DLL_LOCAL void Init_WXPasswordEntryDialog(VALUE rb_mWX)
119
+ {
120
+
121
+ #if 0
122
+ rb_mWX = rb_define_module("WX");
123
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
124
+
125
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
126
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
127
+
128
+ rb_cWXTextEntryDialog = rb_define_class_under(rb_mWX,"TextEntryDialog",rb_cWXDialog);
129
+ #endif
130
+
131
+ #if wxUSE_TEXTDLG
132
+ using namespace RubyWX::PasswordEntryDialog;
133
+ rb_cWXPasswordEntryDialog = rb_define_class_under(rb_mWX,"PasswordEntryDialog",rb_cWXTextEntryDialog);
134
+ rb_define_alloc_func(rb_cWXPasswordEntryDialog,_alloc);
135
+ rb_define_method(rb_cWXPasswordEntryDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
136
+
137
+ rb_define_module_function(rb_mWX,"password_dialog",RUBY_METHOD_FUNC(_getPassword),-1);
138
+
139
+ registerInfo<wxPasswordEntryDialog>(rb_cWXPasswordEntryDialog);
140
+ #endif
141
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxPasswordEntryDialog.hpp
3
+ *
4
+ * Created on: 24.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPASSWORDENTRYDIALOG_HPP_
9
+ #define WXPASSWORDENTRYDIALOG_HPP_
10
+
11
+ #include "wxDialog.hpp"
12
+
13
+ extern VALUE rb_cWXPasswordEntryDialog;
14
+
15
+ void Init_WXPasswordEntryDialog(VALUE rb_mWX);
16
+ #if wxUSE_TEXTDLG
17
+ #include <wx/textdlg.h>
18
+ #endif
19
+
20
+ #endif /* WXPASSWORDENTRYDIALOG_HPP_ */
@@ -0,0 +1,323 @@
1
+ /*
2
+ * wxPen.hpp
3
+ *
4
+ * Created on: 16.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxPen.hpp"
9
+ #include "wxColor.hpp"
10
+ #include "wxBitmap.hpp"
11
+
12
+ #define _self unwrap<wxPen*>(self)
13
+
14
+ VALUE rb_cWXPen;
15
+
16
+
17
+ typedef std::map<wxPen*,VALUE> penlisttype;
18
+ penlisttype penlistholder;
19
+
20
+
21
+ template <>
22
+ VALUE wrap< wxPen >(wxPen *bitmap )
23
+ {
24
+ if(!bitmap || !bitmap->IsOk())
25
+ return Qnil;
26
+ return wrapTypedPtr(bitmap,rb_cWXPen);
27
+ }
28
+
29
+ template <>
30
+ VALUE wrap< wxPen >(const wxPen &bitmap )
31
+ {
32
+ if(bitmap.IsOk())
33
+ return wrapTypedPtr(const_cast<wxPen*>(&bitmap),rb_cWXPen);
34
+ return Qnil;
35
+ }
36
+
37
+ template <>
38
+ wxPen* unwrap< wxPen* >(const VALUE &vbitmap)
39
+ {
40
+ return NIL_P(vbitmap) ? &wxNullPen : unwrapTypedPtr<wxPen>(vbitmap, rb_cWXPen);
41
+ }
42
+
43
+ template <>
44
+ wxPen unwrap< wxPen >(const VALUE &vbitmap)
45
+ {
46
+ return NIL_P(vbitmap) ? wxNullPen : *unwrap<wxPen*>(vbitmap);
47
+ }
48
+
49
+
50
+ namespace RubyWX {
51
+ namespace Pen {
52
+ DLL_LOCAL VALUE _alloc(VALUE self) {
53
+ return wrap(new wxPen(*wxBLACK));
54
+ }
55
+
56
+ macro_attr(Width,int)
57
+ macro_attr(Colour,wxColour)
58
+ macro_attr_enum(Style,wxPenStyle)
59
+ macro_attr(Stipple,wxBitmap)
60
+
61
+
62
+ void define_const()
63
+ {
64
+ if(rb_const_defined(rb_cWXPen,rb_intern("BLACK")))
65
+ return;
66
+
67
+ rb_define_const(rb_cWXPen,"BLACK_DASHED",wrap(wxBLACK_DASHED_PEN));
68
+ rb_define_const(rb_cWXPen,"BLACK",wrap(wxBLACK_PEN));
69
+ rb_define_const(rb_cWXPen,"BLUE",wrap(wxBLUE_PEN));
70
+ rb_define_const(rb_cWXPen,"CYAN",wrap(wxCYAN_PEN));
71
+ rb_define_const(rb_cWXPen,"GREEN",wrap(wxGREEN_PEN));
72
+ rb_define_const(rb_cWXPen,"YELLOW",wrap(wxYELLOW_PEN));
73
+ rb_define_const(rb_cWXPen,"GREY",wrap(wxGREY_PEN));
74
+ rb_define_const(rb_cWXPen,"LIGHT_GREY",wrap(wxLIGHT_GREY_PEN));
75
+ rb_define_const(rb_cWXPen,"MEDIUM_GREY",wrap(wxMEDIUM_GREY_PEN));
76
+ rb_define_const(rb_cWXPen,"RED",wrap(wxRED_PEN));
77
+ rb_define_const(rb_cWXPen,"TRANSPARENT",wrap(wxTRANSPARENT_PEN));
78
+ rb_define_const(rb_cWXPen,"WHITE",wrap(wxWHITE_PEN));
79
+ }
80
+
81
+ /*
82
+ * call-seq:
83
+ * Brush.new(color[,style])
84
+ *
85
+ * creates a new Brush Object.
86
+ */
87
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
88
+ {
89
+ VALUE color, width, style;
90
+ rb_scan_args(argc, argv, "12",&color,&width,&style);
91
+ _setColour(self,color);
92
+ if(!NIL_P(width))
93
+ _setWidth(self,width);
94
+ if(!NIL_P(style))
95
+ _setStyle(self,style);
96
+ return self;
97
+ }
98
+
99
+ /*
100
+ */
101
+ DLL_LOCAL VALUE _initialize_copy(VALUE self, VALUE other)
102
+ {
103
+ VALUE result = rb_call_super(1,&other);
104
+ _setColour(self,_getColour(other));
105
+ _setWidth(self,_getWidth(other));
106
+ _setStyle(self,_getStyle(other));
107
+ _setStipple(self,_getStipple(other));
108
+ return result;
109
+ }
110
+
111
+
112
+ /*
113
+ * call-seq:
114
+ * marshal_dump -> Array
115
+ *
116
+ * Provides marshalling support for use by the Marshal library.
117
+ * ===Return value
118
+ * Array
119
+ */
120
+ DLL_LOCAL VALUE _marshal_dump(VALUE self)
121
+ {
122
+ VALUE ptr[4];
123
+ ptr[0] = _getColour(self);
124
+ ptr[1] = _getWidth(self);
125
+ ptr[2] = _getStyle(self);
126
+ ptr[3] = _getStipple(self);
127
+ return rb_ary_new4(4, ptr);
128
+ }
129
+
130
+ /*
131
+ * call-seq:
132
+ * marshal_load(array) -> nil
133
+ *
134
+ * Provides marshalling support for use by the Marshal library.
135
+ *
136
+ *
137
+ */
138
+ DLL_LOCAL VALUE _marshal_load(VALUE self, VALUE data)
139
+ {
140
+ _setColour(self, RARRAY_AREF(data,0));
141
+ _setWidth(self, RARRAY_AREF(data,1));
142
+ _setStyle(self, RARRAY_AREF(data,2));
143
+ _setStipple(self, RARRAY_AREF(data,3));
144
+ return Qnil;
145
+ }
146
+
147
+ /*
148
+ * call-seq:
149
+ * == pen -> bool
150
+ *
151
+ * compares two pens.
152
+ *
153
+ *
154
+ */
155
+ DLL_LOCAL VALUE _equal(VALUE self, VALUE other)
156
+ {
157
+ return wrap((*_self) == unwrap<wxPen>(other));
158
+ }
159
+
160
+
161
+ DLL_LOCAL VALUE _class_get(int argc,VALUE *argv,VALUE self)
162
+ {
163
+
164
+ VALUE color,width,style;
165
+ rb_scan_args(argc, argv, "21",&color,&width,&style);
166
+ //TODO add refcounting
167
+ wxPen *pen = wxThePenList->FindOrCreatePen(
168
+ unwrap<wxColor>(color),
169
+ NUM2INT(width),
170
+ NIL_P(style) ? wxPENSTYLE_SOLID : unwrapenum<wxPenStyle>(style)
171
+ );
172
+
173
+ if(!pen || !pen->IsOk())
174
+ return Qnil;
175
+
176
+ //look in the PenList holder is pen was already wrapped
177
+ penlisttype::iterator it = penlistholder.find(pen);
178
+ if(it != penlistholder.end()) {
179
+ return it->second;
180
+ } else {
181
+ //wrap wxPen pointer to ruby object
182
+ VALUE result = wrap(pen);
183
+
184
+ //PenList objects should not be changed
185
+ rb_obj_freeze(result);
186
+ //Prevent PenList objects from been deleted
187
+ rwx_refobject(result);
188
+ //add wrapped pen to the PenList holder to find it again
189
+ penlistholder[pen] = result;
190
+ return result;
191
+ }
192
+ }
193
+
194
+
195
+ }
196
+ }
197
+
198
+
199
+ /*
200
+ * Document-class: WX::Pen
201
+ *
202
+ * This class represents an Pen.
203
+ */
204
+
205
+ /* Document-attr: width
206
+ * returns the width of the Pen. Integer
207
+ */
208
+ /* Document-attr: color
209
+ * returns the color of the Pen. WX::Color
210
+ */
211
+ /* Document-attr: style
212
+ * returns the style of the Pen. Symbol
213
+ */
214
+ /* Document-attr: stipple
215
+ * returns the stipple of the Pen. WX::Bitmap
216
+ */
217
+
218
+ /* Document-const: BLACK_DASHED
219
+ * predefined Pen constant.
220
+ */
221
+ /* Document-const: BLACK
222
+ * predefined Pen constant.
223
+ */
224
+ /* Document-const: BLUE
225
+ * predefined Pen constant.
226
+ */
227
+ /* Document-const: CYAN
228
+ * predefined Pen constant.
229
+ */
230
+ /* Document-const: GREEN
231
+ * predefined Pen constant.
232
+ */
233
+ /* Document-const: YELLOW
234
+ * predefined Pen constant.
235
+ */
236
+ /* Document-const: GREY
237
+ * predefined Pen constant.
238
+ */
239
+ /* Document-const: LIGHT_GREY
240
+ * predefined Pen constant.
241
+ */
242
+ /* Document-const: MEDIUM_GREY
243
+ * predefined Pen constant.
244
+ */
245
+ /* Document-const: RED
246
+ * predefined Pen constant.
247
+ */
248
+ /* Document-const: TRANSPARENT
249
+ * predefined Pen constant.
250
+ */
251
+ /* Document-const: WHITE
252
+ * predefined Pen constant.
253
+ */
254
+
255
+ DLL_LOCAL void Init_WXPen(VALUE rb_mWX)
256
+ {
257
+ #if 0
258
+ rb_define_attr(rb_cWXPen,"width",1,1);
259
+ rb_define_attr(rb_cWXPen,"color",1,1);
260
+
261
+ rb_define_attr(rb_cWXPen,"style",1,1);
262
+ rb_define_attr(rb_cWXPen,"stipple",1,1);
263
+
264
+ rb_define_const(rb_cWXPen,"BLACK_DASHED",wrap(wxBLACK_DASHED_PEN));
265
+ rb_define_const(rb_cWXPen,"BLACK",wrap(wxBLACK_PEN));
266
+ rb_define_const(rb_cWXPen,"BLUE",wrap(wxBLUE_PEN));
267
+ rb_define_const(rb_cWXPen,"CYAN",wrap(wxCYAN_PEN));
268
+ rb_define_const(rb_cWXPen,"GREEN",wrap(wxGREEN_PEN));
269
+ rb_define_const(rb_cWXPen,"YELLOW",wrap(wxYELLOW_PEN));
270
+ rb_define_const(rb_cWXPen,"GREY",wrap(wxGREY_PEN));
271
+ rb_define_const(rb_cWXPen,"LIGHT_GREY",wrap(wxLIGHT_GREY_PEN));
272
+ rb_define_const(rb_cWXPen,"MEDIUM_GREY",wrap(wxMEDIUM_GREY_PEN));
273
+ rb_define_const(rb_cWXPen,"RED",wrap(wxRED_PEN));
274
+ rb_define_const(rb_cWXPen,"TRANSPARENT",wrap(wxTRANSPARENT_PEN));
275
+ rb_define_const(rb_cWXPen,"WHITE",wrap(wxWHITE_PEN));
276
+ #endif
277
+
278
+ using namespace RubyWX::Pen;
279
+ rb_cWXPen = rb_define_class_under(rb_mWX,"Pen",rb_cObject);
280
+ rb_define_alloc_func(rb_cWXPen,_alloc);
281
+
282
+ rb_define_method(rb_cWXPen,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
283
+ rb_define_private_method(rb_cWXPen,"initialize_copy",RUBY_METHOD_FUNC(_initialize_copy),1);
284
+
285
+ rb_define_attr_method(rb_cWXPen,"width",_getWidth,_setWidth);
286
+ rb_define_attr_method(rb_cWXPen,"color",_getColour,_setColour);
287
+
288
+ rb_define_attr_method(rb_cWXPen,"style",_getStyle,_setStyle);
289
+ rb_define_attr_method(rb_cWXPen,"stipple",_getStipple,_setStipple);
290
+
291
+ rb_define_method(rb_cWXPen,"marshal_dump",RUBY_METHOD_FUNC(_marshal_dump),0);
292
+ rb_define_method(rb_cWXPen,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),1);
293
+
294
+ rb_define_method(rb_cWXPen,"==",RUBY_METHOD_FUNC(_equal),1);
295
+
296
+ rb_define_singleton_method(rb_cWXPen,"[]",RUBY_METHOD_FUNC(_class_get),-1);
297
+
298
+ registerDataType(rb_cWXPen);
299
+ //
300
+ // rb_define_method(rb_cWXPen,"to_s",RUBY_METHOD_FUNC(_tos),0);
301
+ // rb_define_method(rb_cWXPen,"inspect",RUBY_METHOD_FUNC(_inspect),0);
302
+
303
+ registerEnum<wxPenStyle>("WX::PenStyle",wxPENSTYLE_TRANSPARENT)
304
+ ->add(wxPENSTYLE_SOLID,"solid")
305
+ ->add(wxPENSTYLE_DOT,"dot")
306
+ ->add(wxPENSTYLE_LONG_DASH,"long_dash")
307
+ ->add(wxPENSTYLE_SHORT_DASH,"short_dash")
308
+ ->add(wxPENSTYLE_DOT_DASH,"dot_dash")
309
+ ->add(wxPENSTYLE_USER_DASH,"user_dash")
310
+ ->add(wxPENSTYLE_TRANSPARENT,"transparent")
311
+ ->add(wxPENSTYLE_STIPPLE_MASK_OPAQUE,"stipple_mask_opaque")
312
+ ->add(wxPENSTYLE_STIPPLE_MASK,"stipple_mask")
313
+ ->add(wxPENSTYLE_STIPPLE,"stipple")
314
+ ->add(wxPENSTYLE_BDIAGONAL_HATCH,"bdiagonal_hatch")
315
+ ->add(wxPENSTYLE_CROSSDIAG_HATCH,"crossdiag_hatch")
316
+ ->add(wxPENSTYLE_FDIAGONAL_HATCH,"fdiagonal_hatch")
317
+ ->add(wxPENSTYLE_CROSS_HATCH,"cross_hatch")
318
+ ->add(wxPENSTYLE_HORIZONTAL_HATCH,"horizontal_hatch")
319
+ ->add(wxPENSTYLE_VERTICAL_HATCH,"vertical_hatch");
320
+
321
+ }
322
+
323
+