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,29 @@
1
+ /*
2
+ * wxFileDirPicker.hpp
3
+ *
4
+ * Created on: 09.01.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXFILEDIRPICKER_HPP_
9
+ #define WXFILEDIRPICKER_HPP_
10
+
11
+ #include "wxEvtHandler.hpp"
12
+
13
+ extern VALUE rb_cWXFileDirPicker;
14
+ extern VALUE rb_cWXFileDirPickerEvent;
15
+
16
+ void Init_WXFileDirPicker(VALUE rb_mWX);
17
+ #if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
18
+ #include <wx/filepicker.h>
19
+
20
+ namespace RubyWX {
21
+ namespace FileDirPicker {
22
+
23
+ void check_style_flags(const int& style);
24
+
25
+ }
26
+ }
27
+ #endif
28
+
29
+ #endif /* WXDIRPICKER_HPP_ */
@@ -0,0 +1,134 @@
1
+ /*
2
+ * wxFileHistory.cpp
3
+ *
4
+ * Created on: 06.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxFileHistory.hpp"
9
+ #include "wxApp.hpp"
10
+ #include "wxConfig.hpp"
11
+ #include "wxMenu.hpp"
12
+
13
+ VALUE rb_cWXFileHistory;
14
+ #if wxUSE_FILE_HISTORY
15
+ #define _self unwrap<wxFileHistory*>(self)
16
+
17
+ namespace RubyWX
18
+ {
19
+ namespace FileHistory
20
+ {
21
+
22
+ macro_attr(BaseId,wxWindowID)
23
+
24
+ APP_PROTECT(wxFileHistory)
25
+
26
+ DLL_LOCAL VALUE _each(VALUE self)
27
+ {
28
+ std::size_t count = _self->GetCount();
29
+ for(std::size_t i = 0;i < count;++i)
30
+ rb_yield(wrap(_self->GetHistoryFile(i)));
31
+ return self;
32
+ }
33
+
34
+ #if wxUSE_CONFIG
35
+ DLL_LOCAL VALUE _load(int argc,VALUE *argv,VALUE self)
36
+ {
37
+ VALUE config;
38
+ rb_scan_args(argc, argv, "01",&config);
39
+ wxConfigBase *cconf;
40
+ if(NIL_P(config))
41
+ cconf = wxConfig::Get();
42
+ else
43
+ cconf = unwrap<wxConfig*>(config);
44
+ _self->Load(*cconf);
45
+ return self;
46
+ }
47
+
48
+ DLL_LOCAL VALUE _save(int argc,VALUE *argv,VALUE self)
49
+ {
50
+ VALUE config;
51
+ rb_scan_args(argc, argv, "01",&config);
52
+ wxConfigBase *cconf;
53
+ if(NIL_P(config))
54
+ cconf = wxConfig::Get();
55
+ else
56
+ cconf = unwrap<wxConfig*>(config);
57
+ _self->Save(*cconf);
58
+ return self;
59
+ }
60
+
61
+ #endif // wxUSE_CONFIG
62
+
63
+ DLL_LOCAL VALUE _shiftleft(VALUE self,VALUE val)
64
+ {
65
+ #if wxUSE_CONFIG
66
+ if(rb_obj_is_kind_of(val,rb_cWXConfig))
67
+ _self->Load(*unwrap<wxConfig*>(val));
68
+ else
69
+ #endif // wxUSE_CONFIG
70
+ _self->AddFileToHistory(unwrap<wxString>(val));
71
+ return self;
72
+ }
73
+
74
+ DLL_LOCAL VALUE _shiftright(VALUE self,VALUE val)
75
+ {
76
+ #if wxUSE_CONFIG
77
+ if(rb_obj_is_kind_of(val,rb_cWXConfig))
78
+ _self->Save(*unwrap<wxConfig*>(val));
79
+ else
80
+ #endif // wxUSE_CONFIG
81
+ _self->AddFilesToMenu(unwrap<wxMenu*>(val));
82
+ return self;
83
+ }
84
+
85
+
86
+ DLL_LOCAL VALUE _add(VALUE self,VALUE val)
87
+ {
88
+
89
+ _self->AddFileToHistory(unwrap<wxString>(val));
90
+ return self;
91
+ }
92
+
93
+ DLL_LOCAL VALUE _add_files(int argc,VALUE *argv,VALUE self)
94
+ {
95
+ VALUE menu;
96
+ rb_scan_args(argc, argv, "01",&menu);
97
+ if(NIL_P(menu))
98
+ _self->AddFilesToMenu();
99
+ else
100
+ _self->AddFilesToMenu(unwrap<wxMenu*>(menu));
101
+
102
+ return self;
103
+ }
104
+
105
+
106
+ }
107
+ }
108
+
109
+ #endif
110
+
111
+
112
+ DLL_LOCAL void Init_WXFileHistory(VALUE rb_mWX)
113
+ {
114
+ #if wxUSE_FILE_HISTORY
115
+ using namespace RubyWX::FileHistory;
116
+ rb_cWXFileHistory = rb_define_class_under(rb_mWX,"FileHistory",rb_cObject);
117
+ rb_define_alloc_func(rb_cWXFileHistory,_alloc);
118
+ rb_include_module(rb_cWXFileHistory,rb_mEnumerable);
119
+
120
+ rb_define_method(rb_cWXFileHistory,"each",RUBY_METHOD_FUNC(_each),0);
121
+ #if wxUSE_CONFIG
122
+ rb_define_method(rb_cWXFileHistory,"load",RUBY_METHOD_FUNC(_load),-1);
123
+ rb_define_method(rb_cWXFileHistory,"save",RUBY_METHOD_FUNC(_save),-1);
124
+ #endif // wxUSE_CONFIG
125
+
126
+ rb_define_method(rb_cWXFileHistory,"add",RUBY_METHOD_FUNC(_add),1);
127
+ rb_define_method(rb_cWXFileHistory,"add_files",RUBY_METHOD_FUNC(_add_files),-1);
128
+
129
+ rb_define_method(rb_cWXFileHistory,"<<",RUBY_METHOD_FUNC(_shiftleft),1);
130
+ rb_define_method(rb_cWXFileHistory,">>",RUBY_METHOD_FUNC(_shiftright),1);
131
+
132
+ registerInfo<wxFileHistory>(rb_cWXFileHistory);
133
+ #endif
134
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxFileHistory.hpp
3
+ *
4
+ * Created on: 06.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXFILEHISTORY_HPP_
9
+ #define WXFILEHISTORY_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXFileHistory;
14
+
15
+ void Init_WXFileHistory(VALUE rb_mWX);
16
+ #if wxUSE_FILE_HISTORY
17
+ #include <wx/filehistory.h>
18
+ #endif
19
+
20
+ #endif /* WXFILEHISTORY_HPP_ */
@@ -0,0 +1,160 @@
1
+ /*
2
+ * wxFilePicker.cpp
3
+ *
4
+ * Created on: 12.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxFilePicker.hpp"
9
+ #include "wxFileDirPicker.hpp"
10
+ #include "wxFileCtrlBase.hpp"
11
+ #include "wxPickerBase.hpp"
12
+
13
+ VALUE rb_cWXFilePicker;
14
+
15
+ #if wxUSE_FILEPICKERCTRL
16
+
17
+ namespace RubyWX {
18
+ namespace FilePicker {
19
+ #define _self unwrap<wxFilePickerCtrl*>(self)
20
+
21
+ APP_PROTECT(wxFilePickerCtrl)
22
+
23
+ void set_style_flags(VALUE hash,int& style)
24
+ {
25
+ if(set_hash_flag_option(hash,"open",wxFLP_OPEN,style))
26
+ style &= ~(wxFLP_SAVE & wxFLP_OVERWRITE_PROMPT);
27
+ if(set_hash_flag_option(hash,"save",wxFLP_SAVE,style))
28
+ style &= ~(wxFLP_OPEN & wxFLP_FILE_MUST_EXIST);
29
+
30
+ if(set_hash_flag_option(hash,"overwrite_prompt",wxFLP_OVERWRITE_PROMPT,style))
31
+ style &= ~wxFLP_OPEN & wxFLP_SAVE;
32
+
33
+ if(set_hash_flag_option(hash,"must_exist",wxFLP_FILE_MUST_EXIST,style))
34
+ style &= ~wxFLP_SAVE & wxFLP_OPEN;
35
+
36
+ set_hash_flag_option(hash,"change_dir",wxFLP_CHANGE_DIR,style);
37
+ }
38
+
39
+ /*
40
+ * call-seq:
41
+ * FilePicker.new(parent, name, [options])
42
+ * FilePicker.new(parent, [options])
43
+ *
44
+ * creates a new FilePicker widget.
45
+ * ===Arguments
46
+ * * parent of this window or nil
47
+ * * name is a String describing a resource in a loaded xrc
48
+ *
49
+ * *options: Hash with possible options to set:
50
+ * * path String default path
51
+ * * message String
52
+ * * wildcard String
53
+ * * use_textctrl true/false
54
+ * * small true/false
55
+ *
56
+ */
57
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
58
+ {
59
+ VALUE parent,name,hash;
60
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
61
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
62
+ {
63
+ wxWindowID id(wxID_ANY);
64
+ int style(wxFLP_DEFAULT_STYLE);
65
+
66
+ wxString path(wxEmptyString);
67
+ wxString message(wxFileSelectorPromptStr);
68
+ wxString wildCard(wxFileSelectorDefaultWildcardStr);
69
+
70
+ if(rb_obj_is_kind_of(hash,rb_cHash))
71
+ {
72
+ set_hash_option(hash,"id",id,unwrapID);
73
+ set_hash_option(hash,"style",style);
74
+
75
+ set_hash_option(hash,"path",path);
76
+ set_hash_option(hash,"message",message);
77
+ set_hash_option(hash,"wildcard",wildCard,unwrapWildCard);
78
+
79
+ PickerBase::set_style_flags(hash,style);
80
+
81
+ set_style_flags(hash,style);
82
+
83
+ }
84
+
85
+ FileDirPicker::check_style_flags(style);
86
+
87
+ _self->Create(
88
+ unwrap<wxWindow*>(parent),id,path,
89
+ message,wildCard,
90
+ wxDefaultPosition,wxDefaultSize,style
91
+ );
92
+
93
+ }
94
+ rb_call_super(argc,argv);
95
+
96
+ return self;
97
+ }
98
+
99
+
100
+ }
101
+ }
102
+
103
+ #endif
104
+
105
+
106
+ /* Document-const: OPEN
107
+ * creates control in "open" mode
108
+ */
109
+ /* Document-const: SAVE
110
+ * creates control in "save" mode
111
+ */
112
+ /* Document-const: OVERWRITE_PROMPT
113
+ * Can be combined with SAVE only: ask confirmation to the user before selecting a file.
114
+ */
115
+ /* Document-const: MUST_EXIST
116
+ * Can be combined with OPEN only: the selected file must be an existing file.
117
+ */
118
+ /* Document-const: CHANGE_DIR
119
+ * Change current working directory on each user file selection change.
120
+ */
121
+ /* Document-const: DEFAULT_STYLE
122
+ * default style for this control.
123
+ */
124
+
125
+ DLL_LOCAL void Init_WXFilePicker(VALUE rb_mWX)
126
+ {
127
+ #if 0
128
+ rb_mWX = rb_define_module("WX");
129
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
130
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
131
+ rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
132
+
133
+ rb_cWXFileDirPicker = rb_define_class_under(rb_mWX,"FileDirPicker",rb_cWXPickerBase);
134
+
135
+ #endif
136
+
137
+ #if wxUSE_FILEPICKERCTRL
138
+ using namespace RubyWX::FilePicker;
139
+ rb_cWXFilePicker = rb_define_class_under(rb_mWX,"FilePicker",rb_cWXFileDirPicker);
140
+ rb_define_alloc_func(rb_cWXFilePicker,_alloc);
141
+
142
+ rb_define_method(rb_cWXFilePicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
143
+
144
+ rb_define_const(rb_cWXFilePicker,"OPEN",INT2NUM(wxFLP_OPEN));
145
+ rb_define_const(rb_cWXFilePicker,"SAVE",INT2NUM(wxFLP_SAVE));
146
+ rb_define_const(rb_cWXFilePicker,"OVERWRITE_PROMPT",INT2NUM(wxFLP_OVERWRITE_PROMPT));
147
+ rb_define_const(rb_cWXFilePicker,"MUST_EXIST",INT2NUM(wxFLP_FILE_MUST_EXIST));
148
+ rb_define_const(rb_cWXFilePicker,"CHANGE_DIR",INT2NUM(wxFLP_CHANGE_DIR));
149
+
150
+ rb_define_const(rb_cWXFilePicker,"DEFAULT_STYLE",INT2NUM(wxFLP_DEFAULT_STYLE));
151
+
152
+
153
+ registerEventType("filepicker_changed",wxEVT_FILEPICKER_CHANGED,rb_cWXFileDirPickerEvent);
154
+
155
+ registerInfo<wxFilePickerCtrl>(rb_cWXFilePicker);
156
+ #endif
157
+
158
+ }
159
+
160
+
@@ -0,0 +1,28 @@
1
+ /*
2
+ * wxFilePicker.hpp
3
+ *
4
+ * Created on: 12.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXFILEPICKER_HPP_
9
+ #define WXFILEPICKER_HPP_
10
+
11
+ #include "wxEvtHandler.hpp"
12
+
13
+ extern VALUE rb_cWXFilePicker;
14
+
15
+ void Init_WXFilePicker(VALUE rb_mWX);
16
+ #if wxUSE_FILEPICKERCTRL
17
+ #include <wx/filepicker.h>
18
+
19
+ namespace RubyWX {
20
+ namespace FilePicker {
21
+
22
+ void set_style_flags(VALUE hash,int& style);
23
+
24
+ }
25
+ }
26
+ #endif
27
+
28
+ #endif /* WXFILEPICKER_HPP_ */
@@ -0,0 +1,139 @@
1
+ /*
2
+ * wxFilePickerWidget.cpp
3
+ *
4
+ * Created on: 05.05.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxFilePickerWidget.hpp"
9
+ #include "wxButton.hpp"
10
+ #include "wxFileCtrlBase.hpp"
11
+ #include "wxFilePicker.hpp"
12
+ #include "wxFileDirPicker.hpp"
13
+
14
+ VALUE rb_cWXFilePickerWidget;
15
+ #if wxUSE_FILEPICKERCTRL
16
+ #define _self unwrap<wxFilePickerWidget*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace FilePickerWidget {
20
+
21
+ APP_PROTECT(wxFilePickerWidget)
22
+
23
+ macro_attr(Path,wxString)
24
+
25
+ /*
26
+ * call-seq:
27
+ * FilePickerWidget.new(parent, name, [options])
28
+ * FilePickerWidget.new(parent, [options])
29
+ *
30
+ * creates a new FilePickerWidget 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
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
38
+ {
39
+ VALUE parent,name,hash;
40
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
41
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
42
+ wxWindowID id(wxID_ANY);
43
+ int style(wxFILEBTN_DEFAULT_STYLE);
44
+
45
+ wxString label(wxFilePickerWidgetLabel);
46
+ wxString path(wxEmptyString);
47
+ wxString message(wxFileSelectorPromptStr);
48
+ wxString wildCard(wxFileSelectorDefaultWildcardStr);
49
+
50
+ if(rb_obj_is_kind_of(hash,rb_cHash))
51
+ {
52
+ set_hash_option(hash,"id",id,unwrapID);
53
+ set_hash_option(hash,"style",style);
54
+ set_hash_option(hash,"label",label);
55
+ set_hash_option(hash,"path",path);
56
+ set_hash_option(hash,"message",message);
57
+ set_hash_option(hash,"wildcard",wildCard,unwrapWildCard);
58
+
59
+ FilePicker::set_style_flags(hash,style);
60
+
61
+ }
62
+
63
+ FileDirPicker::check_style_flags(style);
64
+
65
+ _self->Create(
66
+ unwrap<wxWindow*>(parent),id,label,path,
67
+ message,wildCard,
68
+ wxDefaultPosition,wxDefaultSize,style
69
+ );
70
+
71
+ }
72
+
73
+ rb_call_super(argc,argv);
74
+ return self;
75
+ }
76
+
77
+ }
78
+ }
79
+
80
+ #endif
81
+
82
+
83
+ /* Document-attr: path
84
+ * the path of the FilePickerWidget. String
85
+ */
86
+
87
+ /* Document-const: OPEN
88
+ * creates control in "open" mode
89
+ */
90
+ /* Document-const: SAVE
91
+ * creates control in "save" mode
92
+ */
93
+ /* Document-const: OVERWRITE_PROMPT
94
+ * Can be combined with SAVE only: ask confirmation to the user before selecting a file.
95
+ */
96
+ /* Document-const: MUST_EXIST
97
+ * Can be combined with OPEN only: the selected file must be an existing file.
98
+ */
99
+ /* Document-const: CHANGE_DIR
100
+ * Change current working directory on each user file selection change.
101
+ */
102
+ /* Document-const: DEFAULT_STYLE
103
+ * default style for this control.
104
+ */
105
+
106
+ DLL_LOCAL void Init_WXFilePickerWidget(VALUE rb_mWX)
107
+ {
108
+ #if 0
109
+ rb_mWX = rb_define_module("WX");
110
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
111
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
112
+ rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
113
+
114
+ rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
115
+
116
+ rb_define_attr(rb_cWXFilePickerWidget,"path",1,1);
117
+
118
+ #endif
119
+
120
+ #if wxUSE_FILEPICKERCTRL
121
+ using namespace RubyWX::FilePickerWidget;
122
+ rb_cWXFilePickerWidget = rb_define_class_under(rb_mWX,"FilePickerWidget",rb_cWXButton);
123
+ rb_define_alloc_func(rb_cWXFilePickerWidget,_alloc);
124
+
125
+ rb_define_method(rb_cWXFilePickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
126
+
127
+ rb_define_attr_method(rb_cWXFilePickerWidget,"path",_getPath,_setPath);
128
+
129
+ rb_define_const(rb_cWXFilePickerWidget,"OPEN",INT2NUM(wxFLP_OPEN));
130
+ rb_define_const(rb_cWXFilePickerWidget,"SAVE",INT2NUM(wxFLP_SAVE));
131
+ rb_define_const(rb_cWXFilePickerWidget,"OVERWRITE_PROMPT",INT2NUM(wxFLP_OVERWRITE_PROMPT));
132
+ rb_define_const(rb_cWXFilePickerWidget,"MUST_EXIST",INT2NUM(wxFLP_FILE_MUST_EXIST));
133
+ rb_define_const(rb_cWXFilePickerWidget,"CHANGE_DIR",INT2NUM(wxFLP_CHANGE_DIR));
134
+
135
+ rb_define_const(rb_cWXFilePickerWidget,"DEFAULT_STYLE",INT2NUM(wxFILEBTN_DEFAULT_STYLE));
136
+
137
+ registerInfo<wxFilePickerWidget>(rb_cWXFilePickerWidget);
138
+ #endif
139
+ }