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
+ * wxRichTextAttr.hpp
3
+ *
4
+ * Created on: 03.08.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXRICHTEXTATTR_HPP_
9
+ #define WXRICHTEXTATTR_HPP_
10
+
11
+ #include "wxControl.hpp"
12
+
13
+ extern VALUE rb_cWXRichTextAttr;
14
+
15
+ void Init_WXRichTextAttr(VALUE rb_mWX);
16
+
17
+ #if wxUSE_RICHTEXT
18
+ #include <wx/richtext/richtextctrl.h>
19
+
20
+ template <>
21
+ VALUE wrap< wxRichTextAttr >(wxRichTextAttr *color );
22
+
23
+ template <>
24
+ wxRichTextAttr unwrap< wxRichTextAttr >(const VALUE &vcolor);
25
+
26
+ #endif
27
+
28
+ #endif /* WXRICHTEXTATTR_HPP_ */
@@ -0,0 +1,484 @@
1
+ /*
2
+ * wxRichTextCtrl.cpp
3
+ *
4
+ * Created on: 22.06.2014
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxRichTextCtrl.hpp"
9
+ #include "wxRichTextAttr.hpp"
10
+ #include "wxRichTextStyleSheet.hpp"
11
+
12
+ #include "wxTextArea.hpp"
13
+ #include "wxTextAttr.hpp"
14
+ #include "wxTextEntry.hpp"
15
+ #include "wxCursor.hpp"
16
+ #include "wxFont.hpp"
17
+ #include "wxColor.hpp"
18
+
19
+ #include "wxEvtHandler.hpp"
20
+ #include "wxNotifyEvent.hpp"
21
+
22
+ VALUE rb_cWXRichTextCtrl, rb_cWXRichTextCtrlEvent;
23
+
24
+ #if wxUSE_RICHTEXT
25
+ #define _self unwrap<wxRichTextCtrl*>(self)
26
+
27
+ namespace RubyWX {
28
+ namespace RichTextCtrl {
29
+
30
+ void set_style_flags(VALUE hash,int& style)
31
+ {
32
+ set_hash_flag_option(hash,"readonly",wxRE_READONLY,style);
33
+ set_hash_flag_option(hash,"multiline",wxRE_MULTILINE,style);
34
+ set_hash_flag_option(hash,"center_caret",wxRE_CENTRE_CARET,style);
35
+ }
36
+
37
+ macro_attr(Value,wxString)
38
+ macro_attr(Filename,wxString)
39
+
40
+ macro_attr(ContextMenu,wxMenu*)
41
+
42
+ macro_attr(TextCursor,wxCursor)
43
+ macro_attr(URLCursor,wxCursor)
44
+
45
+ macro_attr(Scale,double)
46
+ //macro_attr_bool2(ImagesEnabled,EnableImages)
47
+
48
+ macro_attr(BasicStyle,wxRichTextAttr)
49
+ macro_attr(StyleSheet,wxRichTextStyleSheet*)
50
+
51
+ macro_attr(CaretPosition,long)
52
+
53
+ singlereturn(IsSingleLine)
54
+ singlereturn(IsMultiLine)
55
+
56
+ singlereturn(BatchingUndo)
57
+ singlereturn(SuppressingUndo)
58
+
59
+ singlereturn_frozen(Newline)
60
+ singlereturn_frozen(LineBreak)
61
+
62
+ singlereturn_frozen(IsSelectionBold)
63
+ singlereturn_frozen(IsSelectionItalics)
64
+ singlereturn_frozen(IsSelectionUnderlined)
65
+
66
+ singlereturn_frozen(PopStyleSheet)
67
+
68
+ APP_PROTECT(wxRichTextCtrl)
69
+
70
+
71
+ /*
72
+ * call-seq:
73
+ * RichTextCtrl.new(parent, name, [options])
74
+ * RichTextCtrl.new(parent, [options])
75
+ *
76
+ * creates a new RichTextCtrl widget.
77
+ * ===Arguments
78
+ * * parent of this window or nil
79
+ * * name is a String describing a resource in a loaded xrc
80
+ *
81
+ * *options: Hash with possible options to set:
82
+ * * value String
83
+ *
84
+ */
85
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
86
+ {
87
+ VALUE parent, name, hash;
88
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
89
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString))
90
+ {
91
+ wxWindowID id(wxID_ANY);
92
+ wxString value(wxEmptyString);
93
+ int style(wxRE_MULTILINE);
94
+
95
+ if(rb_obj_is_kind_of(hash,rb_cHash))
96
+ {
97
+ set_hash_option(hash,"id",id,unwrapID);
98
+ set_hash_option(hash,"value",value);
99
+ set_hash_option(hash,"style",style);
100
+
101
+ set_style_flags(hash,style);
102
+ }
103
+
104
+ _self->Create(unwrap<wxWindow*>(parent),id,value,wxDefaultPosition,wxDefaultSize,style);
105
+ }
106
+
107
+ rb_call_super(argc,argv);
108
+
109
+ if(rb_obj_is_kind_of(name,rb_cString) &&
110
+ rb_obj_is_kind_of(hash,rb_cHash))
111
+ {
112
+ VALUE temp;
113
+ set_option(value,Value,wxString)
114
+ }
115
+
116
+ return self;
117
+ }
118
+
119
+ #define block_func0(n) VALUE _block##n(VALUE self) \
120
+ {\
121
+ _self->Begin##n();\
122
+ rb_yield(self);\
123
+ _self->End##n();\
124
+ return self;\
125
+ }
126
+
127
+ #define block_func1(n,func1) VALUE _block##n(VALUE self,VALUE val) \
128
+ {\
129
+ _self->Begin##n(func1(val));\
130
+ rb_yield(self);\
131
+ _self->End##n();\
132
+ return self;\
133
+ }
134
+
135
+ #define block_bullet(n,func1,style) VALUE _block##n##Bullet(int argc,VALUE *argv,VALUE self)\
136
+ {\
137
+ VALUE bulletObj, leftIndent, leftSubIndent, bulletStyle;\
138
+ rb_scan_args(argc, argv, "31",&bulletObj, &leftIndent, &leftSubIndent, &bulletStyle);\
139
+ _self->Begin##n##Bullet(\
140
+ func1(bulletObj), NUM2INT(leftIndent), NUM2INT(leftSubIndent),\
141
+ NIL_P(bulletStyle) ? style : unwrapenum<wxTextAttrBulletStyle>(bulletStyle)\
142
+ );\
143
+ rb_yield(self);\
144
+ _self->End##n##Bullet();\
145
+ return self;\
146
+ }
147
+
148
+ block_func0(Bold)
149
+ block_func0(Italic)
150
+ block_func0(Underline)
151
+
152
+ block_func1(FontSize,NUM2INT)
153
+ block_func1(Font,unwrap<wxFont>)
154
+ block_func1(TextColour,unwrap<wxColor>)
155
+ block_func1(Alignment,unwrapenum<wxTextAttrAlignment>)
156
+
157
+ block_func1(RightIndent,NUM2INT)
158
+ block_func1(LineSpacing,NUM2INT)
159
+ block_func1(CharacterStyle,unwrap<wxString>)
160
+ block_func1(ParagraphStyle,unwrap<wxString>)
161
+
162
+ block_bullet(Numbered,NUM2INT,wxTEXT_ATTR_BULLET_STYLE_ARABIC|wxTEXT_ATTR_BULLET_STYLE_PERIOD)
163
+ block_bullet(Symbol,unwrap<wxString>,wxTEXT_ATTR_BULLET_STYLE_SYMBOL)
164
+ block_bullet(Standard,unwrap<wxString>,wxTEXT_ATTR_BULLET_STYLE_STANDARD)
165
+
166
+ block_func1(BatchUndo,unwrap<wxString>)
167
+ block_func0(SuppressUndo)
168
+
169
+ namespace Event
170
+ {
171
+ #undef _self
172
+ #define _self unwrapTypedPtr<wxRichTextEvent>(self,rb_cWXRichTextCtrlEvent)
173
+
174
+ macro_attr(Position,int)
175
+
176
+ }
177
+
178
+ }
179
+ }
180
+ #endif
181
+
182
+
183
+ /* Document-attr: value
184
+ * the value of the RichTextCtrl. String
185
+ */
186
+ /* Document-attr: filename
187
+ * the filename of the RichTextCtrl. String
188
+ */
189
+ /* Document-attr: text_cursor
190
+ * the text cursor of the RichTextCtrl. WX::Cursor
191
+ */
192
+ /* Document-attr: url_cursor
193
+ * the url cursor of the RichTextCtrl. WX::Cursor
194
+ */
195
+ /* Document-attr: context_menu
196
+ * the context menu of the RichTextCtrl. WX::Menu
197
+ */
198
+ /* Document-attr: caret_position
199
+ * the current caret position. Integer
200
+ */
201
+ /* Document-attr: basic_style
202
+ * the basic (overall) style. WX::RichTextAttr
203
+ */
204
+ /* Document-attr: style_sheet
205
+ * the style sheet associated with the control. WX::RichTextStyleSheet
206
+ */
207
+
208
+ /* Document-method: single_line?
209
+ * call-seq:
210
+ * single_line? -> true/false
211
+ *
212
+ * Returns true if this is a single line edit control and false otherwise.
213
+ * ===Return value
214
+ * true/false
215
+ */
216
+ /* Document-method: multi_line?
217
+ * call-seq:
218
+ * multi_line? -> true/false
219
+ *
220
+ * Returns true if this is a multi line edit control and false otherwise.
221
+ * ===Return value
222
+ * true/false
223
+ */
224
+
225
+ /* Document-method: selection_bold?
226
+ * call-seq:
227
+ * selection_bold? -> true/false
228
+ *
229
+ * Returns true if all of the selection, or the content at the caret position, is bold.
230
+ * ===Return value
231
+ * true/false
232
+ */
233
+ /* Document-method: selection_italic?
234
+ * call-seq:
235
+ * selection_italic? -> true/false
236
+ *
237
+ * Returns true if all of the selection, or the content at the caret position, is italic.
238
+ * ===Return value
239
+ * true/false
240
+ */
241
+ /* Document-method: selection_underline?
242
+ * call-seq:
243
+ * selection_underline? -> true/false
244
+ *
245
+ * Returns true if all of the selection, or the content at the caret position, is underline.
246
+ * ===Return value
247
+ * true/false
248
+ */
249
+
250
+ /* Document-method: newline
251
+ * call-seq:
252
+ * newline -> true/false
253
+ *
254
+ * Inserts a new paragraph at the current insertion point.
255
+ * ===Return value
256
+ * true/false
257
+ */
258
+ /* Document-method: line_break
259
+ * call-seq:
260
+ * line_break -> true/false
261
+ *
262
+ * A line break forces wrapping within a paragraph, and can be introduced by using this function.
263
+ * ===Return value
264
+ * true/false
265
+ */
266
+
267
+ /* Document-method: batching_undo?
268
+ * call-seq:
269
+ * batching_undo? -> true/false
270
+ *
271
+ * Returns true if undo commands are being batched.
272
+ * ===Return value
273
+ * true/false
274
+ */
275
+ /* Document-method: suppressing_undo?
276
+ * call-seq:
277
+ * suppressing_undo? -> true/false
278
+ *
279
+ * Returns true if undo history suppression is on.
280
+ * ===Return value
281
+ * true/false
282
+ */
283
+
284
+ /* Document-method: block_bold
285
+ * call-seq:
286
+ * block_bold { ... } -> self
287
+ *
288
+ * use bold while in the block
289
+ * ===Return value
290
+ * self
291
+ */
292
+ /* Document-method: block_italic
293
+ * call-seq:
294
+ * block_italic { ... } -> self
295
+ *
296
+ * use italic while in the block
297
+ * ===Return value
298
+ * self
299
+ */
300
+ /* Document-method: block_underline
301
+ * call-seq:
302
+ * block_underline { ... } -> self
303
+ *
304
+ * use underline while in the block
305
+ * ===Return value
306
+ * self
307
+ */
308
+
309
+ /* Document-method: block_font_size
310
+ * call-seq:
311
+ * block_font_size(size) { ... } -> self
312
+ *
313
+ * use given font size while in the block
314
+ * ===Arguments
315
+ * * size Integer
316
+ * ===Return value
317
+ * self
318
+ */
319
+ /* Document-method: block_font
320
+ * call-seq:
321
+ * block_font(font) { ... } -> self
322
+ *
323
+ * use given font while in the block
324
+ * ===Arguments
325
+ * * font WX::Font
326
+ * ===Return value
327
+ * self
328
+ */
329
+ /* Document-method: block_text_color
330
+ * call-seq:
331
+ * block_text_color(color) { ... } -> self
332
+ *
333
+ * use given text color while in the block
334
+ * ===Arguments
335
+ * * color WX::Color
336
+ * ===Return value
337
+ * self
338
+ */
339
+
340
+ /* Document-method: block_character_style
341
+ * call-seq:
342
+ * block_character_style(style) { ... } -> self
343
+ *
344
+ * use given character style while in the block
345
+ * ===Arguments
346
+ * * style String
347
+ * ===Return value
348
+ * self
349
+ */
350
+ /* Document-method: block_paragraph_style
351
+ * call-seq:
352
+ * block_paragraph_style(style) { ... } -> self
353
+ *
354
+ * use given paragraph style while in the block
355
+ * ===Arguments
356
+ * * style String
357
+ * ===Return value
358
+ * self
359
+ */
360
+
361
+ /* Document-method: batch_undo
362
+ * call-seq:
363
+ * batch_undo(name) { ... } -> self
364
+ *
365
+ * batching undo history for commands.
366
+ * ===Arguments
367
+ * * name String
368
+ * ===Return value
369
+ * self
370
+ */
371
+ /* Document-method: suppress_undo
372
+ * call-seq:
373
+ * suppress_undo { ... } -> self
374
+ *
375
+ * suppressing undo history for commands.
376
+ * ===Return value
377
+ * self
378
+ */
379
+
380
+ /* Document-const: READONLY
381
+ * The text will not be user-editable.
382
+ */
383
+ /* Document-const: MULTILINE
384
+ * The text control allows multiple lines. If this style is not specified, line break characters should not be used in the controls value.
385
+ */
386
+ /* Document-const: CENTER_CARET
387
+ *
388
+ */
389
+ DLL_LOCAL void Init_WXRichTextCtrl(VALUE rb_mWX)
390
+ {
391
+ #if 0
392
+ rb_mWX = rb_define_module("WX");
393
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
394
+
395
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
396
+
397
+ rb_mWXTextArea = rb_define_module_under(rb_mWX,"TextArea");
398
+ rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
399
+
400
+ rb_define_attr(rb_cWXRichTextCtrl,"value",1,1);
401
+ rb_define_attr(rb_cWXRichTextCtrl,"filename",1,1);
402
+ rb_define_attr(rb_cWXRichTextCtrl,"text_cursor",1,1);
403
+ rb_define_attr(rb_cWXRichTextCtrl,"url_cursor",1,1);
404
+ rb_define_attr(rb_cWXRichTextCtrl,"context_menu",1,1);
405
+ rb_define_attr(rb_cWXRichTextCtrl,"caret_position",1,1);
406
+ rb_define_attr(rb_cWXRichTextCtrl,"basic_style",1,1);
407
+ rb_define_attr(rb_cWXRichTextCtrl,"style_sheet",1,1);
408
+ #endif
409
+
410
+ #if wxUSE_RICHTEXT
411
+ using namespace RubyWX::RichTextCtrl;
412
+ rb_cWXRichTextCtrl = rb_define_class_under(rb_mWX,"RichTextCtrl",rb_cWXControl);
413
+ rb_define_alloc_func(rb_cWXRichTextCtrl,_alloc);
414
+
415
+ rb_include_module(rb_cWXRichTextCtrl,rb_mWXTextArea);
416
+ rb_include_module(rb_cWXRichTextCtrl,rb_mWXTextEntry);
417
+
418
+ rb_define_method(rb_cWXRichTextCtrl,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
419
+
420
+ rb_define_method(rb_cWXRichTextCtrl,"single_line?",RUBY_METHOD_FUNC(_IsSingleLine),0);
421
+ rb_define_method(rb_cWXRichTextCtrl,"multi_line?",RUBY_METHOD_FUNC(_IsMultiLine),0);
422
+
423
+ rb_define_method(rb_cWXRichTextCtrl,"batching_undo?",RUBY_METHOD_FUNC(_BatchingUndo),0);
424
+ rb_define_method(rb_cWXRichTextCtrl,"suppressing_undo?",RUBY_METHOD_FUNC(_SuppressingUndo),0);
425
+
426
+ rb_define_method(rb_cWXRichTextCtrl,"newline",RUBY_METHOD_FUNC(_Newline),0);
427
+ rb_define_method(rb_cWXRichTextCtrl,"line_break",RUBY_METHOD_FUNC(_LineBreak),0);
428
+
429
+ rb_define_method(rb_cWXRichTextCtrl,"selection_bold?",RUBY_METHOD_FUNC(_IsSelectionBold),0);
430
+ rb_define_method(rb_cWXRichTextCtrl,"selection_italic?",RUBY_METHOD_FUNC(_IsSelectionItalics),0);
431
+ rb_define_method(rb_cWXRichTextCtrl,"selection_underline?",RUBY_METHOD_FUNC(_IsSelectionUnderlined),0);
432
+
433
+ rb_define_method(rb_cWXRichTextCtrl,"block_bold",RUBY_METHOD_FUNC(_blockBold),0);
434
+ rb_define_method(rb_cWXRichTextCtrl,"block_italic",RUBY_METHOD_FUNC(_blockItalic),0);
435
+ rb_define_method(rb_cWXRichTextCtrl,"block_underline",RUBY_METHOD_FUNC(_blockUnderline),0);
436
+
437
+ rb_define_method(rb_cWXRichTextCtrl,"block_font_size",RUBY_METHOD_FUNC(_blockFontSize),1);
438
+ rb_define_method(rb_cWXRichTextCtrl,"block_font",RUBY_METHOD_FUNC(_blockFont),1);
439
+ rb_define_method(rb_cWXRichTextCtrl,"block_text_color",RUBY_METHOD_FUNC(_blockTextColour),1);
440
+
441
+ rb_define_method(rb_cWXRichTextCtrl,"block_character_style",RUBY_METHOD_FUNC(_blockCharacterStyle),1);
442
+ rb_define_method(rb_cWXRichTextCtrl,"block_paragraph_style",RUBY_METHOD_FUNC(_blockParagraphStyle),1);
443
+
444
+ rb_define_method(rb_cWXRichTextCtrl,"batch_undo",RUBY_METHOD_FUNC(_blockBatchUndo),1);
445
+ rb_define_method(rb_cWXRichTextCtrl,"suppress_undo",RUBY_METHOD_FUNC(_blockSuppressUndo),0);
446
+
447
+ rb_define_attr_method(rb_cWXRichTextCtrl,"value",_getValue,_setValue);
448
+ rb_define_attr_method(rb_cWXRichTextCtrl,"filename",_getFilename,_setFilename);
449
+ rb_define_attr_method(rb_cWXRichTextCtrl,"text_cursor",_getTextCursor,_setTextCursor);
450
+ rb_define_attr_method(rb_cWXRichTextCtrl,"url_cursor",_getURLCursor,_setURLCursor);
451
+ rb_define_attr_method(rb_cWXRichTextCtrl,"context_menu",_getContextMenu,_setContextMenu);
452
+ rb_define_attr_method(rb_cWXRichTextCtrl,"context_menu",_getCaretPosition,_setCaretPosition);
453
+ rb_define_attr_method(rb_cWXRichTextCtrl,"basic_style",_getBasicStyle,_setBasicStyle);
454
+ rb_define_attr_method(rb_cWXRichTextCtrl,"style_sheet",_getStyleSheet,_setStyleSheet);
455
+
456
+ rb_define_const(rb_cWXRichTextCtrl,"READONLY",INT2NUM(wxRE_READONLY));
457
+ rb_define_const(rb_cWXRichTextCtrl,"MULTILINE",INT2NUM(wxRE_MULTILINE));
458
+ rb_define_const(rb_cWXRichTextCtrl,"CENTER_CARET",INT2NUM(wxRE_CENTRE_CARET));
459
+
460
+ rb_cWXRichTextCtrlEvent = rb_define_class_under(rb_cWXEvent,"RichTextCtrl",rb_cWXNotifyEvent);
461
+
462
+ registerEventType("richtext_left_click",wxEVT_RICHTEXT_LEFT_CLICK,rb_cWXRichTextCtrlEvent);
463
+ registerEventType("richtext_right_click",wxEVT_RICHTEXT_RIGHT_CLICK,rb_cWXRichTextCtrlEvent);
464
+ registerEventType("richtext_middle_click",wxEVT_RICHTEXT_MIDDLE_CLICK,rb_cWXRichTextCtrlEvent);
465
+ registerEventType("richtext_left_dclick",wxEVT_RICHTEXT_LEFT_DCLICK,rb_cWXRichTextCtrlEvent);
466
+ registerEventType("richtext_return",wxEVT_RICHTEXT_RETURN,rb_cWXRichTextCtrlEvent);
467
+ registerEventType("richtext_character",wxEVT_RICHTEXT_CHARACTER,rb_cWXRichTextCtrlEvent);
468
+ registerEventType("richtext_delete",wxEVT_RICHTEXT_DELETE,rb_cWXRichTextCtrlEvent);
469
+ registerEventType("richtext_stylesheet_changing",wxEVT_RICHTEXT_STYLESHEET_CHANGING,rb_cWXRichTextCtrlEvent);
470
+ registerEventType("richtext_stylesheet_changed",wxEVT_RICHTEXT_STYLESHEET_CHANGED,rb_cWXRichTextCtrlEvent);
471
+ registerEventType("richtext_stylesheet_replacing",wxEVT_RICHTEXT_STYLESHEET_REPLACING,rb_cWXRichTextCtrlEvent);
472
+ registerEventType("richtext_stylesheet_replaced",wxEVT_RICHTEXT_STYLESHEET_REPLACED,rb_cWXRichTextCtrlEvent);
473
+ registerEventType("richtext_content_inserted",wxEVT_RICHTEXT_CONTENT_INSERTED,rb_cWXRichTextCtrlEvent);
474
+ registerEventType("richtext_content_deleted",wxEVT_RICHTEXT_CONTENT_DELETED,rb_cWXRichTextCtrlEvent);
475
+ registerEventType("richtext_style_changed",wxEVT_RICHTEXT_STYLE_CHANGED,rb_cWXRichTextCtrlEvent);
476
+ registerEventType("richtext_properties_changed",wxEVT_RICHTEXT_PROPERTIES_CHANGED,rb_cWXRichTextCtrlEvent);
477
+ registerEventType("richtext_selection_changed",wxEVT_RICHTEXT_SELECTION_CHANGED,rb_cWXRichTextCtrlEvent);
478
+ registerEventType("richtext_buffer_reset",wxEVT_RICHTEXT_BUFFER_RESET,rb_cWXRichTextCtrlEvent);
479
+ registerEventType("richtext_focus_object_changed",wxEVT_RICHTEXT_FOCUS_OBJECT_CHANGED,rb_cWXRichTextCtrlEvent);
480
+
481
+ registerInfo<wxRichTextCtrl>(rb_cWXRichTextCtrl);
482
+ #endif
483
+
484
+ }