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,106 @@
1
+ /*
2
+ * wxFileCtrlGeneric.cpp
3
+ *
4
+ * Created on: 07.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxFileCtrlGeneric.hpp"
9
+ #include "wxFileCtrlBase.hpp"
10
+ #include "wxFileCtrl.hpp"
11
+
12
+ VALUE rb_cWXFileCtrlGeneric;
13
+
14
+ #if wxUSE_FILECTRL
15
+ #if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
16
+ #define _self unwrap<wxGenericFileCtrl*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace FileCtrlGeneric {
20
+
21
+ APP_PROTECT(wxFileCtrl)
22
+
23
+ /*
24
+ * call-seq:
25
+ * FileCtrlGeneric.new(parent, name, [options])
26
+ * FileCtrlGeneric.new(parent, [options])
27
+ *
28
+ * creates a new FileCtrlGeneric widget.
29
+ * ===Arguments
30
+ * * parent of this window or nil
31
+ * * name is a String describing a resource in a loaded xrc
32
+ *
33
+ * *options: Hash with possible options to set:
34
+ * * default_wildcard String default WildCard
35
+ * * default_directory String default directory
36
+ * * default_filename String default filename
37
+ *
38
+ */
39
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
40
+ {
41
+ VALUE parent,name,hash;
42
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
43
+
44
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
45
+ {
46
+ wxWindowID id(wxID_ANY);
47
+ int style(wxFC_DEFAULT_STYLE);
48
+
49
+ wxString defaultDirectory(wxEmptyString);
50
+ wxString defaultFilename(wxEmptyString);
51
+ wxString defaultWildCard(wxFileSelectorDefaultWildcardStr);
52
+
53
+ if(rb_obj_is_kind_of(hash,rb_cHash))
54
+ {
55
+ set_hash_option(hash,"id",id,unwrapID);
56
+ set_hash_option(hash,"style",style);
57
+
58
+ set_hash_option(hash,"default_directory",defaultDirectory);
59
+ set_hash_option(hash,"default_filename",defaultFilename);
60
+ set_hash_option(hash,"default_wildcard",defaultWildCard,unwrapWildCard);
61
+
62
+ FileCtrlBase::set_style_flags(hash,style);
63
+
64
+ }
65
+
66
+ _self->Create(unwrap<wxWindow*>(parent),id,defaultDirectory,defaultFilename,defaultWildCard,style);
67
+
68
+ }
69
+
70
+ rb_call_super(argc,argv);
71
+ return self;
72
+ }
73
+
74
+ }
75
+ }
76
+ #endif
77
+ #endif
78
+
79
+
80
+ DLL_LOCAL void Init_WXFileCtrlGeneric(VALUE rb_mWX)
81
+ {
82
+
83
+ #if 0
84
+ rb_mWX = rb_define_module("WX");
85
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
86
+
87
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
88
+ rb_cWXFileCtrlBase = rb_define_class_under(rb_mWX,"FileCtrlBase",rb_cWXControl);
89
+ #endif
90
+
91
+ #if wxUSE_FILECTRL
92
+ #if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
93
+ using namespace RubyWX::FileCtrlGeneric;
94
+ rb_cWXFileCtrlGeneric = rb_define_class_under(rb_mWX,"FileCtrlGeneric",rb_cWXFileCtrlBase);
95
+ rb_define_alloc_func(rb_cWXFileCtrlGeneric,_alloc);
96
+
97
+ rb_define_method(rb_cWXFileCtrlGeneric,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
98
+
99
+ registerInfo<wxGenericFileCtrl>(rb_cWXFileCtrlGeneric);
100
+ #else
101
+ rb_define_const(rb_mWX,"FileCtrlGeneric",rb_cWXFileCtrl);
102
+ #endif
103
+ #endif
104
+
105
+ }
106
+
@@ -0,0 +1,19 @@
1
+ /*
2
+ * wxFileCtrlGeneric.hpp
3
+ *
4
+ * Created on: 07.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXFILECTRLGENERIC_HPP_
9
+ #define WXFILECTRLGENERIC_HPP_
10
+
11
+ #include "wxFileCtrlBase.hpp"
12
+
13
+ extern VALUE rb_cWXFileCtrlGeneric;
14
+
15
+ void Init_WXFileCtrlGeneric(VALUE rb_mWX);
16
+ #if wxUSE_FILECTRL
17
+ #include <wx/generic/filectrlg.h>
18
+ #endif
19
+ #endif /* WXFILECTRLGENERIC_HPP_ */
@@ -0,0 +1,268 @@
1
+ /*
2
+ * wxFileDialog.cpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxFileDialog.hpp"
10
+ #include "wxFileCtrlBase.hpp"
11
+ #include "wxApp.hpp"
12
+
13
+ VALUE rb_cWXFileDialog;
14
+
15
+ #if wxUSE_FILEDLG
16
+ #define _self unwrap<wxFileDialog*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace FileDialog {
20
+
21
+ APP_PROTECT(wxFileDialog)
22
+
23
+ /*
24
+ * call-seq:
25
+ * FileDialog.new(parent, name, [options])
26
+ * FileDialog.new(parent, [options])
27
+ *
28
+ * creates a new FileDialog widget.
29
+ * ===Arguments
30
+ * * parent of this window or nil
31
+ * * name is a String describing a resource in a loaded xrc
32
+ *
33
+ * *options: Hash with possible options to set:
34
+ * * wildcard String default WildCard
35
+ * * directory String default directory
36
+ * * filename String default filename
37
+ * * path String default path
38
+ * * message String
39
+ *
40
+ */
41
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
42
+ {
43
+ VALUE parent,name,hash;
44
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
45
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
46
+ {
47
+ wxString message(wxFileSelectorPromptStr);
48
+ wxString directory(wxEmptyString);
49
+ wxString filename(wxEmptyString);
50
+ wxString wildcard(wxFileSelectorDefaultWildcardStr);
51
+ int style(wxFD_DEFAULT_STYLE);
52
+
53
+ if(rb_obj_is_kind_of(hash,rb_cHash))
54
+ {
55
+ set_hash_option(hash,"message",message);
56
+ set_hash_option(hash,"directory",directory);
57
+ set_hash_option(hash,"filename",filename);
58
+ set_hash_option(hash,"style",style);
59
+ set_hash_option(hash,"wildcard",wildcard,unwrapWildCard);
60
+
61
+ TopLevel::set_style_flags(hash,style);
62
+ set_hash_flag_option(hash,"open",wxFD_OPEN,style);
63
+ set_hash_flag_option(hash,"save",wxFD_SAVE,style);
64
+ set_hash_flag_option(hash,"overwrite_prompt",wxFD_OVERWRITE_PROMPT,style);
65
+ #ifdef HAVE_CONST_WXFD_NO_FOLLOW
66
+ set_hash_flag_option(hash,"no_follow",wxFD_NO_FOLLOW,style);
67
+ #endif
68
+ set_hash_flag_option(hash,"must_exist",wxFD_FILE_MUST_EXIST,style);
69
+ set_hash_flag_option(hash,"multiple",wxFD_MULTIPLE,style);
70
+ set_hash_flag_option(hash,"change_dir",wxFD_CHANGE_DIR,style);
71
+ set_hash_flag_option(hash,"preview",wxFD_PREVIEW,style);
72
+
73
+
74
+ }
75
+
76
+ _self->Create(unwrap<wxWindow*>(parent),message,directory,filename,wildcard,style);
77
+
78
+ }
79
+
80
+ rb_call_super(argc,argv);
81
+
82
+ if(rb_obj_is_kind_of(hash,rb_cString) &&
83
+ rb_obj_is_kind_of(hash,rb_cHash))
84
+ {
85
+ VALUE temp;
86
+
87
+ set_option_func(wildcard,Wildcard,unwrapWildCard)
88
+ set_option(message,Message,wxString)
89
+ set_option(directory,Directory,wxString)
90
+ set_option(filename,Filename,wxString)
91
+ set_option(path,Path,wxString)
92
+
93
+ }
94
+
95
+ return self;
96
+ }
97
+
98
+ macro_attr(Directory,wxString)
99
+ macro_attr(Filename,wxString)
100
+ macro_attr_with_func(Wildcard,wrap,unwrapWildCard)
101
+ macro_attr(Message,wxString)
102
+ macro_attr(Path,wxString)
103
+
104
+ singlereturn(GetFilterIndex)
105
+
106
+
107
+ VALUE _setFilterIndex(VALUE self,VALUE other)
108
+ {
109
+ rb_check_frozen(self);
110
+ int filter(NUM2INT(other));
111
+
112
+ if(check_filter_index(filter,_self->GetWildcard()))
113
+ _self->SetFilterIndex(filter);
114
+
115
+ return other;
116
+ }
117
+
118
+
119
+ DLL_LOCAL VALUE _getFilenames(VALUE self)
120
+ {
121
+ wxArrayString result;
122
+ _self->GetFilenames(result);
123
+ return wrap(result);
124
+ }
125
+
126
+ DLL_LOCAL VALUE _getPaths(VALUE self)
127
+ {
128
+ wxArrayString result;
129
+ _self->GetPaths(result);
130
+ return wrap(result);
131
+ }
132
+
133
+
134
+ DLL_LOCAL VALUE _saveFileSelector(int argc,VALUE *argv,VALUE self)
135
+ {
136
+ VALUE what,extension,default_name,parent;
137
+ rb_scan_args(argc, argv, "22",&what,&extension,&default_name,&parent);
138
+ app_protected();
139
+ return wrap(wxSaveFileSelector(unwrap<wxString>(what),
140
+ unwrap<wxString>(extension),
141
+ unwrap<wxString>(default_name),
142
+ unwrap<wxWindow*>(parent)));
143
+ }
144
+ DLL_LOCAL VALUE _loadFileSelector(int argc,VALUE *argv,VALUE self)
145
+ {
146
+ VALUE what,extension,default_name,parent;
147
+ rb_scan_args(argc, argv, "22",&what,&extension,&default_name,&parent);
148
+ app_protected();
149
+ return wrap(wxLoadFileSelector(unwrap<wxString>(what),
150
+ unwrap<wxString>(extension),
151
+ unwrap<wxString>(default_name),
152
+ unwrap<wxWindow*>(parent)));
153
+ }
154
+
155
+ }
156
+ }
157
+ #endif
158
+
159
+
160
+ /* Document-attr: wildcard
161
+ * the wildcard of the FileDialog. String
162
+ */
163
+ /* Document-attr: filter_index
164
+ * the filter_index of the FileDialog.
165
+ * Can't be higher than filters in wildcard. Integer
166
+ */
167
+ /* Document-attr: directory
168
+ * the directory of the FileDialog. String
169
+ */
170
+ /* Document-attr: filename
171
+ * the filename of the FileDialog. String
172
+ */
173
+ /* Document-attr: message
174
+ * the message of the FileDialog. String
175
+ */
176
+ /* Document-attr: path
177
+ * the path of the FileDialog. String
178
+ */
179
+
180
+
181
+ /* Document-const: OPEN
182
+ * This is an open dialog; usually this means that the default button's label of the dialog is "Open".
183
+ */
184
+ /* Document-const: SAVE
185
+ * This is a save dialog; usually this means that the default button's label of the dialog is "Save".
186
+ */
187
+ /* Document-const: OVERWRITE_PROMPT
188
+ * For save dialog only: prompt for a confirmation if a file will be overwritten.
189
+ */
190
+ /* Document-const: NO_FOLLOW
191
+ * Directs the dialog to return the path and file name of the selected shortcut file, not its target as it does by default.
192
+ * Currently this flag is only implemented in wxMSW and the non-dereferenced link path is always returned, even without this flag, under Unix and so using it there doesn't do anything.
193
+ */
194
+ /* Document-const: MUST_EXIST
195
+ * For open dialog only: the user may only select files that actually exist.
196
+ * Notice that under OS X the file dialog with wxFD_OPEN style always behaves as if this style was specified,
197
+ * because it is impossible to choose a file that doesn't exist from a standard OS X file dialog.
198
+ */
199
+ /* Document-const: MULTIPLE
200
+ * For open dialog only: allows selecting multiple files.
201
+ */
202
+ /* Document-const: CHANGE_DIR
203
+ * Change the current working directory (when the dialog is dismissed) to the directory where the file(s) chosen by the user are.
204
+ */
205
+ /* Document-const: PREVIEW
206
+ * Show the preview of the selected files (currently only supported by wxGTK).
207
+ */
208
+
209
+ /* Document-const: DEFAULT_STYLE
210
+ * default style for this control.
211
+ */
212
+
213
+ DLL_LOCAL void Init_WXFileDialog(VALUE rb_mWX)
214
+ {
215
+ #if 0
216
+ rb_mWX = rb_define_module("WX");
217
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
218
+
219
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
220
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
221
+
222
+ rb_define_attr(rb_cWXFileDialog,"directory",1,1);
223
+ rb_define_attr(rb_cWXFileDialog,"filename",1,1);
224
+ rb_define_attr(rb_cWXFileDialog,"filter_index",1,1);
225
+ rb_define_attr(rb_cWXFileDialog,"wildcard",1,1);
226
+ rb_define_attr(rb_cWXFileDialog,"message",1,1);
227
+ rb_define_attr(rb_cWXFileDialog,"path",1,1);
228
+
229
+ #endif
230
+
231
+ #if wxUSE_FILEDLG
232
+ using namespace RubyWX::FileDialog;
233
+ rb_cWXFileDialog = rb_define_class_under(rb_mWX,"FileDialog",rb_cWXDialog);
234
+ rb_define_alloc_func(rb_cWXFileDialog,_alloc);
235
+ rb_define_method(rb_cWXFileDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
236
+
237
+ rb_define_attr_method(rb_cWXFileDialog,"directory",_getDirectory,_setDirectory);
238
+ rb_define_attr_method(rb_cWXFileDialog,"filename",_getFilename,_setFilename);
239
+ rb_define_attr_method(rb_cWXFileDialog,"wildcard",_getWildcard,_setWildcard);
240
+ rb_define_attr_method(rb_cWXFileDialog,"filter_index",_GetFilterIndex,_setFilterIndex);
241
+ rb_define_attr_method(rb_cWXFileDialog,"message",_getMessage,_setMessage);
242
+ rb_define_attr_method(rb_cWXFileDialog,"path",_getPath,_setPath);
243
+
244
+ rb_define_method(rb_cWXFileDialog,"filenames",RUBY_METHOD_FUNC(_getFilenames),0);
245
+ rb_define_method(rb_cWXFileDialog,"paths",RUBY_METHOD_FUNC(_getPaths),0);
246
+
247
+ rb_define_module_function(rb_mWX,"load_dialog",RUBY_METHOD_FUNC(_loadFileSelector),-1);
248
+ rb_define_module_function(rb_mWX,"save_dialog",RUBY_METHOD_FUNC(_saveFileSelector),-1);
249
+
250
+ rb_define_const(rb_cWXFileDialog,"OPEN",INT2NUM(wxFD_OPEN));
251
+ rb_define_const(rb_cWXFileDialog,"SAVE",INT2NUM(wxFD_SAVE));
252
+ rb_define_const(rb_cWXFileDialog,"OVERWRITE_PROMPT",INT2NUM(wxFD_OVERWRITE_PROMPT));
253
+ #ifdef HAVE_CONST_WXFD_NO_FOLLOW
254
+ rb_define_const(rb_cWXFileDialog,"NO_FOLLOW",INT2NUM(wxFD_NO_FOLLOW));
255
+ #endif
256
+ rb_define_const(rb_cWXFileDialog,"MUST_EXIST",INT2NUM(wxFD_FILE_MUST_EXIST));
257
+ rb_define_const(rb_cWXFileDialog,"MULTIPLE",INT2NUM(wxFD_MULTIPLE));
258
+ rb_define_const(rb_cWXFileDialog,"CHANGE_DIR",INT2NUM(wxFD_CHANGE_DIR));
259
+ rb_define_const(rb_cWXFileDialog,"PREVIEW",INT2NUM(wxFD_PREVIEW));
260
+
261
+ rb_define_const(rb_cWXFileDialog,"DEFAULT_STYLE",INT2NUM(wxFD_DEFAULT_STYLE));
262
+
263
+ registerInfo<wxFileDialog>(rb_cWXFileDialog);
264
+ #endif
265
+ }
266
+
267
+
268
+
@@ -0,0 +1,19 @@
1
+ /*
2
+ * wxFileDialog.hpp
3
+ *
4
+ * Created on: 04.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXFILEDIALOG_HPP_
9
+ #define WXFILEDIALOG_HPP_
10
+
11
+ #include "wxDialog.hpp"
12
+
13
+ extern VALUE rb_cWXFileDialog;
14
+
15
+ void Init_WXFileDialog(VALUE rb_mWX);
16
+ #if wxUSE_FILEDLG
17
+ #include <wx/filedlg.h>
18
+ #endif
19
+ #endif /* WXFILEDIALOG_HPP_ */
@@ -0,0 +1,89 @@
1
+ /*
2
+ * wxFileDirPicker.cpp
3
+ *
4
+ * Created on: 09.01.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxFileDirPicker.hpp"
9
+ #include "wxPickerBase.hpp"
10
+
11
+
12
+ VALUE rb_cWXFileDirPicker;
13
+ VALUE rb_cWXFileDirPickerEvent;
14
+
15
+ #if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
16
+
17
+
18
+ template <>
19
+ wxFileDirPickerCtrlBase* unwrap<wxFileDirPickerCtrlBase*>(const VALUE &arg)
20
+ {
21
+ return unwrapTypedPtr<wxFileDirPickerCtrlBase>(arg,rb_cWXFileDirPicker);
22
+ }
23
+
24
+ namespace RubyWX {
25
+ namespace FileDirPicker {
26
+ #define _self unwrap<wxFileDirPickerCtrlBase*>(self)
27
+
28
+ void check_style_flags(const int& style)
29
+ {
30
+ if((style & wxFLP_OPEN) && (style & wxFLP_SAVE))
31
+ rb_raise(rb_eArgError,"style can't have both OPEN and SAVE flags");
32
+
33
+ if((style & wxFLP_OPEN) && (style & wxFLP_OVERWRITE_PROMPT))
34
+ rb_raise(rb_eArgError,"style can't have both OVERWRITE_PROMPT and OPEN flags");
35
+
36
+ if((style & wxFLP_SAVE) && (style & wxFLP_FILE_MUST_EXIST))
37
+ rb_raise(rb_eArgError,"style can't have both MUST_EXIST and SAVE flags");
38
+
39
+ }
40
+
41
+ macro_attr(Path,wxString)
42
+
43
+ namespace Event {
44
+ #undef _self
45
+ #define _self unwrapTypedPtr<wxFileDirPickerEvent>(self,rb_cWXFileDirPickerEvent)
46
+ macro_attr(Path,wxString)
47
+ }
48
+
49
+ }
50
+ }
51
+
52
+ #endif
53
+
54
+
55
+ /* Document-attr: path
56
+ * the path of the FilePicker. String
57
+ */
58
+
59
+ DLL_LOCAL void Init_WXFileDirPicker(VALUE rb_mWX)
60
+ {
61
+ #if 0
62
+ rb_mWX = rb_define_module("WX");
63
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
64
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
65
+ rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
66
+
67
+
68
+ rb_define_attr(rb_cWXFileDirPicker,"path",1,1);
69
+ rb_define_attr(rb_cWXFileDirPickerEvent,"path",1,1);
70
+ #endif
71
+
72
+ #if wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL
73
+ using namespace RubyWX::FileDirPicker;
74
+ rb_cWXFileDirPicker = rb_define_class_under(rb_mWX,"FileDirPicker",rb_cWXPickerBase);
75
+ rb_undef_alloc_func(rb_cWXFileDirPicker);
76
+
77
+ rb_define_attr_method(rb_cWXFileDirPicker,"path",_getPath,_setPath);
78
+
79
+ rb_cWXFileDirPickerEvent = rb_define_class_under(rb_cWXEvent,"FileDirPicker",rb_cWXEvent);
80
+
81
+ rb_define_attr_method(rb_cWXFileDirPickerEvent,"path",
82
+ Event::_getPath,Event::_setPath);
83
+
84
+ registerInfo<wxFileDirPickerCtrlBase>(rb_cWXFileDirPicker);
85
+ #endif
86
+
87
+ }
88
+
89
+