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,17 @@
1
+ /*
2
+ * wxDialog.hpp
3
+ *
4
+ * Created on: 12.02.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDIALOG_HPP_
9
+ #define WXDIALOG_HPP_
10
+
11
+ #include "wxToplevel.hpp"
12
+
13
+ extern VALUE rb_cWXDialog;
14
+
15
+ void Init_WXDialog(VALUE rb_mWX);
16
+
17
+ #endif /* WXDIALOG_HPP_ */
@@ -0,0 +1,152 @@
1
+ /*
2
+ * wxDirDialog.cpp
3
+ *
4
+ * Created on: 05.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+ #include "wxDirDialog.hpp"
10
+ #include "wxPoint.hpp"
11
+ #include "wxApp.hpp"
12
+
13
+ VALUE rb_cWXDirDialog;
14
+ #if wxUSE_DIRDLG
15
+ #define _self unwrap<wxDirDialog*>(self)
16
+
17
+ namespace RubyWX {
18
+ namespace DirDialog {
19
+
20
+ APP_PROTECT(wxDirDialog)
21
+
22
+ /*
23
+ * call-seq:
24
+ * DirDialog.new(parent, name, [options])
25
+ * DirDialog.new(parent, [options])
26
+ *
27
+ * creates a new DirDialog 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
+ * * path String default path
34
+ * * message String
35
+ *
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
+ {
43
+ wxString message(wxDirSelectorPromptStr);
44
+ wxString path(wxEmptyString);
45
+ int style(wxDD_DEFAULT_STYLE);
46
+
47
+ if(rb_obj_is_kind_of(hash,rb_cHash))
48
+ {
49
+ set_hash_option(hash,"message",message);
50
+ set_hash_option(hash,"path",path);
51
+ set_hash_option(hash,"style",style);
52
+
53
+ TopLevel::set_style_flags(hash,style);
54
+ set_hash_flag_option(hash,"must_exist",wxDD_DIR_MUST_EXIST,style);
55
+ set_hash_flag_option(hash,"change_dir",wxDD_CHANGE_DIR,style);
56
+
57
+ }
58
+
59
+ _self->Create(unwrap<wxWindow*>(parent),message,path,style);
60
+
61
+ }
62
+
63
+ rb_call_super(argc,argv);
64
+
65
+ if(rb_obj_is_kind_of(hash,rb_cString) &&
66
+ rb_obj_is_kind_of(hash,rb_cHash))
67
+ {
68
+ VALUE temp;
69
+ set_option(message,Message,wxString)
70
+ set_option(path,Path,wxString)
71
+ }
72
+
73
+ return self;
74
+ }
75
+
76
+ macro_attr(Path,wxString)
77
+ macro_attr(Message,wxString)
78
+
79
+
80
+ DLL_LOCAL VALUE _getUserDir(int argc,VALUE *argv,VALUE self)
81
+ {
82
+ VALUE parent,hash;
83
+ rb_scan_args(argc, argv, "02",&parent,&hash);
84
+
85
+ app_protected();
86
+
87
+ wxString message(wxDirSelectorPromptStr);
88
+ wxString defaultPath(wxEmptyString);
89
+ int style(wxDD_DEFAULT_STYLE);
90
+ wxPoint pos(wxDefaultPosition);
91
+
92
+ if(rb_obj_is_kind_of(hash,rb_cHash))
93
+ {
94
+ set_hash_option(hash,"message",message);
95
+ set_hash_option(hash,"path",defaultPath);
96
+ set_hash_option(hash,"style",style);
97
+ set_hash_option(hash,"pos",pos);
98
+
99
+ set_hash_flag_option(hash,"must_exist",wxDD_DIR_MUST_EXIST,style);
100
+ set_hash_flag_option(hash,"change_dir",wxDD_CHANGE_DIR,style);
101
+
102
+ }
103
+
104
+ return wrap(wxDirSelector(message,
105
+ defaultPath,style,pos,
106
+ unwrap<wxWindow*>(parent)));
107
+ }
108
+
109
+ }
110
+ }
111
+
112
+ #endif
113
+
114
+ /* Document-const: DEFAULT_STYLE
115
+ * default style for this control.
116
+ */
117
+ /* Document-const: MUST_EXIST
118
+ * The dialog will allow the user to choose only an existing folder.
119
+ * When this style is not given, a "Create new directory" button is added
120
+ * to the dialog (on Windows) or some other way is provided to the user to type the name of a new folder.
121
+ */
122
+ /* Document-const: CHANGE_DIR
123
+ * Change the current working directory to the directory chosen by the user.
124
+ */
125
+ DLL_LOCAL void Init_WXDirDialog(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
+
131
+ rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
132
+ rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
133
+ #endif
134
+
135
+ #if wxUSE_DIRDLG
136
+ using namespace RubyWX::DirDialog;
137
+ rb_cWXDirDialog = rb_define_class_under(rb_mWX,"DirDialog",rb_cWXDialog);
138
+ rb_define_alloc_func(rb_cWXDirDialog,_alloc);
139
+ rb_define_method(rb_cWXDirDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
140
+
141
+ rb_define_attr_method(rb_cWXDirDialog,"message",_getMessage,_setMessage);
142
+ rb_define_attr_method(rb_cWXDirDialog,"path",_getPath,_setPath);
143
+
144
+ rb_define_module_function(rb_mWX,"dir_dialog",RUBY_METHOD_FUNC(_getUserDir),-1);
145
+
146
+ rb_define_const(rb_cWXDirDialog,"DEFAULT_STYLE",INT2NUM(wxDD_DEFAULT_STYLE));
147
+ rb_define_const(rb_cWXDirDialog,"MUST_EXIST",INT2NUM(wxDD_DIR_MUST_EXIST));
148
+ rb_define_const(rb_cWXDirDialog,"CHANGE_DIR",INT2NUM(wxDD_CHANGE_DIR));
149
+
150
+ registerInfo<wxDirDialog>(rb_cWXDirDialog);
151
+ #endif
152
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxDirDialog.hpp
3
+ *
4
+ * Created on: 05.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDIRDIALOG_HPP_
9
+ #define WXDIRDIALOG_HPP_
10
+
11
+ #include "wxDialog.hpp"
12
+
13
+ extern VALUE rb_cWXDirDialog;
14
+
15
+ void Init_WXDirDialog(VALUE rb_mWX);
16
+ #if wxUSE_DIRDLG
17
+ #include <wx/dirdlg.h>
18
+ #endif
19
+
20
+ #endif /* WXDIRDIALOG_HPP_ */
@@ -0,0 +1,134 @@
1
+ /*
2
+ * wxDirPicker.cpp
3
+ *
4
+ * Created on: 13.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxDirPicker.hpp"
9
+ #include "wxFilePicker.hpp"
10
+ #include "wxFileDirPicker.hpp"
11
+ #include "wxPickerBase.hpp"
12
+
13
+ VALUE rb_cWXDirPicker;
14
+
15
+ #if wxUSE_DIRPICKERCTRL
16
+
17
+ namespace RubyWX {
18
+ namespace DirPicker {
19
+ #define _self unwrap<wxDirPickerCtrl*>(self)
20
+
21
+ APP_PROTECT(wxDirPickerCtrl)
22
+
23
+
24
+ void set_style_flags(VALUE hash,int& style)
25
+ {
26
+ set_hash_flag_option(hash,"must_exist",wxDIRP_DIR_MUST_EXIST,style);
27
+ set_hash_flag_option(hash,"change_dir",wxDIRP_CHANGE_DIR,style);
28
+ }
29
+
30
+ /*
31
+ * call-seq:
32
+ * DirPicker.new(parent, name, [options])
33
+ * DirPicker.new(parent, [options])
34
+ *
35
+ * creates a new DirPicker widget.
36
+ * ===Arguments
37
+ * * parent of this window or nil
38
+ * * name is a String describing a resource in a loaded xrc
39
+ *
40
+ * *options: Hash with possible options to set:
41
+ * * path String default path
42
+ * * message String
43
+ * * use_textctrl true/false
44
+ * * small true/false
45
+ *
46
+ */
47
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
48
+ {
49
+ VALUE parent,name,hash;
50
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
51
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
52
+ {
53
+ wxWindowID id(wxID_ANY);
54
+ int style(wxDIRP_DEFAULT_STYLE);
55
+
56
+ wxString path(wxEmptyString);
57
+ wxString message(wxDirSelectorPromptStr);
58
+
59
+ if(rb_obj_is_kind_of(hash,rb_cHash))
60
+ {
61
+ set_hash_option(hash,"id",id,unwrapID);
62
+ set_hash_option(hash,"style",style);
63
+
64
+ set_hash_option(hash,"path",path);
65
+ set_hash_option(hash,"message",message);
66
+
67
+ PickerBase::set_style_flags(hash,style);
68
+
69
+ set_style_flags(hash,style);
70
+
71
+ }
72
+
73
+ FileDirPicker::check_style_flags(style);
74
+
75
+ _self->Create(
76
+ unwrap<wxWindow*>(parent),id,path,
77
+ message,wxDefaultPosition,wxDefaultSize,style
78
+ );
79
+
80
+ }
81
+ rb_call_super(argc,argv);
82
+
83
+ return self;
84
+ }
85
+
86
+
87
+ }
88
+ }
89
+
90
+ #endif
91
+
92
+
93
+ /* Document-const: MUST_EXIST
94
+ * Creates a picker which allows to select only existing directories.
95
+ * wxGTK control always adds this flag internally as it does not support its absence.
96
+ */
97
+ /* Document-const: CHANGE_DIR
98
+ * Change current working directory on each user directory selection change.
99
+ */
100
+ /* Document-const: DEFAULT_STYLE
101
+ * default style for this control.
102
+ */
103
+
104
+ DLL_LOCAL void Init_WXDirPicker(VALUE rb_mWX)
105
+ {
106
+ #if 0
107
+ rb_mWX = rb_define_module("WX");
108
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
109
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
110
+ rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
111
+
112
+ rb_cWXFileDirPicker = rb_define_class_under(rb_mWX,"FileDirPicker",rb_cWXPickerBase);
113
+
114
+ #endif
115
+
116
+ #if wxUSE_DIRPICKERCTRL
117
+ using namespace RubyWX::DirPicker;
118
+ rb_cWXDirPicker = rb_define_class_under(rb_mWX,"DirPicker",rb_cWXFileDirPicker);
119
+ rb_define_alloc_func(rb_cWXDirPicker,_alloc);
120
+
121
+ rb_define_method(rb_cWXDirPicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
122
+
123
+ rb_define_const(rb_cWXDirPicker,"DEFAULT_STYLE",INT2NUM(wxDIRP_DEFAULT_STYLE));
124
+ rb_define_const(rb_cWXDirPicker,"MUST_EXIST",INT2NUM(wxDIRP_DIR_MUST_EXIST));
125
+ rb_define_const(rb_cWXDirPicker,"CHANGE_DIR",INT2NUM(wxDIRP_CHANGE_DIR));
126
+
127
+ registerEventType("dirpicker_changed",wxEVT_DIRPICKER_CHANGED,rb_cWXFileDirPickerEvent);
128
+
129
+ registerInfo<wxDirPickerCtrl>(rb_cWXDirPicker);
130
+ #endif
131
+
132
+ }
133
+
134
+
@@ -0,0 +1,28 @@
1
+ /*
2
+ * wxDirPicker.hpp
3
+ *
4
+ * Created on: 13.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXDIRPICKER_HPP_
9
+ #define WXDIRPICKER_HPP_
10
+
11
+ #include "wxEvtHandler.hpp"
12
+
13
+ extern VALUE rb_cWXDirPicker;
14
+
15
+ void Init_WXDirPicker(VALUE rb_mWX);
16
+ #if wxUSE_DIRPICKERCTRL
17
+ #include <wx/filepicker.h>
18
+
19
+ namespace RubyWX {
20
+ namespace DirPicker {
21
+
22
+ void set_style_flags(VALUE hash,int& style);
23
+
24
+ }
25
+ }
26
+ #endif
27
+
28
+ #endif /* WXDIRPICKER_HPP_ */
@@ -0,0 +1,127 @@
1
+ /*
2
+ * wxDirPickerWidget.cpp
3
+ *
4
+ * Created on: 05.05.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxDirPickerWidget.hpp"
9
+ #include "wxButton.hpp"
10
+ #include "wxFileCtrlBase.hpp"
11
+ #include "wxDirPicker.hpp"
12
+ #include "wxFileDirPicker.hpp"
13
+ #include "wxFilePicker.hpp"
14
+
15
+ VALUE rb_cWXDirPickerWidget;
16
+ #if wxUSE_DIRPICKERCTRL
17
+ #define _self unwrap<wxDirPickerWidget*>(self)
18
+
19
+ namespace RubyWX {
20
+ namespace DirPickerWidget {
21
+
22
+ APP_PROTECT(wxDirPickerWidget)
23
+
24
+ macro_attr(Path,wxString)
25
+
26
+ /*
27
+ * call-seq:
28
+ * DirPickerWidget.new(parent, name, [options])
29
+ * DirPickerWidget.new(parent, [options])
30
+ *
31
+ * creates a new DirPickerWidget widget.
32
+ * ===Arguments
33
+ * * parent of this window or nil
34
+ * * name is a String describing a resource in a loaded xrc
35
+ *
36
+ * *options: Hash with possible options to set:
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
+ int style(wxDIRBTN_DEFAULT_STYLE);
45
+
46
+ wxString label(wxDirPickerWidgetLabel);
47
+ wxString path(wxEmptyString);
48
+ wxString message(wxDirSelectorPromptStr);
49
+ wxString wildCard(wxFileSelectorDefaultWildcardStr);
50
+
51
+ if(rb_obj_is_kind_of(hash,rb_cHash))
52
+ {
53
+ set_hash_option(hash,"id",id,unwrapID);
54
+ set_hash_option(hash,"style",style);
55
+ set_hash_option(hash,"label",label);
56
+ set_hash_option(hash,"path",path);
57
+ set_hash_option(hash,"message",message);
58
+ set_hash_option(hash,"wildcard",wildCard,unwrapWildCard);
59
+
60
+ DirPicker::set_style_flags(hash,style);
61
+
62
+ }
63
+
64
+ FileDirPicker::check_style_flags(style);
65
+
66
+ _self->Create(
67
+ unwrap<wxWindow*>(parent),id,label,path,
68
+ message,wildCard,
69
+ wxDefaultPosition,wxDefaultSize,style
70
+ );
71
+
72
+ }
73
+
74
+ rb_call_super(argc,argv);
75
+ return self;
76
+ }
77
+
78
+ }
79
+ }
80
+
81
+ #endif
82
+
83
+ /* Document-attr: path
84
+ * the path of the FilePickerWidget. String
85
+ */
86
+
87
+ /* Document-const: MUST_EXIST
88
+ * Creates a picker which allows to select only existing directories.
89
+ * wxGTK control always adds this flag internally as it does not support its absence.
90
+ */
91
+ /* Document-const: CHANGE_DIR
92
+ * Change current working directory on each user directory selection change.
93
+ */
94
+ /* Document-const: DEFAULT_STYLE
95
+ * default style for this control.
96
+ */
97
+
98
+ DLL_LOCAL void Init_WXDirPickerWidget(VALUE rb_mWX)
99
+ {
100
+ #if 0
101
+ rb_mWX = rb_define_module("WX");
102
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
103
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
104
+ rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
105
+
106
+ rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
107
+
108
+ rb_define_attr(rb_cWXDirPickerWidget,"path",1,1);
109
+
110
+ #endif
111
+
112
+ #if wxUSE_DIRPICKERCTRL
113
+ using namespace RubyWX::DirPickerWidget;
114
+ rb_cWXDirPickerWidget = rb_define_class_under(rb_mWX,"DirPickerWidget",rb_cWXButton);
115
+ rb_define_alloc_func(rb_cWXDirPickerWidget,_alloc);
116
+
117
+ rb_define_method(rb_cWXDirPickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
118
+
119
+ rb_define_attr_method(rb_cWXDirPickerWidget,"path",_getPath,_setPath);
120
+
121
+ rb_define_const(rb_cWXDirPickerWidget,"DEFAULT_STYLE",INT2NUM(wxDIRBTN_DEFAULT_STYLE));
122
+ rb_define_const(rb_cWXDirPickerWidget,"MUST_EXIST",INT2NUM(wxDIRP_DIR_MUST_EXIST));
123
+ rb_define_const(rb_cWXDirPickerWidget,"CHANGE_DIR",INT2NUM(wxDIRP_CHANGE_DIR));
124
+
125
+ registerInfo<wxDirPickerWidget>(rb_cWXDirPickerWidget);
126
+ #endif
127
+ }