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,45 @@
1
+ /*
2
+ * wxDataView.hpp
3
+ *
4
+ * Created on: 24.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDATAVIEW_HPP_
9
+ #define WXDATAVIEW_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXDataView;
14
+
15
+ void Init_WXDataView(VALUE rb_mWX);
16
+ #if wxUSE_DATAVIEWCTRL
17
+ #include <wx/dataview.h>
18
+
19
+ class DataViewClientHolder
20
+ {
21
+ public:
22
+ wxClientData *getClientValue( const wxDataViewItem& item) const;
23
+ void setClientValue( const wxDataViewItem& item, wxClientData *data );
24
+ private:
25
+ std::map<wxDataViewItem,wxClientData*> m_clientvalues;
26
+ };
27
+
28
+ class RubyDataViewNotifier : public wxDataViewModelNotifier
29
+ {
30
+ public:
31
+ bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
32
+ bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
33
+ bool ItemChanged( const wxDataViewItem &item );
34
+
35
+ bool ValueChanged( const wxDataViewItem &item, unsigned int col );
36
+ bool Cleared();
37
+
38
+ void Resort();
39
+ };
40
+
41
+ VALUE wrap(wxDataViewModel *model, const wxDataViewItem& item);
42
+
43
+ #endif
44
+
45
+ #endif /* WXDATAVIEW_HPP_ */
@@ -0,0 +1,190 @@
1
+ /*
2
+ * wxDataViewList.cpp
3
+ *
4
+ * Created on: 24.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxDataViewList.hpp"
10
+ #include "wxVariant.hpp"
11
+
12
+ VALUE rb_cWXDataViewList;
13
+
14
+ #if wxUSE_DATAVIEWCTRL
15
+
16
+ class RubyDataViewListStore : public wxDataViewListStore, public DataViewClientHolder
17
+ {
18
+ public:
19
+ RubyDataViewListStore() : wxDataViewListStore(), DataViewClientHolder()
20
+ {
21
+ AddNotifier(new RubyDataViewNotifier);
22
+ }
23
+ };
24
+
25
+ namespace RubyWX {
26
+ namespace DataViewList {
27
+ #define _self unwrap<wxDataViewListCtrl*>(self)
28
+ //macro_attr(Path,wxString)
29
+
30
+ APP_PROTECT(wxDataViewListCtrl)
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
+
39
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
40
+ set_hash_option(hash,"id",id,unwrapID);
41
+ }
42
+
43
+ _self->Create(unwrap<wxWindow*>(parent),id);
44
+ _self->AssociateModel(new RubyDataViewListStore);
45
+ }
46
+
47
+ rb_call_super(argc,argv);
48
+
49
+ return self;
50
+ }
51
+
52
+ singlefunc(DeleteAllItems);
53
+
54
+ DLL_LOCAL VALUE _AppendTextColumn(int argc,VALUE *argv,VALUE self)
55
+ {
56
+ VALUE label,hash;
57
+ rb_scan_args(argc, argv, "10",&label,&hash);
58
+
59
+ _self->AppendTextColumn(unwrap<wxString>(label));
60
+ return self;
61
+ }
62
+
63
+ DLL_LOCAL VALUE _AppendToggleColumn(int argc,VALUE *argv,VALUE self)
64
+ {
65
+ VALUE label,hash;
66
+ rb_scan_args(argc, argv, "11",&label,&hash);
67
+
68
+ _self->AppendToggleColumn(unwrap<wxString>(label));
69
+ return self;
70
+ }
71
+
72
+ DLL_LOCAL VALUE _AppendIconTextColumn(int argc,VALUE *argv,VALUE self)
73
+ {
74
+ VALUE label,hash;
75
+ rb_scan_args(argc, argv, "11",&label,&hash);
76
+
77
+ _self->AppendIconTextColumn(unwrap<wxString>(label));
78
+ return self;
79
+ }
80
+
81
+ DLL_LOCAL VALUE _AppendProgressColumn(int argc,VALUE *argv,VALUE self)
82
+ {
83
+ VALUE label,hash;
84
+ rb_scan_args(argc, argv, "11",&label,&hash);
85
+
86
+ _self->AppendProgressColumn(unwrap<wxString>(label));
87
+ return self;
88
+ }
89
+
90
+
91
+ DLL_LOCAL VALUE _AppendItem(int argc,VALUE *argv,VALUE self)
92
+ {
93
+ VALUE arg;
94
+ rb_scan_args(argc, argv, "*",&arg);
95
+
96
+ std::size_t count = _self->GetColumnCount();
97
+ if(count > (unsigned int)argc)
98
+ rb_raise(rb_eArgError,"to few arguments need more then %d.",(int)count);
99
+
100
+ wxVector<wxVariant> vecvar;
101
+
102
+ for(std::size_t i = 0; i < count;++i)
103
+ vecvar.push_back(unwrapVariant(RARRAY_AREF(arg,i),_self->GetColumn(i)->GetRenderer()->GetVariantType()));
104
+ _self->AppendItem(vecvar,0);
105
+ return wrap(_self->GetModel(),_self->GetStore()->GetItem(_self->GetStore()->GetCount() - 1));
106
+ }
107
+
108
+ DLL_LOCAL VALUE _PrependItem(int argc,VALUE *argv,VALUE self)
109
+ {
110
+ VALUE arg;
111
+ rb_scan_args(argc, argv, "*",&arg);
112
+
113
+ std::size_t count = _self->GetColumnCount();
114
+ if(count > (unsigned int)argc)
115
+ rb_raise(rb_eArgError,"to few arguments need more then %d.",(int)count);
116
+
117
+ wxVector<wxVariant> vecvar;
118
+
119
+ for(std::size_t i = 0; i < count;++i){
120
+ vecvar.push_back(unwrapVariant(RARRAY_AREF(arg,i),_self->GetColumn(i)->GetRenderer()->GetVariantType()));
121
+ }
122
+ _self->PrependItem(vecvar,0);
123
+ return wrap(_self->GetModel(),_self->GetStore()->GetItem(0));
124
+ }
125
+
126
+ DLL_LOCAL VALUE _InsertItem(int argc,VALUE *argv,VALUE self)
127
+ {
128
+ VALUE index,arg;
129
+ rb_scan_args(argc, argv, "1*",&index,&arg);
130
+
131
+ std::size_t count = _self->GetColumnCount() ;
132
+ if((count + 1) > (unsigned int)argc)
133
+ rb_raise(rb_eArgError,"to few arguments need more then %d.",(int)count + 1);
134
+
135
+ wxVector<wxVariant> vecvar;
136
+
137
+ for(std::size_t i = 0; i < count;++i)
138
+ vecvar.push_back(unwrapVariant(RARRAY_AREF(arg,i),_self->GetModel()->GetColumnType(i)));
139
+ _self->InsertItem(NUM2INT(index),vecvar,0);
140
+ return wrap(_self->GetModel(),_self->GetStore()->GetItem(index));
141
+ }
142
+
143
+
144
+ }
145
+ }
146
+
147
+
148
+
149
+
150
+ #endif
151
+ DLL_LOCAL void Init_WXDataViewList(VALUE rb_mWX)
152
+ {
153
+ #if 0
154
+ rb_mWX = rb_define_module("WX");
155
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
156
+
157
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
158
+ rb_cWXDataView = rb_define_class_under(rb_mWX,"DataView",rb_cWXControl);
159
+
160
+ #endif
161
+ #if wxUSE_DATAVIEWCTRL
162
+ using namespace RubyWX::DataViewList;
163
+ rb_cWXDataViewList = rb_define_class_under(rb_mWX,"DataViewList",rb_cWXDataView);
164
+ rb_define_alloc_func(rb_cWXDataViewList,_alloc);
165
+
166
+ rb_define_method(rb_cWXDataViewList,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
167
+
168
+ // rb_define_method(rb_cWXDataViewList,"append_text_column",RUBY_METHOD_FUNC(_AppendTextColumn),-1);
169
+ // rb_define_method(rb_cWXDataViewList,"append_toggle_column",RUBY_METHOD_FUNC(_AppendToggleColumn),-1);
170
+ // rb_define_method(rb_cWXDataViewList,"append_icontext_column",RUBY_METHOD_FUNC(_AppendIconTextColumn),-1);
171
+ // rb_define_method(rb_cWXDataViewList,"append_progress_column",RUBY_METHOD_FUNC(_AppendProgressColumn),-1);
172
+
173
+
174
+ rb_define_method(rb_cWXDataViewList,"append_item",RUBY_METHOD_FUNC(_AppendItem),-1);
175
+ rb_define_method(rb_cWXDataViewList,"prepend_item",RUBY_METHOD_FUNC(_PrependItem),-1);
176
+ rb_define_method(rb_cWXDataViewList,"insert_item",RUBY_METHOD_FUNC(_InsertItem),-1);
177
+
178
+ rb_define_method(rb_cWXDataViewList,"delete_items",RUBY_METHOD_FUNC(_DeleteAllItems),0);
179
+
180
+
181
+ // rb_define_attr_method(rb_cWXDataView,"path",_getPath,_setPath);
182
+
183
+ registerInfo< wxDataViewListCtrl >(rb_cWXDataViewList);
184
+
185
+ #endif
186
+
187
+ }
188
+
189
+
190
+
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxDataViewList.hpp
3
+ *
4
+ * Created on: 24.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDATAVIEWLIST_HPP_
9
+ #define WXDATAVIEWLIST_HPP_
10
+
11
+ #include "wxDataView.hpp"
12
+
13
+ extern VALUE rb_cWXDataViewList;
14
+
15
+ void Init_WXDataViewList(VALUE rb_mWX);
16
+
17
+ #endif /* WXDATAVIEWLIST_HPP_ */
@@ -0,0 +1,103 @@
1
+ /*
2
+ * wxDatePickerCtrl.cpp
3
+ *
4
+ * Created on: 02.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxDatePicker.hpp"
10
+
11
+ VALUE rb_cWXDatePicker;
12
+
13
+ #if wxUSE_DATEPICKCTRL
14
+ #define _self unwrap<wxDatePickerCtrl*>(self)
15
+
16
+ namespace RubyWX {
17
+ namespace DatePicker {
18
+ macro_attr(Value,wxDateTime)
19
+
20
+ APP_PROTECT(wxDatePickerCtrl)
21
+
22
+ /*
23
+ * call-seq:
24
+ * DatePicker.new(parent, name, [options])
25
+ * DatePicker.new(parent, [options])
26
+ *
27
+ * creates a new DatePicker 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
+ *
34
+ */
35
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
36
+ {
37
+ VALUE parent,name,hash;
38
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
39
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
40
+ wxWindowID id(wxID_ANY);
41
+ wxDateTime date(wxDefaultDateTime);
42
+ int style(wxDP_DEFAULT | wxDP_SHOWCENTURY);
43
+
44
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
45
+ set_hash_option(hash,"id",id,unwrapID);
46
+ set_hash_option(hash,"date",date);
47
+ set_hash_option(hash,"style",style);
48
+ }
49
+
50
+ _self->Create(
51
+ unwrap<wxWindow*>(parent),id,date,
52
+ wxDefaultPosition,wxDefaultSize,
53
+ style
54
+ );
55
+
56
+ }
57
+
58
+ rb_call_super(argc,argv);
59
+
60
+ if(rb_obj_is_kind_of(name,rb_cString) &&
61
+ rb_obj_is_kind_of(hash,rb_cHash))
62
+ {
63
+ VALUE temp;
64
+ set_option(date,Value,wxDateTime)
65
+ }
66
+
67
+ rb_call_super(argc,argv);
68
+ return self;
69
+ }
70
+
71
+ }
72
+ }
73
+ #endif
74
+
75
+
76
+ /* Document-attr: value
77
+ * the value of the DatePicker. Time
78
+ */
79
+ DLL_LOCAL void Init_WXDatePicker(VALUE rb_mWX)
80
+ {
81
+ #if 0
82
+ rb_mWX = rb_define_module("WX");
83
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
84
+
85
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
86
+ rb_define_attr(rb_cWXDatePicker,"value",1,1);
87
+ #endif
88
+
89
+ #if wxUSE_DATEPICKCTRL
90
+ using namespace RubyWX::DatePicker;
91
+ rb_cWXDatePicker = rb_define_class_under(rb_mWX,"DatePicker",rb_cWXControl);
92
+ rb_define_alloc_func(rb_cWXDatePicker,_alloc);
93
+
94
+ rb_define_method(rb_cWXDatePicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
95
+
96
+ rb_define_attr_method(rb_cWXDatePicker,"value",_getValue,_setValue);
97
+
98
+ registerInfo<wxDatePickerCtrl>(rb_cWXDatePicker);
99
+ #endif
100
+
101
+ }
102
+
103
+
@@ -0,0 +1,22 @@
1
+ /*
2
+ * wxDatePickerCtrl.hpp
3
+ *
4
+ * Created on: 15.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDATEPICKER_HPP_
9
+ #define WXDATEPICKER_HPP_
10
+
11
+
12
+ #include "wxPickerBase.hpp"
13
+
14
+ extern VALUE rb_cWXDatePicker;
15
+
16
+ void Init_WXDatePicker(VALUE rb_mWX);
17
+
18
+ #if wxUSE_DATEPICKCTRL
19
+ #include <wx/datectrl.h>
20
+ #endif
21
+
22
+ #endif /* WXDATEPICKER_HPP_ */
@@ -0,0 +1,120 @@
1
+ /*
2
+ * wxDialog.cpp
3
+ *
4
+ * Created on: 12.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxEvtHandler.hpp"
9
+ #include "wxSizer.hpp"
10
+
11
+ VALUE rb_cWXDialog;
12
+
13
+ #define _self unwrap<wxDialog*>(self)
14
+
15
+ namespace RubyWX {
16
+ namespace Dialog {
17
+
18
+ APP_PROTECT(wxDialog)
19
+
20
+ macro_attr_with_func(EscapeId,wrapID,unwrapID)
21
+ macro_attr_with_func(ReturnCode,wrapID,unwrapID)
22
+ macro_attr_with_func(AffirmativeId,wrapID,unwrapID)
23
+
24
+
25
+ /*
26
+ * call-seq:
27
+ * Dialog.new(parent, name, [options])
28
+ * Dialog.new(parent, [options])
29
+ *
30
+ * creates a new Dialog widget.
31
+ * ===Arguments
32
+ * * parent of this window or nil
33
+ * * name is a String describing a resource in a loaded xrc
34
+ *
35
+ * *options: Hash with possible options to set
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
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)){
43
+ wxWindowID id(wxID_ANY);
44
+ wxString title(wxEmptyString);
45
+ int style(wxDEFAULT_DIALOG_STYLE);
46
+
47
+ if(rb_obj_is_kind_of(name,rb_cHash))
48
+ {
49
+ set_hash_option(name,"id",id,unwrapID);
50
+ set_hash_option(name,"title",title);
51
+ set_hash_option(name,"style",style);
52
+
53
+ TopLevel::set_style_flags(hash,style);
54
+ }
55
+
56
+ _self->Create(unwrap<wxWindow*>(parent),id,title,wxDefaultPosition,wxDefaultSize,style);
57
+
58
+ }
59
+ rb_call_super(argc,argv);
60
+ return self;
61
+
62
+ }
63
+
64
+ DLL_LOCAL VALUE _ShowModal(VALUE self)
65
+ {
66
+ return wrapID(_self->ShowModal());
67
+ }
68
+
69
+ DLL_LOCAL VALUE _EndModal(VALUE self,VALUE id)
70
+ {
71
+ _self->EndModal(unwrapID(id));
72
+ return self;
73
+ }
74
+
75
+
76
+ DLL_LOCAL VALUE _CreateButtonSizer(VALUE self,VALUE flags)
77
+ {
78
+ return wrap(_self->CreateButtonSizer(unwrap_buttonflag(flags)));
79
+ }
80
+
81
+ #if wxUSE_STATTEXT
82
+
83
+ DLL_LOCAL VALUE _CreateTextSizer(VALUE self,VALUE text)
84
+ {
85
+ return wrap(_self->CreateTextSizer(unwrap<wxString>(text)));
86
+ }
87
+ #endif
88
+
89
+ }
90
+ }
91
+
92
+ DLL_LOCAL void Init_WXDialog(VALUE rb_mWX)
93
+ {
94
+ #if 0
95
+ rb_mWX = rb_define_module("WX");
96
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
97
+
98
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
99
+ #endif
100
+
101
+ using namespace RubyWX::Dialog;
102
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
103
+ rb_define_alloc_func(rb_cWXDialog,_alloc);
104
+
105
+ rb_define_method(rb_cWXDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
106
+
107
+ rb_define_attr_method(rb_cWXDialog, "return_code",_getReturnCode,_setReturnCode);
108
+
109
+ rb_define_method(rb_cWXDialog,"show_modal",RUBY_METHOD_FUNC(_ShowModal),0);
110
+ rb_define_method(rb_cWXDialog,"end_modal",RUBY_METHOD_FUNC(_EndModal),1);
111
+
112
+ rb_define_method(rb_cWXDialog,"create_button_sizer",RUBY_METHOD_FUNC(_CreateButtonSizer),-2);
113
+ #if wxUSE_STATTEXT
114
+ rb_define_method(rb_cWXDialog,"create_text_sizer",RUBY_METHOD_FUNC(_CreateTextSizer),1);
115
+ #endif
116
+ rb_define_const(rb_cWXDialog,"DEFAULT_STYLE",INT2NUM(wxDEFAULT_DIALOG_STYLE));
117
+
118
+
119
+ registerInfo<wxDialog>(rb_cWXDialog);
120
+ }