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,28 @@
1
+ /*
2
+ * wxTextAttr.hpp
3
+ *
4
+ * Created on: 28.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXTEXTATTR_HPP_
9
+ #define WXTEXTATTR_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXTextAttr;
14
+
15
+ void Init_WXTextAttr(VALUE rb_mWX);
16
+
17
+ #if wxUSE_TEXTCTRL
18
+ #include <wx/textctrl.h>
19
+
20
+ template <>
21
+ VALUE wrap< wxTextAttr >(wxTextAttr *color );
22
+
23
+ template <>
24
+ wxTextAttr unwrap< wxTextAttr >(const VALUE &vcolor);
25
+
26
+ #endif
27
+
28
+ #endif /* WXTEXTATTR_HPP_ */
@@ -0,0 +1,177 @@
1
+ /*
2
+ * wxTextCtrl.cpp
3
+ *
4
+ * Created on: 27.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxTextCtrl.hpp"
9
+
10
+ #include "wxTextArea.hpp"
11
+ #include "wxTextEntry.hpp"
12
+
13
+ VALUE rb_cWXTextCtrl;
14
+
15
+ #if wxUSE_TEXTCTRL
16
+ #define _self unwrap<wxTextCtrl*>(self)
17
+
18
+ namespace RubyWX {
19
+ namespace TextCtrl {
20
+
21
+ void set_style_flags(VALUE hash,int& style)
22
+ {
23
+ set_hash_flag_option(hash,"readonly",wxTE_READONLY,style);
24
+ set_hash_flag_option(hash,"multiline",wxTE_MULTILINE,style);
25
+ set_hash_flag_option(hash,"password",wxTE_PASSWORD,style);
26
+ set_hash_flag_option(hash,"process_tab",wxTE_PROCESS_TAB,style);
27
+ set_hash_flag_option(hash,"process_enter",wxTE_PROCESS_ENTER,style);
28
+
29
+ if(((style & wxTE_MULTILINE) != 0) && ((style & (wxTE_PASSWORD|wxTE_PROCESS_ENTER)) != 0) )
30
+ {
31
+ rb_raise(rb_eArgError,"password style and process enter style are for singleline only");
32
+ }
33
+
34
+ }
35
+
36
+
37
+ macro_attr(Value,wxString)
38
+
39
+ singlereturn(IsSingleLine)
40
+ singlereturn(IsMultiLine)
41
+
42
+ APP_PROTECT(wxTextCtrl)
43
+
44
+
45
+ /*
46
+ * call-seq:
47
+ * TextCtrl.new(parent, name, [options])
48
+ * TextCtrl.new(parent, [options])
49
+ *
50
+ * creates a new TextCtrl widget.
51
+ * ===Arguments
52
+ * * parent of this window or nil
53
+ * * name is a String describing a resource in a loaded xrc
54
+ *
55
+ * *options: Hash with possible options to set:
56
+ * * value String
57
+ *
58
+ */
59
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
60
+ {
61
+ VALUE parent, name, hash;
62
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
63
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
64
+ {
65
+ wxWindowID id(wxID_ANY);
66
+ wxString value(wxEmptyString);
67
+ int style(0);
68
+
69
+ if(rb_obj_is_kind_of(hash,rb_cHash))
70
+ {
71
+ set_hash_option(hash,"id",id,unwrapID);
72
+ set_hash_option(hash,"value",value);
73
+ set_hash_option(hash,"style",style);
74
+
75
+ set_style_flags(hash,style);
76
+ }
77
+
78
+ _self->Create(unwrap<wxWindow*>(parent),id,value,wxDefaultPosition,wxDefaultSize,style);
79
+ }
80
+
81
+ rb_call_super(argc,argv);
82
+
83
+ if(rb_obj_is_kind_of(name,rb_cString) &&
84
+ rb_obj_is_kind_of(hash,rb_cHash))
85
+ {
86
+ VALUE temp;
87
+ set_option(value,Value,wxString)
88
+ }
89
+
90
+ return self;
91
+ }
92
+
93
+ }
94
+ }
95
+ #endif
96
+
97
+
98
+ /* Document-attr: value
99
+ * the value of the TextCtrl. String
100
+ */
101
+
102
+ /* Document-method: single_line?
103
+ * call-seq:
104
+ * single_line? -> true/false
105
+ *
106
+ * Returns true if this is a single line edit control and false otherwise.
107
+ * ===Return value
108
+ * true/false
109
+ */
110
+ /* Document-method: multi_line?
111
+ * call-seq:
112
+ * multi_line? -> true/false
113
+ *
114
+ * Returns true if this is a multi line edit control and false otherwise.
115
+ * ===Return value
116
+ * true/false
117
+ */
118
+
119
+ /* Document-const: READONLY
120
+ * The text will not be user-editable.
121
+ */
122
+ /* Document-const: MULTILINE
123
+ * The text control allows multiple lines. If this style is not specified, line break characters should not be used in the controls value.
124
+ */
125
+ /* Document-const: PROCESS_TAB
126
+ * The control will receive :char events for TAB pressed - normally, TAB is used for passing to the next control in a dialog instead. For the control created with this style, you can still use Ctrl-Enter to pass to the next control from the keyboard.
127
+ */
128
+ /* Document-const: PROCESS_ENTER
129
+ * The control will generate the event :text_enter (otherwise pressing Enter key is either processed internally by the control or used for navigation between dialog controls).
130
+ */
131
+ /* Document-const: PASSWORD
132
+ * The text will be echoed as asterisks.
133
+ */
134
+ DLL_LOCAL void Init_WXTextCtrl(VALUE rb_mWX)
135
+ {
136
+ #if 0
137
+ rb_mWX = rb_define_module("WX");
138
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
139
+
140
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
141
+
142
+ rb_mWXTextArea = rb_define_module_under(rb_mWX,"TextArea");
143
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
144
+
145
+ rb_define_attr(rb_cWXTextCtrl,"value",1,1);
146
+ #endif
147
+
148
+ #if wxUSE_TEXTCTRL
149
+ using namespace RubyWX::TextCtrl;
150
+ rb_cWXTextCtrl = rb_define_class_under(rb_mWX,"TextCtrl",rb_cWXControl);
151
+ rb_define_alloc_func(rb_cWXTextCtrl,_alloc);
152
+
153
+ rb_include_module(rb_cWXTextCtrl,rb_mWXTextArea);
154
+ rb_include_module(rb_cWXTextCtrl,rb_mWXTextEntry);
155
+
156
+ rb_define_method(rb_cWXTextCtrl,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
157
+
158
+ rb_define_method(rb_cWXTextCtrl,"single_line?",RUBY_METHOD_FUNC(_IsSingleLine),0);
159
+ rb_define_method(rb_cWXTextCtrl,"multi_line?",RUBY_METHOD_FUNC(_IsMultiLine),0);
160
+
161
+ rb_define_attr_method(rb_cWXTextCtrl,"value",_getValue,_setValue);
162
+
163
+ rb_define_const(rb_cWXTextCtrl,"READONLY",INT2NUM(wxTE_READONLY));
164
+ rb_define_const(rb_cWXTextCtrl,"MULTILINE",INT2NUM(wxTE_MULTILINE));
165
+ rb_define_const(rb_cWXTextCtrl,"PROCESS_TAB",INT2NUM(wxTE_PROCESS_TAB));
166
+ rb_define_const(rb_cWXTextCtrl,"PROCESS_ENTER",INT2NUM(wxTE_PROCESS_ENTER));
167
+ rb_define_const(rb_cWXTextCtrl,"PASSWORD",INT2NUM(wxTE_PASSWORD));
168
+
169
+ registerEventType("text",wxEVT_TEXT,rb_cWXCommandEvent);
170
+ registerEventType("text_enter",wxEVT_TEXT_ENTER,rb_cWXCommandEvent);
171
+ registerEventType("text_url",wxEVT_TEXT_URL,rb_cWXCommandEvent);
172
+ registerEventType("text_maxlen",wxEVT_TEXT_MAXLEN,rb_cWXCommandEvent);
173
+
174
+ registerInfo<wxTextCtrl>(rb_cWXTextCtrl);
175
+ #endif
176
+
177
+ }
@@ -0,0 +1,30 @@
1
+ /*
2
+ * wxtextCtrl.hpp
3
+ *
4
+ * Created on: 28.04.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXTEXTCTRL_HPP_
9
+ #define WXTEXTCTRL_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXTextCtrl;
14
+
15
+ void Init_WXTextCtrl(VALUE rb_mWX);
16
+
17
+ #if wxUSE_TEXTCTRL
18
+ #include <wx/textctrl.h>
19
+ #endif
20
+
21
+ namespace RubyWX {
22
+ namespace TextCtrl {
23
+
24
+ void set_style_flags(VALUE hash,int& flags);
25
+
26
+ }
27
+ }
28
+
29
+
30
+ #endif /* WXTEXTCTRL_HPP_ */
@@ -0,0 +1,248 @@
1
+ /*
2
+ * wxTextEntry.cpp
3
+ *
4
+ * Created on: 30.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxTextEntry.hpp"
9
+ #include "wxTextCtrl.hpp"
10
+ #include "wxRichTextCtrl.hpp"
11
+ #include "wxSearchCtrl.hpp"
12
+ #include "wxBitmapComboBox.hpp"
13
+ #include "wxComboBox.hpp"
14
+ #include "wxSTC.hpp"
15
+ #include "wxPoint.hpp"
16
+
17
+ VALUE rb_mWXTextEntry;
18
+
19
+ template <>
20
+ wxTextEntryBase* unwrap< wxTextEntryBase* >(const VALUE &obj)
21
+ {
22
+ #if wxUSE_TEXTCTRL
23
+ if(rb_obj_is_kind_of(obj,rb_cWXTextCtrl))
24
+ return unwrap<wxTextCtrl*>(obj);
25
+ #endif
26
+ #if wxUSE_RICHTEXT
27
+ if(rb_obj_is_kind_of(obj,rb_cWXRichTextCtrl))
28
+ return unwrap<wxRichTextCtrl*>(obj);
29
+ #endif
30
+ #if wxUSE_SEARCHCTRL
31
+ if(rb_obj_is_kind_of(obj,rb_cWXSearchCtrl))
32
+ return unwrap<wxSearchCtrl*>(obj);
33
+ #endif
34
+ #if wxUSE_BITMAPCOMBOBOX
35
+ if(rb_obj_is_kind_of(obj,rb_cWXBitmapComboBox))
36
+ return unwrap<wxBitmapComboBox*>(obj);
37
+ #endif
38
+ #if wxUSE_COMBOBOX
39
+ if(rb_obj_is_kind_of(obj,rb_cWXComboBox))
40
+ return unwrap<wxComboBox*>(obj);
41
+ #endif
42
+ #if wxUSE_STC
43
+ if(rb_obj_is_kind_of(obj,rb_cWXSTC))
44
+ return unwrap<wxStyledTextCtrl*>(obj);
45
+ #endif
46
+ rb_raise(rb_eTypeError,"Unknown wxTextEntryBase: %s",rb_obj_classname(obj));
47
+ return NULL;
48
+ }
49
+
50
+
51
+ #define _self unwrap<wxTextEntryBase*>(self)
52
+
53
+ namespace RubyWX {
54
+ namespace TextEntry {
55
+
56
+
57
+ singlefunc(Copy)
58
+ singlefunc(Cut)
59
+ singlefunc(Paste)
60
+
61
+ singlereturn(CanCopy)
62
+ singlereturn(CanCut)
63
+ singlereturn(CanPaste)
64
+
65
+ singlefunc(Undo)
66
+ singlefunc(Redo)
67
+
68
+ singlereturn(CanUndo)
69
+ singlereturn(CanRedo)
70
+
71
+ singlefunc(SelectAll)
72
+ singlefunc(SelectNone)
73
+ singlereturn(HasSelection)
74
+
75
+ macro_attr(Hint,wxString)
76
+
77
+ macro_attr_bool(Editable)
78
+
79
+ macro_attr(Margins,wxPoint)
80
+
81
+
82
+ /*
83
+ * call-seq:
84
+ * initialize(parent, [options])
85
+ *
86
+ *
87
+ * ===Arguments
88
+ * * parent of this window or nil
89
+ *
90
+ * *options: Hash with possible options to set:
91
+ * * value String
92
+ *
93
+ */
94
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
95
+ {
96
+ VALUE parent,name,hash;
97
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
98
+
99
+ rb_call_super(argc,argv);
100
+
101
+ if(rb_obj_is_kind_of(hash,rb_cHash))
102
+ {
103
+ VALUE temp;
104
+ set_option(hint,Hint,wxString)
105
+ set_option(editable,Editable,bool)
106
+ set_option(margins,Margins,wxPoint)
107
+ }
108
+
109
+ return self;
110
+ }
111
+
112
+ }
113
+ }
114
+
115
+
116
+ /* Document-method: copy
117
+ * call-seq:
118
+ * copy -> self
119
+ *
120
+ * copy into clipboard.
121
+ * ===Return value
122
+ * self
123
+ */
124
+
125
+ /* Document-method: cut
126
+ * call-seq:
127
+ * cut -> self
128
+ *
129
+ * cut into clipboard.
130
+ * ===Return value
131
+ * self
132
+ */
133
+
134
+ /* Document-method: paste
135
+ * call-seq:
136
+ * paste -> self
137
+ *
138
+ * paste from clipboard.
139
+ * ===Return value
140
+ * self
141
+ */
142
+
143
+ /* Document-method: undo
144
+ * call-seq:
145
+ * undo -> self
146
+ *
147
+ * undo last action
148
+ * ===Return value
149
+ * self
150
+ */
151
+
152
+ /* Document-method: redo
153
+ * call-seq:
154
+ * redo -> self
155
+ *
156
+ * redo last undo'd action.
157
+ * ===Return value
158
+ * self
159
+ */
160
+
161
+ /* Document-method: can_copy?
162
+ * call-seq:
163
+ * can_copy? -> true/false
164
+ *
165
+ * returns true if copy can be called.
166
+ * ===Return value
167
+ * true/false
168
+ */
169
+
170
+ /* Document-method: can_cut?
171
+ * call-seq:
172
+ * can_cut? -> true/false
173
+ *
174
+ * returns true if cut can be called.
175
+ * ===Return value
176
+ * true/false
177
+ */
178
+
179
+ /* Document-method: can_paste?
180
+ * call-seq:
181
+ * can_paste? -> true/false
182
+ *
183
+ * returns true if paste can be called.
184
+ * ===Return value
185
+ * true/false
186
+ */
187
+
188
+ /* Document-method: can_undo?
189
+ * call-seq:
190
+ * can_undo? -> true/false
191
+ *
192
+ * returns true if copy can be called.
193
+ * ===Return value
194
+ * true/false
195
+ */
196
+
197
+ /* Document-method: can_redo?
198
+ * call-seq:
199
+ * can_redo? -> true/false
200
+ *
201
+ * returns true if redo can be called.
202
+ * ===Return value
203
+ * true/false
204
+ */
205
+
206
+ /* Document-attr: hint
207
+ * the hint of the TextEntry. String
208
+ */
209
+ /* Document-attr: value
210
+ * the editable value of the TextEntry. bool
211
+ */
212
+ /* Document-attr: margins
213
+ * the margins of the TextEntry. WX::Point
214
+ */
215
+ DLL_LOCAL void Init_WXTextEntry(VALUE rb_mWX)
216
+ {
217
+ #if 0
218
+ rb_define_attr(rb_mWXTextEntry,"hint",1,1);
219
+ rb_define_attr(rb_mWXTextEntry,"editable",1,1);
220
+ rb_define_attr(rb_mWXTextEntry,"margins",1,1);
221
+ #endif
222
+
223
+ using namespace RubyWX::TextEntry;
224
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
225
+
226
+ rb_define_method(rb_mWXTextEntry,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
227
+
228
+ rb_define_method(rb_mWXTextEntry,"cut",RUBY_METHOD_FUNC(_Cut),0);
229
+ rb_define_method(rb_mWXTextEntry,"copy",RUBY_METHOD_FUNC(_Copy),0);
230
+ rb_define_method(rb_mWXTextEntry,"paste",RUBY_METHOD_FUNC(_Paste),0);
231
+
232
+ rb_define_method(rb_mWXTextEntry,"can_cut?",RUBY_METHOD_FUNC(_CanCut),0);
233
+ rb_define_method(rb_mWXTextEntry,"can_copy?",RUBY_METHOD_FUNC(_CanCopy),0);
234
+ rb_define_method(rb_mWXTextEntry,"can_paste?",RUBY_METHOD_FUNC(_CanPaste),0);
235
+
236
+ rb_define_method(rb_mWXTextEntry,"undo",RUBY_METHOD_FUNC(_Undo),0);
237
+ rb_define_method(rb_mWXTextEntry,"redo",RUBY_METHOD_FUNC(_Redo),0);
238
+
239
+ rb_define_method(rb_mWXTextEntry,"can_undo?",RUBY_METHOD_FUNC(_CanUndo),0);
240
+ rb_define_method(rb_mWXTextEntry,"can_redo?",RUBY_METHOD_FUNC(_CanRedo),0);
241
+
242
+ rb_define_attr_method(rb_mWXTextEntry,"hint",_getHint,_setHint);
243
+ rb_define_attr_method(rb_mWXTextEntry,"editable",_getEditable,_setEditable);
244
+ rb_define_attr_method(rb_mWXTextEntry,"margins",_getMargins,_setMargins);
245
+ }
246
+
247
+
248
+