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,16 @@
1
+ /*
2
+ * wxProperty.hpp
3
+ *
4
+ * Created on: 08.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPROPERTY_HPP_
9
+ #define WXPROPERTY_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXProperty;
14
+ DLL_LOCAL void Init_WXProperty(VALUE rb_mWX);
15
+
16
+ #endif /* WXPROPERTY_HPP_ */
@@ -0,0 +1,99 @@
1
+ /*
2
+ * wxPropertyCell.cpp
3
+ *
4
+ * Created on: 09.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxPropertyCell.hpp"
9
+ #include "wxColor.hpp"
10
+ #include "wxFont.hpp"
11
+ #include "wxBitmap.hpp"
12
+
13
+ VALUE rb_cWXPropertyCell;
14
+
15
+ #if wxUSE_PROPGRID
16
+ #define _self unwrap<wxPGCell*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace PropertyCell {
20
+
21
+ macro_attr(Text,wxString)
22
+ macro_attr(Font,wxFont)
23
+ macro_attr(Bitmap,wxBitmap)
24
+ macro_attr(FgCol,wxColor)
25
+ macro_attr(BgCol,wxColor)
26
+
27
+ /*
28
+ * call-seq:
29
+ * inspect -> String
30
+ *
31
+ * Human-readable description.
32
+ * ===Return value
33
+ * String
34
+ */
35
+ DLL_LOCAL VALUE _inspect(VALUE self)
36
+ {
37
+ VALUE array[3];
38
+ array[0]=rb_str_new2("#<%s:(%s)>");
39
+ array[1]=rb_class_of(self);
40
+ array[2]=_getText(self);
41
+ return rb_f_sprintf(3,array);
42
+ }
43
+
44
+
45
+ }
46
+ }
47
+ #endif
48
+
49
+
50
+ /* Document-attr: text
51
+ * the label of the PropertyCell. String
52
+ */
53
+
54
+ /* Document-attr: font
55
+ * the font of the PropertyCell. WX::Font
56
+ */
57
+
58
+ /* Document-attr: bitmap
59
+ * the bitmap of the PropertyCell. WX::Bitmap
60
+ */
61
+
62
+ /* Document-attr: fg_col
63
+ * the foreground of the PropertyCell. WX::Color
64
+ */
65
+
66
+ /* Document-attr: bg_col
67
+ * the background color of the PropertyCell. WX::Color
68
+ */
69
+ DLL_LOCAL void Init_WXPropertyCell(VALUE rb_mWX)
70
+ {
71
+ #if wxUSE_PROPGRID
72
+ #if 0
73
+ rb_define_attr(rb_cWXPropertyCell,"text",1,1);
74
+ rb_define_attr(rb_cWXPropertyCell,"font",1,1);
75
+ rb_define_attr(rb_cWXPropertyCell,"bitmap",1,1);
76
+ rb_define_attr(rb_cWXPropertyCell,"fg_col",1,1);
77
+ rb_define_attr(rb_cWXPropertyCell,"bg_col",1,1);
78
+ #endif
79
+
80
+ using namespace RubyWX::PropertyCell;
81
+ rb_cWXPropertyCell = rb_define_class_under(rb_mWX,"PropertyCell",rb_cObject);
82
+ rb_undef_alloc_func(rb_cWXPropertyCell);
83
+
84
+ rb_undef_method(rb_cWXPropertyCell,"_load");
85
+ rb_undef_method(rb_cWXPropertyCell,"_dump");
86
+
87
+ rb_define_method(rb_cWXPropertyCell,"inspect",RUBY_METHOD_FUNC(_inspect),0);
88
+
89
+ rb_define_attr_method(rb_cWXPropertyCell,"text",_getText,_setText);
90
+ rb_define_attr_method(rb_cWXPropertyCell,"font",_getFont,_setFont);
91
+ rb_define_attr_method(rb_cWXPropertyCell,"bitmap",_getBitmap,_setBitmap);
92
+ rb_define_attr_method(rb_cWXPropertyCell,"fg_col",_getFgCol,_setFgCol);
93
+ rb_define_attr_method(rb_cWXPropertyCell,"bg_col",_getBgCol,_setBgCol);
94
+
95
+
96
+ registerInfo<wxPGCell>(rb_cWXPropertyCell);
97
+ #endif
98
+
99
+ }
@@ -0,0 +1,16 @@
1
+ /*
2
+ * wxPropertyCell.hpp
3
+ *
4
+ * Created on: 13.03.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPROPERTYCELL_HPP_
9
+ #define WXPROPERTYCELL_HPP_
10
+
11
+ #include "main.hpp"
12
+
13
+ extern VALUE rb_cWXPropertyCell;
14
+ DLL_LOCAL void Init_WXPropertyCell(VALUE rb_mWX);
15
+
16
+ #endif /* WXPROPERTYCELL_HPP_ */
@@ -0,0 +1,234 @@
1
+ /*
2
+ * wxPropertyGrid.cpp
3
+ *
4
+ * Created on: 09.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxPropertyGrid.hpp"
9
+ #include "wxPropertyGridInterface.hpp"
10
+
11
+ #include "wxColor.hpp"
12
+ #include "wxFont.hpp"
13
+ #include "wxStatusBar.hpp"
14
+
15
+ VALUE rb_cWXPropertyGrid;
16
+
17
+ #if wxUSE_PROPGRID
18
+ #define _self unwrap<wxPropertyGrid*>(self)
19
+
20
+ namespace RubyWX {
21
+ namespace PropertyGrid {
22
+
23
+ APP_PROTECT(wxPropertyGrid)
24
+
25
+ singlereturn(GetRoot)
26
+
27
+ #if wxUSE_STATUSBAR
28
+ singlereturn(GetStatusBar)
29
+ #endif
30
+
31
+ macro_attr(CaptionBackgroundColour,wxColour)
32
+ //macro_attr(CaptionForegroundColour,wxColour)
33
+ macro_attr(CellBackgroundColour,wxColour)
34
+ macro_attr(CellDisabledTextColour,wxColour)
35
+ macro_attr(CellTextColour,wxColour)
36
+
37
+ macro_attr(EmptySpaceColour,wxColour)
38
+ macro_attr(LineColour,wxColour)
39
+ macro_attr(MarginColour,wxColour)
40
+
41
+ macro_attr(SelectionBackgroundColour,wxColour)
42
+
43
+ singlereturn(GetCaptionForegroundColour)
44
+ singlereturn(GetSelectionForegroundColour)
45
+
46
+ singlereturn(GetCaptionFont)
47
+
48
+ /*
49
+ * call-seq:
50
+ * PropertyGrid.new(parent, name, [options])
51
+ * PropertyGrid.new(parent, [options])
52
+ *
53
+ * creates a new PropertyGrid widget.
54
+ * ===Arguments
55
+ * * parent of this window or nil
56
+ * * name is a String describing a resource in a loaded xrc
57
+ *
58
+ * *options: Hash with possible options to set:
59
+ * * caption_background_color WX::Color
60
+ * * selection_background_color WX::Color
61
+ * * cell_background_color WX::Color
62
+ * * cell_text_color WX::Color
63
+ * * cell_diabled_text_color WX::Color
64
+ * * empty_space_color WX::Color
65
+ * * line_color WX::Color
66
+ * * margin_color WX::Color
67
+ *
68
+ */
69
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
70
+ {
71
+ VALUE parent,name,hash;
72
+
73
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
74
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
75
+ {
76
+ wxWindowID id(wxID_ANY);
77
+ int style(wxPG_DEFAULT_STYLE);
78
+
79
+ if(rb_obj_is_kind_of(hash,rb_cHash))
80
+ {
81
+ set_hash_option(hash,"id",id,unwrapID);
82
+ set_hash_option(hash,"style",style);
83
+ }
84
+
85
+ _self->Create(unwrap<wxWindow*>(parent),id,wxDefaultPosition,wxDefaultSize,style);
86
+
87
+ }
88
+
89
+ rb_call_super(argc,argv);
90
+
91
+ if(rb_obj_is_kind_of(hash,rb_cHash))
92
+ {
93
+ VALUE temp;
94
+ set_option(caption_background_color,CaptionBackgroundColour,wxColour);
95
+ set_option(selection_background_color,SelectionBackgroundColour,wxColour);
96
+
97
+ set_option(cell_background_color,CellBackgroundColour,wxColour);
98
+ set_option(cell_text_color,CellTextColour,wxColour);
99
+ set_option(cell_diabled_text_color,CellDisabledTextColour,wxColour);
100
+
101
+ set_option(empty_space_color,EmptySpaceColour,wxColour);
102
+ set_option(line_color,LineColour,wxColour);
103
+ set_option(margin_color,MarginColour,wxColour);
104
+
105
+ PropertyGridInterface::_set_extra_style(_self,hash);
106
+ }
107
+ return self;
108
+ }
109
+
110
+
111
+ }
112
+ }
113
+ #endif
114
+
115
+
116
+ /* Document-method: root
117
+ * call-seq:
118
+ * root -> WX::Property
119
+ *
120
+ * returns the root property of this WX::PropertyGrid
121
+ * ===Return value
122
+ * WX::Property
123
+ */
124
+
125
+ /* Document-method: status_bar
126
+ * call-seq:
127
+ * status_bar -> WX::StatusBar
128
+ *
129
+ * returns the status bar of this WX::PropertyGrid when available.
130
+ * ===Return value
131
+ * WX::StatusBar
132
+ */
133
+
134
+ /* Document-method: caption_font
135
+ * call-seq:
136
+ * caption_font -> WX::Font
137
+ *
138
+ * returns the caption font of this WX::PropertyGrid.
139
+ * ===Return value
140
+ * WX::Font
141
+ */
142
+
143
+ /* Document-attr: caption_background_color
144
+ * the caption background color of the PropertyGrid. WX::Color
145
+ */
146
+
147
+ /* Document-attr: selection_background_color
148
+ * the selection background color of the PropertyGrid. WX::Color
149
+ */
150
+
151
+ /* Document-attr: cell_background_color
152
+ * the cell background color of the PropertyGrid. WX::Color
153
+ */
154
+
155
+ /* Document-attr: cell_text_color
156
+ * the cell text color of the PropertyGrid. WX::Color
157
+ */
158
+
159
+ /* Document-attr: cell_disabled_text_color
160
+ * the cell disabled text color of the PropertyGrid. WX::Color
161
+ */
162
+
163
+ /* Document-attr: empty_space_color
164
+ * the empty space color of the PropertyGrid. WX::Color
165
+ */
166
+
167
+ /* Document-attr: line_color
168
+ * the line color of the PropertyGrid. WX::Color
169
+ */
170
+
171
+ /* Document-attr: margin_color
172
+ * the margin color of the PropertyGrid. WX::Color
173
+ */
174
+
175
+ DLL_LOCAL void Init_WXPropertyGrid(VALUE rb_mWX)
176
+ {
177
+ #if 0
178
+ rb_mWX = rb_define_module("WX");
179
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
180
+
181
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
182
+
183
+ rb_mWXPropertyGridInterface = rb_define_module_under(rb_mWX,"PropertyGridInterface");
184
+
185
+ rb_define_attr(rb_cWXPropertyGrid,"caption_background_color",1,1);
186
+ rb_define_attr(rb_cWXPropertyGrid,"selection_background_color",1,1);
187
+
188
+ rb_define_attr(rb_cWXPropertyGrid,"cell_background_color",1,1);
189
+
190
+ rb_define_attr(rb_cWXPropertyGrid,"cell_text_color",1,1);
191
+ rb_define_attr(rb_cWXPropertyGrid,"cell_disabled_text_color",1,1);
192
+
193
+ rb_define_attr(rb_cWXPropertyGrid,"empty_space_color",1,1);
194
+ rb_define_attr(rb_cWXPropertyGrid,"line_color",1,1);
195
+ rb_define_attr(rb_cWXPropertyGrid,"margin_color",1,1);
196
+
197
+ #endif
198
+ #if wxUSE_PROPGRID
199
+ using namespace RubyWX::PropertyGrid;
200
+ rb_cWXPropertyGrid = rb_define_class_under(rb_mWX,"PropertyGrid",rb_cWXControl);
201
+ rb_define_alloc_func(rb_cWXPropertyGrid,_alloc);
202
+
203
+ rb_include_module(rb_cWXPropertyGrid,rb_mWXPropertyGridInterface);
204
+
205
+ rb_define_method(rb_cWXPropertyGrid,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
206
+
207
+ rb_define_method(rb_cWXPropertyGrid,"root",RUBY_METHOD_FUNC(_GetRoot),0);
208
+
209
+ #if wxUSE_STATUSBAR
210
+ rb_define_method(rb_cWXPropertyGrid,"status_bar",RUBY_METHOD_FUNC(_GetStatusBar),0);
211
+ #endif
212
+
213
+ rb_define_method(rb_cWXPropertyGrid,"caption_font",RUBY_METHOD_FUNC(_GetCaptionFont),0);
214
+
215
+ rb_define_attr_method(rb_cWXPropertyGrid,"caption_background_color",_getCaptionBackgroundColour,_setCaptionBackgroundColour);
216
+ rb_define_attr_method(rb_cWXPropertyGrid,"selection_background_color",_getSelectionBackgroundColour,_setSelectionBackgroundColour);
217
+
218
+ rb_define_attr_method(rb_cWXPropertyGrid,"cell_background_color",_getCellBackgroundColour,_setCellBackgroundColour);
219
+
220
+ rb_define_attr_method(rb_cWXPropertyGrid,"cell_text_color",_getCellTextColour,_setCellTextColour);
221
+ rb_define_attr_method(rb_cWXPropertyGrid,"cell_disabled_text_color",_getCellDisabledTextColour,_setCellDisabledTextColour);
222
+
223
+ rb_define_attr_method(rb_cWXPropertyGrid,"empty_space_color",_getEmptySpaceColour,_setEmptySpaceColour);
224
+ rb_define_attr_method(rb_cWXPropertyGrid,"line_color",_getLineColour,_setLineColour);
225
+ rb_define_attr_method(rb_cWXPropertyGrid,"margin_color",_getMarginColour,_setMarginColour);
226
+
227
+ rb_define_const(rb_cWXPropertyGrid,"DEFAULT_STYLE",INT2NUM(wxPG_DEFAULT_STYLE));
228
+
229
+ registerInfo<wxPropertyGrid>(rb_cWXPropertyGrid);
230
+ #endif
231
+
232
+ }
233
+
234
+
@@ -0,0 +1,20 @@
1
+ /*
2
+ * wxPropertyGrid.hpp
3
+ *
4
+ * Created on: 09.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXPROPERTYGRID_HPP_
9
+ #define WXPROPERTYGRID_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXPropertyGrid;
14
+ DLL_LOCAL void Init_WXPropertyGrid(VALUE rb_mWX);
15
+
16
+ #if wxUSE_PROPGRID
17
+ #include <wx/propgrid/propgrid.h>
18
+ #endif
19
+
20
+ #endif /* WXPROPERTYGRID_HPP_ */
@@ -0,0 +1,146 @@
1
+ /*
2
+ * wxPropertyGridInterface.cpp
3
+ *
4
+ * Created on: 09.05.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxPropertyGridInterface.hpp"
9
+ #include "wxPropertyGrid.hpp"
10
+ #include "wxProperty.hpp"
11
+ #include "wxPropertyGridPage.hpp"
12
+ #include "wxPropertyGridManager.hpp"
13
+
14
+ VALUE rb_mWXPropertyGridInterface;
15
+
16
+ #if wxUSE_PROPGRID
17
+ // i need this because if i try to access the interface directly it fails
18
+ template <>
19
+ wxPropertyGridInterface* unwrap< wxPropertyGridInterface* >(const VALUE &obj)
20
+ {
21
+ if(rb_obj_is_kind_of(obj,rb_cWXPropertyGrid))
22
+ return unwrap<wxPropertyGrid*>(obj);
23
+ if(rb_obj_is_kind_of(obj,rb_cWXPropertyGridPage))
24
+ return unwrap<wxPropertyGridPage*>(obj);
25
+ if(rb_obj_is_kind_of(obj,rb_cWXPropertyGridManager))
26
+ return unwrap<wxPropertyGridManager*>(obj);
27
+
28
+ return NULL;
29
+ }
30
+ template <>
31
+ wxPGPropArgCls unwrap< wxPGPropArgCls >(const VALUE &obj)
32
+ {
33
+ if(rb_obj_is_kind_of(obj,rb_cWXProperty))
34
+ {
35
+ return unwrap<wxPGProperty*>(obj);
36
+ }
37
+ return unwrap<wxString>(obj);
38
+ }
39
+
40
+
41
+ #define _self unwrap<wxPropertyGridInterface*>(self)
42
+
43
+ namespace RubyWX {
44
+ namespace PropertyGridInterface {
45
+
46
+ singlefunc(Clear)
47
+ singlereturn(CollapseAll)
48
+ singlereturn(ExpandAll)
49
+ singlereturn(GetSelection)
50
+
51
+ DLL_LOCAL void _set_extra_style(wxWindow *wnd,VALUE hash)
52
+ {
53
+ int exstyle = wnd->GetExtraStyle();
54
+
55
+ set_hash_flag_option(hash,"mode_buttons",wxPG_EX_MODE_BUTTONS,exstyle);
56
+ set_hash_flag_option(hash,"help_as_tooltips",wxPG_EX_HELP_AS_TOOLTIPS,exstyle);
57
+ set_hash_flag_option(hash,"hide_page_buttons",wxPG_EX_HIDE_PAGE_BUTTONS,exstyle);
58
+ set_hash_flag_option(hash,"multible_selection",wxPG_EX_MULTIPLE_SELECTION,exstyle);
59
+ set_hash_flag_option(hash,"toolbar_separator",wxPG_EX_TOOLBAR_SEPARATOR,exstyle);
60
+
61
+ wnd->SetExtraStyle(exstyle);
62
+ }
63
+
64
+ DLL_LOCAL VALUE _append(int argc,VALUE *argv,VALUE self)
65
+ {
66
+ VALUE val,prop,hash;
67
+ rb_scan_args(argc, argv, "11:",&val,prop,&hash);
68
+
69
+ wxPGProperty * cprop = unwrap<wxPGProperty*>(val);
70
+
71
+ if(NIL_P(prop))
72
+ cprop = _self->Append(cprop);
73
+ else
74
+ cprop = _self->AppendIn(unwrap<wxPGPropArgCls>(prop), cprop);
75
+
76
+ VALUE result = wrap(cprop);
77
+
78
+ if(rb_block_given_p())
79
+ rb_yield(result);
80
+ return result;
81
+ }
82
+
83
+ DLL_LOCAL VALUE _get_selections(VALUE self)
84
+ {
85
+ VALUE ary = rb_ary_new();
86
+ const wxArrayPGProperty& props = _self->GetSelectedProperties();
87
+ for(wxArrayPGProperty::const_iterator it = props.begin(); it != props.end(); ++it)
88
+ {
89
+ rb_ary_push(ary,wrap(*it));
90
+ }
91
+ return ary;
92
+ }
93
+
94
+
95
+ }
96
+ }
97
+ #endif
98
+
99
+
100
+ /* Document-const: EX_MODE_BUTTONS
101
+ * Shows alphabetic/categoric mode buttons from toolbar.
102
+ */
103
+ /* Document-const: EX_HELP_AS_TOOLTIPS
104
+ * Show property help strings as tool tips instead as text on the status bar.
105
+ */
106
+ /* Document-const: EX_HIDE_PAGE_BUTTONS
107
+ * Hides page selection buttons from toolbar.
108
+ */
109
+ /* Document-const: EX_MULTIPLE_SELECTION
110
+ * Allows multiple properties to be selected by user.
111
+ */
112
+ /* Document-const: EX_TOOLBAR_SEPARATOR
113
+ * Show a separator below the toolbar.
114
+ */
115
+ DLL_LOCAL void Init_WXPropertyGridInterface(VALUE rb_mWX)
116
+ {
117
+ #if wxUSE_PROPGRID
118
+ using namespace RubyWX::PropertyGridInterface;
119
+ rb_mWXPropertyGridInterface = rb_define_module_under(rb_mWX,"PropertyGridInterface");
120
+
121
+ rb_define_method(rb_mWXPropertyGridInterface,"append",RUBY_METHOD_FUNC(_append),-1);
122
+
123
+ rb_define_method(rb_mWXPropertyGridInterface,"clear",RUBY_METHOD_FUNC(_Clear),0);
124
+
125
+ rb_define_method(rb_mWXPropertyGridInterface,"collapse_all",RUBY_METHOD_FUNC(_CollapseAll),0);
126
+ rb_define_method(rb_mWXPropertyGridInterface,"expand_all",RUBY_METHOD_FUNC(_ExpandAll),0);
127
+
128
+ rb_define_method(rb_mWXPropertyGridInterface,"selection",RUBY_METHOD_FUNC(_GetSelection),0);
129
+
130
+ rb_define_method(rb_mWXPropertyGridInterface,"selections",RUBY_METHOD_FUNC(_get_selections),0);
131
+
132
+ rb_define_const(rb_mWXPropertyGridInterface,"EX_MODE_BUTTONS",INT2NUM(wxPG_EX_MODE_BUTTONS));
133
+
134
+ rb_define_const(rb_mWXPropertyGridInterface,"EX_HELP_AS_TOOLTIPS",INT2NUM(wxPG_EX_HELP_AS_TOOLTIPS));
135
+ rb_define_const(rb_mWXPropertyGridInterface,"EX_HIDE_PAGE_BUTTONS",INT2NUM(wxPG_EX_HIDE_PAGE_BUTTONS));
136
+ rb_define_const(rb_mWXPropertyGridInterface,"EX_MULTIPLE_SELECTION",INT2NUM(wxPG_EX_MULTIPLE_SELECTION));
137
+ rb_define_const(rb_mWXPropertyGridInterface,"EX_TOOLBAR_SEPARATOR",INT2NUM(wxPG_EX_TOOLBAR_SEPARATOR));
138
+
139
+
140
+ wxPropertyGrid::InitAllTypeHandlers();
141
+ #endif
142
+
143
+ }
144
+
145
+
146
+