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,25 @@
1
+ /*
2
+ * wxCursor.hpp
3
+ *
4
+ * Created on: 10.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXCURSOR_HPP_
9
+ #define WXCURSOR_HPP_
10
+
11
+ #include "wxBitmap.hpp"
12
+
13
+ extern VALUE rb_cWXCursor;
14
+ void Init_WXCursor(VALUE rb_mWX);
15
+
16
+ template <>
17
+ VALUE wrap< wxCursor >(wxCursor *bitmap );
18
+
19
+ template <>
20
+ wxCursor* unwrap< wxCursor* >(const VALUE &vbitmap);
21
+
22
+ template <>
23
+ wxCursor unwrap< wxCursor >(const VALUE &vbitmap);
24
+
25
+ #endif /* WXCURSOR_HPP_ */
@@ -0,0 +1,252 @@
1
+ /*
2
+ * wxDC.cpp
3
+ *
4
+ * Created on: 12.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxDC.hpp"
9
+ #include "wxRect.hpp"
10
+ #include "wxBitmap.hpp"
11
+ #include "wxPoint.hpp"
12
+ #include "wxPen.hpp"
13
+ #include "wxBrush.hpp"
14
+ #include "wxColor.hpp"
15
+ #include "wxFont.hpp"
16
+
17
+ #define _self unwrap<wxDC*>(self)
18
+
19
+ VALUE rb_cWXDC;
20
+
21
+ namespace RubyWX {
22
+ namespace DC {
23
+
24
+ macro_attr(Font,wxFont)
25
+ macro_attr(Pen,wxPen)
26
+ macro_attr(Brush,wxBrush)
27
+ macro_attr(Background,wxBrush)
28
+
29
+ macro_attr(TextForeground,wxColour)
30
+ macro_attr(TextBackground,wxColour)
31
+
32
+
33
+ singlefunc(Clear)
34
+
35
+ singlereturn(GetSize)
36
+
37
+ singlereturn(CanDrawBitmap)
38
+
39
+ singlereturn(GetLogicalOrigin)
40
+ singlereturn(GetDeviceOrigin)
41
+
42
+ DLL_LOCAL VALUE _setLogicalOrigin(VALUE self,VALUE val)
43
+ {
44
+ rb_check_frozen(self);
45
+ wxPoint p(unwrap<wxPoint>(val));
46
+ _self->SetLogicalOrigin(p.x,p.y);
47
+ return val;
48
+ }
49
+
50
+ DLL_LOCAL VALUE _setDeviceOrigin(VALUE self,VALUE val)
51
+ {
52
+ rb_check_frozen(self);
53
+ wxPoint p(unwrap<wxPoint>(val));
54
+ _self->SetDeviceOrigin(p.x,p.y);
55
+ return val;
56
+ }
57
+
58
+
59
+ DLL_LOCAL VALUE _getUserScale(VALUE self)
60
+ {
61
+ rb_check_frozen(self);
62
+ double x, y;
63
+ _self->GetUserScale(&x,&y);
64
+ return wrap(wxRealPoint(x,y));
65
+ }
66
+
67
+ DLL_LOCAL VALUE _setUserScale(VALUE self,VALUE val)
68
+ {
69
+ rb_check_frozen(self);
70
+ wxRealPoint p(unwrap<wxRealPoint>(val));
71
+ _self->SetUserScale(p.x,p.y);
72
+ return val;
73
+ }
74
+
75
+ DLL_LOCAL VALUE _getLogicalScale(VALUE self)
76
+ {
77
+ rb_check_frozen(self);
78
+ double x, y;
79
+ _self->GetLogicalScale(&x,&y);
80
+ return wrap(wxRealPoint(x,y));
81
+ }
82
+
83
+ DLL_LOCAL VALUE _setLogicalScale(VALUE self,VALUE val)
84
+ {
85
+ rb_check_frozen(self);
86
+ wxRealPoint p(unwrap<wxRealPoint>(val));
87
+ _self->SetLogicalScale(p.x,p.y);
88
+ return val;
89
+ }
90
+
91
+ DLL_LOCAL VALUE _doc(VALUE self,VALUE message)
92
+ {
93
+ rb_check_frozen(self);
94
+ _self->StartDoc(unwrap<wxString>(message));
95
+ rb_yield(self);
96
+ _self->EndDoc();
97
+ return self;
98
+ }
99
+
100
+ DLL_LOCAL VALUE _page(VALUE self)
101
+ {
102
+ rb_check_frozen(self);
103
+ _self->StartPage();
104
+ rb_yield(self);
105
+ _self->EndPage();
106
+ return self;
107
+ }
108
+
109
+ DLL_LOCAL VALUE _DrawRectangle(VALUE self,VALUE rect)
110
+ {
111
+ _self->DrawRectangle(unwrap<wxRect>(rect));
112
+ return self;
113
+ }
114
+
115
+ DLL_LOCAL VALUE _DrawEllipse(VALUE self,VALUE rect)
116
+ {
117
+ _self->DrawEllipse(unwrap<wxRect>(rect));
118
+ return self;
119
+ }
120
+
121
+ DLL_LOCAL VALUE _DrawCheckMark(VALUE self,VALUE rect)
122
+ {
123
+ _self->DrawCheckMark(unwrap<wxRect>(rect));
124
+ return self;
125
+ }
126
+
127
+
128
+ DLL_LOCAL VALUE _DrawBitmap(VALUE self,VALUE bitmap,VALUE x,VALUE y)
129
+ {
130
+
131
+ if(!_self->CanDrawBitmap())
132
+ rb_raise(rb_eArgError, "DC can't draw bitmaps");
133
+ _self->DrawBitmap(unwrap<wxBitmap>(bitmap),NUM2INT(x),NUM2INT(y));
134
+ return self;
135
+ }
136
+
137
+ DLL_LOCAL VALUE _DrawText(VALUE self,VALUE bitmap,VALUE x,VALUE y)
138
+ {
139
+
140
+ _self->DrawText(unwrap<wxString>(bitmap),NUM2INT(x),NUM2INT(y));
141
+ return self;
142
+ }
143
+
144
+
145
+ DLL_LOCAL VALUE _DrawLines(int argc,VALUE *argv,VALUE self)
146
+ {
147
+ VALUE x,y,points;
148
+ rb_scan_args(argc, argv, "2*",&x,&y,&points);
149
+ _self->DrawLines(unwrap<wxPointList*>(points),NUM2INT(x),NUM2INT(y));
150
+ return self;
151
+ }
152
+
153
+
154
+ }
155
+ }
156
+
157
+
158
+ /* Document-attr: font
159
+ * WX::Font for drawing text
160
+ */
161
+
162
+ /* Document-attr: pen
163
+ * WX::Pen
164
+ */
165
+
166
+ /* Document-attr: brush
167
+ * WX::Brush for lines
168
+ */
169
+
170
+ /* Document-attr: background
171
+ * WX::Brush for filling
172
+ */
173
+
174
+ /* Document-attr: text_foreground
175
+ * WX::Color for text drawing.
176
+ */
177
+
178
+ /* Document-attr: text_background
179
+ * WX::Color for text drawing.
180
+ */
181
+
182
+
183
+ /* Document-attr: logical_origin
184
+ * WX::Point
185
+ */
186
+
187
+ /* Document-attr: device_origin
188
+ * WX::Point the device origin (i.e. the origin in pixels after scaling has been applied).
189
+ */
190
+
191
+ /* Document-attr: user_scale
192
+ * WX::Point (Float,Float) user scaling factor, useful for applications which require 'zooming'.
193
+ */
194
+
195
+ /* Document-attr: logical_scale
196
+ * WX::Point
197
+ */
198
+
199
+
200
+ DLL_LOCAL void Init_WXDC(VALUE rb_mWX)
201
+ {
202
+ #if 0
203
+ rb_define_attr(rb_cWXDC,"font",1,1);
204
+ rb_define_attr(rb_cWXDC,"pen",1,1);
205
+ rb_define_attr(rb_cWXDC,"brush",1,1);
206
+ rb_define_attr(rb_cWXDC,"background",1,1);
207
+ rb_define_attr(rb_cWXDC,"text_foreground",1,1);
208
+ rb_define_attr(rb_cWXDC,"text_background",1,1);
209
+
210
+ rb_define_attr(rb_cWXDC,"logical_origin",1,1);
211
+ rb_define_attr(rb_cWXDC,"device_origin",1,1);
212
+ rb_define_attr(rb_cWXDC,"user_scale",1,1);
213
+ rb_define_attr(rb_cWXDC,"logical_scale",1,1);
214
+ #endif
215
+
216
+ using namespace RubyWX::DC;
217
+ rb_cWXDC = rb_define_class_under(rb_mWX,"DC",rb_cObject);
218
+ rb_undef_alloc_func(rb_cWXDC);
219
+
220
+ rb_undef_method(rb_cWXDC,"initialize_copy");
221
+ rb_undef_method(rb_cWXDC,"_load");
222
+ rb_undef_method(rb_cWXDC,"_dump");
223
+
224
+ rb_define_method(rb_cWXDC,"draw_rectangle",RUBY_METHOD_FUNC(_DrawRectangle),1);
225
+ rb_define_method(rb_cWXDC,"draw_ellipse",RUBY_METHOD_FUNC(_DrawEllipse),1);
226
+ rb_define_method(rb_cWXDC,"draw_checkmark",RUBY_METHOD_FUNC(_DrawCheckMark),1);
227
+
228
+ rb_define_method(rb_cWXDC,"draw_bitmap",RUBY_METHOD_FUNC(_DrawBitmap),3);
229
+ rb_define_method(rb_cWXDC,"draw_text",RUBY_METHOD_FUNC(_DrawText),3);
230
+
231
+ rb_define_method(rb_cWXDC,"clear",RUBY_METHOD_FUNC(_Clear),0);
232
+ rb_define_method(rb_cWXDC,"size",RUBY_METHOD_FUNC(_GetSize),0);
233
+ rb_define_method(rb_cWXDC,"draw_bitmap?",RUBY_METHOD_FUNC(_CanDrawBitmap),0);
234
+
235
+ rb_define_attr_method(rb_cWXDC,"font",_getFont,_setFont);
236
+ rb_define_attr_method(rb_cWXDC,"pen",_getPen,_setPen);
237
+ rb_define_attr_method(rb_cWXDC,"brush",_getBrush,_setBrush);
238
+ rb_define_attr_method(rb_cWXDC,"background",_getBackground,_setBackground);
239
+ rb_define_attr_method(rb_cWXDC,"text_foreground",_getTextForeground,_setTextForeground);
240
+ rb_define_attr_method(rb_cWXDC,"text_background",_getTextBackground,_setTextBackground);
241
+
242
+ rb_define_attr_method(rb_cWXDC,"logical_origin",_GetLogicalOrigin,_setLogicalOrigin);
243
+ rb_define_attr_method(rb_cWXDC,"device_origin",_GetDeviceOrigin,_setDeviceOrigin);
244
+
245
+ rb_define_attr_method(rb_cWXDC,"user_scale",_getUserScale,_setUserScale);
246
+ rb_define_attr_method(rb_cWXDC,"logical_scale",_getLogicalScale,_setLogicalScale);
247
+
248
+
249
+ registerInfo<wxDC>(rb_cWXDC);
250
+ }
251
+
252
+
@@ -0,0 +1,18 @@
1
+ /*
2
+ * wxDC.hpp
3
+ *
4
+ * Created on: 07.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDC_HPP_
9
+ #define WXDC_HPP_
10
+
11
+ #include "main.hpp"
12
+ #if wxUSE_GRAPHICS_CONTEXT
13
+ #include <wx/dcgraph.h>
14
+ #endif
15
+ extern VALUE rb_cWXDC;
16
+ void Init_WXDC(VALUE rb_mWX);
17
+
18
+ #endif /* WXDC_HPP_ */
@@ -0,0 +1,224 @@
1
+ /*
2
+ * wxDataView.cpp
3
+ *
4
+ * Created on: 24.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxControl.hpp"
9
+ #include "wxDataView.hpp"
10
+ #include "wxBitmap.hpp"
11
+ #include "wxVariant.hpp"
12
+
13
+ VALUE rb_cWXDataView, rb_cWXDataViewEvent,rb_cWXDataViewItem;
14
+
15
+ #if wxUSE_DATAVIEWCTRL
16
+
17
+ wxClientData* DataViewClientHolder::getClientValue(const wxDataViewItem & item) const
18
+ {
19
+ std::map<wxDataViewItem,wxClientData*>::const_iterator it = m_clientvalues.find(item);
20
+ if(it != m_clientvalues.end())
21
+ return it->second;
22
+ return NULL;
23
+ }
24
+
25
+ void DataViewClientHolder::setClientValue( const wxDataViewItem& item, wxClientData *data )
26
+ {
27
+ if(data){
28
+ m_clientvalues.insert(std::make_pair(item,data));
29
+ }else
30
+ m_clientvalues.erase(item);
31
+ }
32
+
33
+ bool RubyDataViewNotifier::ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item )
34
+ {
35
+ dynamic_cast<DataViewClientHolder*>(this->GetOwner())->setClientValue(item,new RubyClientData(wrapTypedPtr((void*)(&item),rb_cWXDataViewItem)));
36
+ return true;
37
+ }
38
+ bool RubyDataViewNotifier::ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item )
39
+ {
40
+ dynamic_cast<DataViewClientHolder*>(this->GetOwner())->setClientValue(item,NULL);
41
+ return true;
42
+ }
43
+ bool RubyDataViewNotifier::ItemChanged( const wxDataViewItem &item )
44
+ {
45
+ return true;
46
+ }
47
+
48
+ bool RubyDataViewNotifier::ValueChanged( const wxDataViewItem &item, unsigned int col )
49
+ {
50
+ return true;
51
+ }
52
+ bool RubyDataViewNotifier::Cleared()
53
+ {
54
+
55
+ return true;
56
+ }
57
+
58
+ void RubyDataViewNotifier::Resort()
59
+ {}
60
+
61
+
62
+
63
+ VALUE wrap(wxDataViewModel *model, const wxDataViewItem& item)
64
+ {
65
+ if(!item.IsOk())
66
+ return Qnil;
67
+ wxClientData* cd = dynamic_cast<DataViewClientHolder*>(model)->getClientValue(item);
68
+ return static_cast<RubyClientData*>(cd)->mRuby;
69
+ }
70
+
71
+ namespace RubyWX {
72
+ namespace DataView {
73
+ #define _self unwrap<wxDataViewCtrl*>(self)
74
+ //macro_attr(Path,wxString)
75
+
76
+ APP_PROTECT(wxDataViewCtrl)
77
+
78
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
79
+ {
80
+ VALUE parent,name,hash;
81
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
82
+ rb_call_super(argc,argv);
83
+ return self;
84
+ }
85
+
86
+ DLL_LOCAL VALUE _getSelection(VALUE self)
87
+ {
88
+ return wrap(_self->GetModel(),_self->GetSelection());
89
+ }
90
+
91
+ DLL_LOCAL VALUE _setSelection(VALUE self,VALUE item)
92
+ {
93
+ //_self->Select(unwrap<wxDataViewItem>(item));
94
+ return self;
95
+ }
96
+
97
+
98
+ DLL_LOCAL VALUE _AppendTextColumn(int argc,VALUE *argv,VALUE self)
99
+ {
100
+ VALUE label,hash;
101
+ rb_scan_args(argc, argv, "10",&label,&hash);
102
+
103
+ _self->AppendTextColumn(unwrap<wxString>(label),_self->GetColumnCount());
104
+ return self;
105
+ }
106
+
107
+ DLL_LOCAL VALUE _AppendToggleColumn(int argc,VALUE *argv,VALUE self)
108
+ {
109
+ VALUE label,hash;
110
+ rb_scan_args(argc, argv, "11",&label,&hash);
111
+
112
+ _self->AppendToggleColumn(unwrap<wxString>(label),_self->GetColumnCount());
113
+ return self;
114
+ }
115
+
116
+ DLL_LOCAL VALUE _AppendIconTextColumn(int argc,VALUE *argv,VALUE self)
117
+ {
118
+ VALUE label,hash;
119
+ rb_scan_args(argc, argv, "11",&label,&hash);
120
+
121
+ _self->AppendIconTextColumn(unwrap<wxString>(label),_self->GetColumnCount());
122
+ return self;
123
+ }
124
+
125
+ DLL_LOCAL VALUE _AppendBitmapColumn(int argc,VALUE *argv,VALUE self)
126
+ {
127
+ VALUE label,hash;
128
+ rb_scan_args(argc, argv, "11",&label,&hash);
129
+
130
+ _self->AppendBitmapColumn(unwrap<wxString>(label),_self->GetColumnCount());
131
+ return self;
132
+ }
133
+
134
+
135
+ DLL_LOCAL VALUE _AppendProgressColumn(int argc,VALUE *argv,VALUE self)
136
+ {
137
+ VALUE label,hash;
138
+ rb_scan_args(argc, argv, "11",&label,&hash);
139
+
140
+ _self->AppendProgressColumn(unwrap<wxString>(label),_self->GetColumnCount());
141
+ return self;
142
+ }
143
+
144
+
145
+ namespace Event {
146
+ #undef _self
147
+ #define _self unwrapTypedPtr<wxDataViewEvent>(self,rb_cWXDataViewEvent)
148
+ DLL_LOCAL VALUE _getValue(VALUE self)
149
+ {
150
+ //omg is this ugly
151
+ wxVariant var;
152
+ _self->GetModel()->GetValue(var,_self->GetItem(),_self->GetColumn());
153
+ return wrap(var);
154
+ }
155
+ DLL_LOCAL VALUE _setValue(VALUE self,VALUE val)
156
+ {
157
+ _self->SetValue(unwrapVariant(val,
158
+ _self->GetModel()->GetColumnType(_self->GetColumn())));
159
+ return val;
160
+ }
161
+
162
+ macro_attr(Column,int)
163
+
164
+ DLL_LOCAL VALUE _getItem(VALUE self)
165
+ {
166
+ return wrap(_self->GetModel(),_self->GetItem());
167
+ }
168
+
169
+ DLL_LOCAL VALUE _setItem(VALUE self,VALUE item)
170
+ {
171
+ return item;
172
+ }
173
+
174
+ }
175
+
176
+ }
177
+ }
178
+
179
+ #endif
180
+ DLL_LOCAL void Init_WXDataView(VALUE rb_mWX)
181
+ {
182
+
183
+ #if 0
184
+ rb_mWX = rb_define_module("WX");
185
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
186
+
187
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
188
+ #endif
189
+ #if wxUSE_DATAVIEWCTRL
190
+ using namespace RubyWX::DataView;
191
+ rb_cWXDataView = rb_define_class_under(rb_mWX,"DataView",rb_cWXControl);
192
+ //rb_define_alloc_func(rb_cWXDataView,_alloc);
193
+
194
+ rb_define_method(rb_cWXDataView,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
195
+
196
+ rb_define_attr_method(rb_cWXDataView,"selection",_getSelection,_setSelection);
197
+
198
+ rb_define_method(rb_cWXDataView,"append_text_column",RUBY_METHOD_FUNC(_AppendTextColumn),-1);
199
+ rb_define_method(rb_cWXDataView,"append_toggle_column",RUBY_METHOD_FUNC(_AppendToggleColumn),-1);
200
+ rb_define_method(rb_cWXDataView,"append_icontext_column",RUBY_METHOD_FUNC(_AppendIconTextColumn),-1);
201
+ rb_define_method(rb_cWXDataView,"append_bitmap_column",RUBY_METHOD_FUNC(_AppendBitmapColumn),-1);
202
+ rb_define_method(rb_cWXDataView,"append_progress_column",RUBY_METHOD_FUNC(_AppendProgressColumn),-1);
203
+
204
+
205
+ rb_cWXDataViewEvent = rb_define_class_under(rb_cWXEvent,"DataView",rb_cWXEvent);
206
+ registerEventType("dataview_selection_changed",wxEVT_DATAVIEW_SELECTION_CHANGED,rb_cWXDataViewEvent);
207
+ registerEventType("dataview_value_changed",wxEVT_DATAVIEW_ITEM_VALUE_CHANGED,rb_cWXDataViewEvent);
208
+
209
+ using namespace Event;
210
+ rb_define_attr_method(rb_cWXDataViewEvent,"value",_getValue,_setValue);
211
+ rb_define_attr_method(rb_cWXDataViewEvent,"column",_getColumn,_setColumn);
212
+ rb_define_attr_method(rb_cWXDataViewEvent,"item",_getItem,_setItem);
213
+
214
+ // rb_define_attr_method(rb_cWXFileDataViewEvent,"path",
215
+ // Event::_getPath,Event::_setPath);
216
+
217
+ rb_cWXDataViewItem = rb_define_class_under(rb_cWXDataView,"Item",rb_cObject);
218
+ rb_undef_alloc_func(rb_cWXDataViewItem);
219
+
220
+ registerInfo<wxDataViewCtrl>(rb_cWXDataView);
221
+ #endif
222
+
223
+ }
224
+