rwx 0.0.1.dev

Sign up to get free protection for your applications and to get access to all the features.
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,82 @@
1
+ /*
2
+ * wxBitmapToggleButton.cpp
3
+ *
4
+ * Created on: 10.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #include "wxBitmapToggleButton.hpp"
9
+ #include "wxBitmap.hpp"
10
+
11
+ VALUE rb_cWXBitmapToggleButton;
12
+ #if wxUSE_TOGGLEBTN & defined(wxHAS_BITMAPTOGGLEBUTTON)
13
+ #define _self unwrap<wxBitmapToggleButton*>(self)
14
+
15
+ namespace RubyWX {
16
+ namespace BitmapToggleButton {
17
+
18
+ APP_PROTECT(wxBitmapToggleButton)
19
+
20
+
21
+ /*
22
+ * call-seq:
23
+ * BitmapToggleButton.new(parent, name, [options])
24
+ * BitmapToggleButton.new(parent, [options])
25
+ *
26
+ * creates a new BitmapToggleButton widget.
27
+ * ===Arguments
28
+ * * parent of this window or nil
29
+ * * name is a String describing a resource in a loaded xrc
30
+ *
31
+ * *options: Hash with possible options to set:
32
+ * * bitmap WX::Bitmap
33
+ */
34
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
35
+ {
36
+ VALUE parent,name,hash;
37
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
38
+ if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
39
+ wxWindowID id(wxID_ANY);
40
+ wxBitmap bitmap(wxNullBitmap);
41
+
42
+ if(rb_obj_is_kind_of(hash,rb_cHash)) {
43
+ VALUE temp;
44
+ set_hash_option(hash,"id",id,unwrapID);
45
+
46
+ temp = rb_hash_aref(hash,ID2SYM(rb_intern("bitmap")));
47
+ bitmap = wrapBitmap(temp,id,WRAP_BITMAP_ID,wxART_BUTTON);
48
+ }
49
+
50
+ _self->Create(unwrap<wxWindow*>(parent),id,bitmap);
51
+
52
+ }
53
+
54
+ rb_call_super(argc,argv);
55
+ return self;
56
+ }
57
+
58
+ }
59
+ }
60
+
61
+ #endif
62
+
63
+ DLL_LOCAL void Init_WXBitmapToggleButton(VALUE rb_mWX)
64
+ {
65
+ #if 0
66
+ rb_mWX = rb_define_module("WX");
67
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
68
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
69
+
70
+ rb_cWXToggleButton = rb_define_class_under(rb_mWX,"ToggleButton",rb_cWXAnyButton);
71
+ #endif
72
+ #if wxUSE_TOGGLEBTN & defined(wxHAS_BITMAPTOGGLEBUTTON)
73
+ using namespace RubyWX::BitmapToggleButton;
74
+ rb_cWXBitmapToggleButton = rb_define_class_under(rb_mWX,"BitmapToggleButton",rb_cWXToggleButton);
75
+ rb_define_alloc_func(rb_cWXBitmapToggleButton,_alloc);
76
+
77
+ rb_define_method(rb_cWXBitmapToggleButton,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
78
+
79
+ registerInfo<wxBitmapToggleButton>(rb_cWXBitmapToggleButton);
80
+
81
+ #endif
82
+ }
@@ -0,0 +1,17 @@
1
+ /*
2
+ * wxBitmapToggleButton.hpp
3
+ *
4
+ * Created on: 10.12.2013
5
+ * Author: hanmac
6
+ */
7
+
8
+ #ifndef WXBITMAPTOGGLEBUTTON_HPP_
9
+ #define WXBITMAPTOGGLEBUTTON_HPP_
10
+
11
+ #include "wxToggleButton.hpp"
12
+
13
+ extern VALUE rb_cWXBitmapToggleButton;
14
+
15
+ void Init_WXBitmapToggleButton(VALUE rb_mWX);
16
+
17
+ #endif /* WXBITMAPTOGGLEBUTTON_HPP_ */
@@ -0,0 +1,633 @@
1
+ /*
2
+ * wxBookCtrl.cpp
3
+ *
4
+ * Created on: 26.03.2012
5
+ * Author: hanmac
6
+ */
7
+
8
+
9
+
10
+ #include "wxEvtHandler.hpp"
11
+ #include "wxNotifyEvent.hpp"
12
+ #include "wxSizer.hpp"
13
+
14
+
15
+ #include "wxBookCtrl.hpp"
16
+ #include "wxChoiceBook.hpp"
17
+ #include "wxNoteBook.hpp"
18
+ #include "wxListBook.hpp"
19
+ #include "wxToolBook.hpp"
20
+ #include "wxAuiBook.hpp"
21
+ #include "wxTreeBook.hpp"
22
+
23
+
24
+ #include "wxBitmap.hpp"
25
+
26
+ VALUE rb_cWXBookCtrlBase,rb_cWXBookCtrlEvent;
27
+
28
+ #if wxUSE_BOOKCTRL
29
+
30
+ template <>
31
+ wxBookCtrlBase* unwrap<wxBookCtrlBase*>(const VALUE &arg)
32
+ {
33
+ return unwrapTypedPtr<wxBookCtrlBase>(arg,rb_cWXBookCtrlBase);
34
+ }
35
+
36
+ #define _self unwrap<wxBookCtrlBase*>(self)
37
+
38
+ namespace RubyWX {
39
+ namespace BookCtrl {
40
+
41
+ macro_attr(ImageList,wxImageList*)
42
+ macro_attr(InternalBorder,unsigned int)
43
+ macro_attr(ControlMargin,int)
44
+ macro_attr_selection(Selection,GetPageCount)
45
+
46
+ macro_attr(FitToCurrentPage,bool)
47
+
48
+ singlereturn(IsVertical)
49
+ singlereturn(GetControlSizer)
50
+ singlereturn(GetCurrentPage)
51
+ singlereturn(GetControllerSize)
52
+
53
+
54
+ /*
55
+ * call-seq:
56
+ * BookCtrl.new(parent, name, [options])
57
+ * BookCtrl.new(parent, [options])
58
+ *
59
+ * creates a new BookCtrl widget.
60
+ * ===Arguments
61
+ * * parent of this window or nil
62
+ * * name is a String describing a resource in a loaded xrc
63
+ *
64
+ * *options: Hash with possible options to set:
65
+ * * image_list [WX::Bitmap]
66
+ *
67
+ */
68
+ DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
69
+ {
70
+ VALUE parent,name,hash;
71
+ rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
72
+
73
+ rb_call_super(argc,argv);
74
+
75
+
76
+ if(rb_obj_is_kind_of(hash,rb_cHash))
77
+ {
78
+ VALUE temp;
79
+ set_option(image_list,ImageList,wxImageList*)
80
+ }
81
+
82
+ return self;
83
+ }
84
+
85
+ /*
86
+ * call-seq:
87
+ * page(pos) -> WX::Window
88
+ *
89
+ * returns the page with the given index.
90
+ * ===Arguments
91
+ * * pos is a Integer
92
+ *
93
+ * ===Return value
94
+ * WX::Window
95
+ * === Exceptions
96
+ * [IndexError]
97
+ * * pos is greater than the count of pages
98
+ */
99
+ DLL_LOCAL VALUE _page(VALUE self,VALUE idx)
100
+ {
101
+ int cidx(NUM2INT(idx));
102
+
103
+ if(check_index(cidx,_self->GetPageCount()))
104
+ return wrap(_self->GetPage(cidx));
105
+ return Qnil;
106
+ }
107
+
108
+ DLL_LOCAL VALUE _each_size(VALUE self)
109
+ {
110
+ return UINT2NUM(_self->GetPageCount());
111
+ }
112
+
113
+
114
+ /*
115
+ * call-seq:
116
+ * each_page -> Enumerator
117
+ * each_page { |child| } -> self
118
+ *
119
+ * iterates the pages in this book control.
120
+ * ===Return value
121
+ * self
122
+ *
123
+ */
124
+ DLL_LOCAL VALUE _each(VALUE self)
125
+ {
126
+ RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_each_size));
127
+ std::size_t count = _self->GetPageCount();
128
+ for(std::size_t i = 0; i < count; ++i)
129
+ rb_yield(wrap(_self->GetPage(i)));
130
+ return self;
131
+ }
132
+
133
+ /*
134
+ * call-seq:
135
+ * get_page_text(pos) -> String
136
+ *
137
+ * returns the text of the given page.
138
+ * ===Arguments
139
+ * * pos is a Integer
140
+ *
141
+ * ===Return value
142
+ * String
143
+ * === Exceptions
144
+ * [IndexError]
145
+ * * pos is greater than the count of pages
146
+ */
147
+ DLL_LOCAL VALUE _get_page_text(VALUE self,VALUE idx)
148
+ {
149
+ int cidx(NUM2INT(idx));
150
+ if(check_index(cidx,_self->GetPageCount()))
151
+ return wrap(_self->GetPageText(cidx));
152
+ return Qnil;
153
+ }
154
+
155
+ /*
156
+ * call-seq:
157
+ * set_page_text(pos,text) -> self
158
+ *
159
+ * returns the text of the given page.
160
+ * ===Arguments
161
+ * * pos is a Integer
162
+ * * text is a String
163
+ *
164
+ * ===Return value
165
+ * self
166
+ * === Exceptions
167
+ * [IndexError]
168
+ * * pos is greater than the count of pages
169
+ */
170
+ DLL_LOCAL VALUE _set_page_text(VALUE self,VALUE idx,VALUE str)
171
+ {
172
+ rb_check_frozen(self);
173
+ int cidx(NUM2INT(idx));
174
+ if(check_index(cidx,_self->GetPageCount()))
175
+ _self->SetPageText(cidx,unwrap<wxString>(str));
176
+ return self;
177
+ }
178
+
179
+ /*
180
+ * call-seq:
181
+ * get_page_image(pos) -> Integer
182
+ *
183
+ * returns the image idx of the given page.
184
+ * ===Arguments
185
+ * * pos is a Integer
186
+ *
187
+ * ===Return value
188
+ * Integer
189
+ * === Exceptions
190
+ * [IndexError]
191
+ * * pos is greater than the count of pages
192
+ */
193
+ DLL_LOCAL VALUE _get_page_image(VALUE self,VALUE idx)
194
+ {
195
+ #if wxUSE_AUI
196
+ //TODO should be fixed in wx
197
+ if(rb_obj_is_kind_of(self,rb_cWXAuiNotebook))
198
+ rb_raise(rb_eArgError,"get_page_image is not supported for %s",rb_class2name(rb_cWXAuiNotebook));
199
+ #endif
200
+ int cidx(NUM2INT(idx));
201
+ if(check_index(cidx,_self->GetPageCount()))
202
+ return INT2NUM(_self->GetPageImage(cidx));
203
+ return Qnil;
204
+ }
205
+
206
+ /*
207
+ * call-seq:
208
+ * set_page_image(pos,iid) -> self
209
+ *
210
+ * sets the image idx of the given page.
211
+ * ===Arguments
212
+ * * pos is a Integer
213
+ * * iid Integer index of the image in the image_list
214
+ *
215
+ * ===Return value
216
+ * self
217
+ * === Exceptions
218
+ * [IndexError]
219
+ * * pos is greater than the count of pages
220
+ * * iid is greater than the count of images in the image_list
221
+ */
222
+ DLL_LOCAL VALUE _set_page_image(VALUE self,VALUE idx,VALUE iid)
223
+ {
224
+ rb_check_frozen(self);
225
+ int cidx(NUM2INT(idx));
226
+
227
+ if(check_index(cidx,_self->GetPageCount()))
228
+ {
229
+ int ciid(NUM2INT(iid));
230
+ wxImageList *imglist = _self->GetImageList();
231
+ if(imglist && check_index(ciid,imglist->GetImageCount()))
232
+ {
233
+ _self->SetPageImage(cidx,ciid);
234
+ }
235
+ }
236
+ return self;
237
+ }
238
+
239
+
240
+
241
+ DLL_LOCAL bool check_imagelist(wxBookCtrlBase* self, VALUE imageid, int& iid)
242
+ {
243
+ if(NIL_P(imageid))
244
+ return true;
245
+
246
+ iid = NUM2INT(imageid);
247
+ wxImageList *imglist = self->GetImageList();
248
+ if(imglist)
249
+ return check_index(iid,imglist->GetImageCount());
250
+ return true;
251
+ }
252
+
253
+ DLL_LOCAL bool check_window(VALUE self,VALUE hash, VALUE window, wxWindow*& w)
254
+ {
255
+
256
+ if(rb_obj_is_kind_of(window,rb_cClass) && rb_class_inherited(window,rb_cWXWindow)) {
257
+ VALUE argv2[] = {self, hash };
258
+ w = unwrap<wxWindow*>(rb_class_new_instance(2,argv2,window));
259
+ return true;
260
+ #if wxUSE_TREEBOOK
261
+ }else if(nil_check(window,!rb_obj_is_kind_of(self,rb_cWXTreebook))) //TODO Tree Ctrl allows nil page, but i can't check that
262
+ #else
263
+ }else if(nil_check(window))
264
+ #endif
265
+ {
266
+ return window_parent_check(window,_self,w);
267
+ }
268
+ return false;
269
+ }
270
+
271
+ /*
272
+ * call-seq:
273
+ * add_page(window, text, [select], [bitmap]) -> true/false
274
+ * add_page(WindowClass, text, [select], [bitmap],**options) [{|window| }] -> true/false
275
+ *
276
+ * adds a new page to the BookCtrl widget.
277
+ *
278
+ * ===Arguments
279
+ * * window is a WX::Window instance
280
+ * * text is the Label of the page. String
281
+ * * select is true/false and says if the new page should be selected
282
+ * * bitmap is a Integer and says the position of the bitmap in the image_list
283
+ * ===Return value
284
+ * true/false
285
+ * === Exceptions
286
+ * [IndexError]
287
+ * * bitmap is greater than the list of bitmaps in the image_list
288
+ * [TypeError]
289
+ * * window is nil when the BookCtrl does not support it (currently only supported for TreeBookCtrl)
290
+ * [ArgumentError]
291
+ * * window does not have this BookCtrl as parent
292
+ *
293
+ */
294
+ DLL_LOCAL VALUE _addPage(int argc,VALUE *argv,VALUE self)
295
+ {
296
+ VALUE window,text,select,imageid,hash;
297
+ wxWindow *w = NULL;
298
+ bool sel = false;
299
+ int iid = -1;
300
+ rb_scan_args(argc, argv, "22:",&window,&text,&select,&imageid,&hash);
301
+
302
+ rb_check_frozen(self);
303
+
304
+ if(!NIL_P(select))
305
+ sel = RTEST(select);
306
+
307
+ check_imagelist(_self,imageid,iid);
308
+ check_window(self,hash,window,w);
309
+
310
+ return wrap(_self->AddPage(w,unwrap<wxString>(text),sel,iid));
311
+ }
312
+
313
+
314
+ /*
315
+ * call-seq:
316
+ * insert_page(pos, window, text, [select], [bitmap]) -> true/false
317
+ * insert_page(pos, WindowClass, text, [select], [bitmap],**options) [{|window| }] -> true/false
318
+ *
319
+ * inserts a new page to the BookCtrl widget into the given position.
320
+ *
321
+ * ===Arguments
322
+ * * pos is a Integer
323
+ * * window is a WX::Window instance
324
+ * * text is the Label of the page. String
325
+ * * select is true/false and says if the new page should be selected
326
+ * * bitmap is a Integer and says the position of the bitmap in the image_list
327
+ * ===Return value
328
+ * true/false
329
+ * === Exceptions
330
+ * [IndexError]
331
+ * * pos is greater than the count of pages
332
+ * * bitmap is greater than the list of bitmaps in the image_list
333
+ * [TypeError]
334
+ * * window is nil when the BookCtrl does not support it (currently only supported for TreeBookCtrl)
335
+ * [ArgumentError]
336
+ * * window does not have this BookCtrl as parent
337
+ *
338
+ */
339
+ DLL_LOCAL VALUE _insertPage(int argc,VALUE *argv,VALUE self)
340
+ {
341
+ VALUE idx,window,text,select,imageid,hash;
342
+ wxWindow *w = NULL;
343
+ bool sel = false;
344
+ int iid = -1;
345
+ rb_scan_args(argc, argv, "32:",&idx,&window,&text,&select,&imageid,&hash);
346
+
347
+ rb_check_frozen(self);
348
+
349
+ int cidx = NUM2INT(idx);
350
+ if(check_index(cidx,_self->GetPageCount()+1))
351
+ {
352
+ if(!NIL_P(select))
353
+ sel = RTEST(select);
354
+
355
+ check_imagelist(_self,imageid,iid);
356
+ check_window(self,hash,window,w);
357
+
358
+ return wrap(_self->InsertPage(cidx,w,unwrap<wxString>(text),sel,iid));
359
+ }
360
+ return Qnil;
361
+ }
362
+
363
+
364
+ /*
365
+ * call-seq:
366
+ * prepend_page(window, text, [select], [bitmap]) -> true/false
367
+ * prepend_page(WindowClass, text, [select], [bitmap],**options) [{|window| }] -> true/false
368
+ *
369
+ * prepends a new page to the BookCtrl widget.
370
+ *
371
+ * ===Arguments
372
+ * * window is a WX::Window instance
373
+ * * text is the Label of the page. String
374
+ * * select is true/false and says if the new page should be selected
375
+ * * bitmap is a Integer and says the position of the bitmap in the image_list
376
+ * ===Return value
377
+ * true/false
378
+ * === Exceptions
379
+ * [IndexError]
380
+ * * bitmap is greater than the list of bitmaps in the image_list
381
+ * [TypeError]
382
+ * * window is nil when the BookCtrl does not support it (currently only supported for TreeBookCtrl)
383
+ * [ArgumentError]
384
+ * * window does not have this BookCtrl as parent
385
+ *
386
+ */
387
+ DLL_LOCAL VALUE _prependPage(int argc,VALUE *argv,VALUE self)
388
+ {
389
+ VALUE window,text,select,imageid,hash;
390
+ wxWindow *w = NULL;
391
+ bool sel = false;
392
+ int iid = -1;
393
+ rb_scan_args(argc, argv, "22:",&window,&text,&select,&imageid,&hash);
394
+
395
+ rb_check_frozen(self);
396
+
397
+ if(!NIL_P(select))
398
+ sel = RTEST(select);
399
+
400
+ check_imagelist(_self,imageid,iid);
401
+ check_window(self,hash,window,w);
402
+
403
+ return wrap(_self->InsertPage(0,w,unwrap<wxString>(text),sel,iid));
404
+ }
405
+
406
+ /*
407
+ * call-seq:
408
+ * delete_page(pos) -> WX::Window
409
+ *
410
+ * deletes and returns the page with the given index from the BookCtrl.
411
+ * ===Arguments
412
+ * * pos is a Integer
413
+ *
414
+ * ===Return value
415
+ * WX::Window
416
+ * === Exceptions
417
+ * [IndexError]
418
+ * * pos is greater than the count of pages
419
+ */
420
+ DLL_LOCAL VALUE _deletePage(VALUE self,VALUE idx)
421
+ {
422
+ rb_check_frozen(self);
423
+ int cidx = NUM2INT(idx);
424
+ if(check_index(cidx,_self->GetPageCount()))
425
+ {
426
+ wxWindow *w = _self->GetPage(cidx);
427
+ if(_self->RemovePage(cidx))
428
+ return wrap(w);
429
+ }
430
+ return Qnil;
431
+ }
432
+
433
+
434
+
435
+ singlefunc(DeleteAllPages)
436
+ singlefunc(AdvanceSelection)
437
+
438
+ /*
439
+ * call-seq:
440
+ * prev_page -> self
441
+ *
442
+ * selects the previous page of the current selected.
443
+ * ===Return value
444
+ * self
445
+ */
446
+ DLL_LOCAL VALUE _prev_page(VALUE self)
447
+ {
448
+ rb_check_frozen(self);
449
+ _self->AdvanceSelection(false);
450
+ return self;
451
+ }
452
+
453
+ /* Document-method: delete_all_pages
454
+ * call-seq:
455
+ * delete_all_pages -> self
456
+ *
457
+ * deletes all pages from the BookCtrl. Returns self.
458
+ * ===Return value
459
+ * self
460
+ */
461
+
462
+ /* Document-method: next_page
463
+ * call-seq:
464
+ * next_page -> self
465
+ *
466
+ * selects the next page of the current selected.
467
+ * ===Return value
468
+ * self
469
+ */
470
+
471
+
472
+
473
+ /* Document-method: vertical?
474
+ * call-seq:
475
+ * vertical? -> true/false
476
+ *
477
+ * returns true is vertical orientation is used.
478
+ * ===Return value
479
+ * true/false
480
+ */
481
+
482
+ /* Document-method: current_page
483
+ * call-seq:
484
+ * current_page -> WX::Window/nil
485
+ *
486
+ * returns the current selected page or nil if none is selected.
487
+ * ===Return value
488
+ * WX::Window/nil
489
+ */
490
+
491
+
492
+ /* Document-method: control_sizer
493
+ * call-seq:
494
+ * current_page -> WX::Sizer/nil
495
+ *
496
+ * returns the sizer containing the control, if any
497
+ * ===Return value
498
+ * WX::Sizer/nil
499
+ */
500
+ /* Document-method: controller_size
501
+ * call-seq:
502
+ * controller_size -> WX::Size
503
+ *
504
+ * return the size of the area needed to accommodate the controller
505
+ * ===Return value
506
+ * WX::Size
507
+ */
508
+
509
+
510
+
511
+ /* Document-attr: image_list
512
+ * [WX::Bitmap] array of bitmap images,
513
+ * bitmap parameter for add, insert & prepend of pages must be smaller than size of array.
514
+ */
515
+ /* Document-attr: selection
516
+ * Integer/nil returns the index of the current selected page, or nil if none is selected.
517
+ */
518
+ /* Document-attr: internal_border
519
+ * Integer returns how many pixel the pages are depart of each other.
520
+ */
521
+ /* Document-attr: control_margin
522
+ * Integer returns the margin of the pages.
523
+ */
524
+
525
+ /* Document-const: TOP
526
+ * orient the book ctrl pages on top.
527
+ */
528
+ /* Document-const: BOTTOM
529
+ * orient the book ctrl pages on bottom.
530
+ */
531
+ /* Document-const: LEFT
532
+ * orient the book ctrl pages on left.
533
+ */
534
+ /* Document-const: RIGHT
535
+ * orient the book ctrl pages on right.
536
+ */
537
+
538
+ //for event
539
+
540
+ /* Document-attr: old_selection
541
+ * Integer/nil returns the index of the current selected page, or nil if none is selected.
542
+ */
543
+
544
+ namespace Event {
545
+ #undef _self
546
+ #define _self unwrapTypedPtr<wxBookCtrlEvent>(self,rb_cWXBookCtrlEvent)
547
+ macro_attr(Selection,int)
548
+ macro_attr(OldSelection,int)
549
+ }
550
+
551
+ }
552
+ }
553
+ #endif
554
+ DLL_LOCAL void Init_WXBookCtrl(VALUE rb_mWX)
555
+ {
556
+ #if 0
557
+ rb_mWX = rb_define_module("WX");
558
+ rb_mWXEvtHandler = rb_define_module_under(rb_mWX,"EvtHandler");
559
+
560
+ rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
561
+ rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
562
+
563
+ rb_define_attr(rb_cWXBookCtrlBase,"selection",1,1);
564
+ rb_define_attr(rb_cWXBookCtrlBase,"image_list",1,1);
565
+ rb_define_attr(rb_cWXBookCtrlBase,"intenal_border",1,1);
566
+ rb_define_attr(rb_cWXBookCtrlBase,"control_margin",1,1);
567
+
568
+ rb_define_attr(rb_cWXBookCtrlEvent,"selection",1,1);
569
+ rb_define_attr(rb_cWXBookCtrlEvent,"old_selection",1,1);
570
+
571
+ rb_cWXEvent = rb_define_class_under(rb_mWX,"Event",rb_cObject);
572
+ rb_cWXCommandEvent = rb_define_class_under(rb_cWXEvent,"Command",rb_cWXEvent);
573
+ rb_cWXNotifyEvent = rb_define_class_under(rb_cWXEvent,"Notify",rb_cWXCommandEvent);
574
+
575
+ #endif
576
+
577
+ #if wxUSE_BOOKCTRL
578
+ using namespace RubyWX::BookCtrl;
579
+ rb_cWXBookCtrlBase = rb_define_class_under(rb_mWX,"BookCtrl",rb_cWXControl);
580
+ rb_undef_alloc_func(rb_cWXBookCtrlBase);
581
+
582
+ rb_define_method(rb_cWXBookCtrlBase,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
583
+
584
+ rb_define_attr_method(rb_cWXBookCtrlBase,"selection",_getSelection,_setSelection);
585
+ rb_define_attr_method(rb_cWXBookCtrlBase,"image_list",_getImageList,_setImageList);
586
+ rb_define_attr_method(rb_cWXBookCtrlBase,"intenal_border",_getInternalBorder,_setInternalBorder);
587
+ rb_define_attr_method(rb_cWXBookCtrlBase,"control_margin",_getControlMargin,_setControlMargin);
588
+
589
+ rb_define_method(rb_cWXBookCtrlBase,"add_page",RUBY_METHOD_FUNC(_addPage),-1);
590
+ rb_define_method(rb_cWXBookCtrlBase,"insert_page",RUBY_METHOD_FUNC(_insertPage),-1);
591
+ rb_define_method(rb_cWXBookCtrlBase,"prepend_page",RUBY_METHOD_FUNC(_prependPage),-1);
592
+
593
+ rb_define_method(rb_cWXBookCtrlBase,"each_page",RUBY_METHOD_FUNC(_each),0);
594
+
595
+ rb_define_method(rb_cWXBookCtrlBase,"page",RUBY_METHOD_FUNC(_page),1);
596
+
597
+ rb_define_method(rb_cWXBookCtrlBase,"get_page_text",RUBY_METHOD_FUNC(_get_page_text),1);
598
+ rb_define_method(rb_cWXBookCtrlBase,"set_page_text",RUBY_METHOD_FUNC(_set_page_text),2);
599
+
600
+ rb_define_method(rb_cWXBookCtrlBase,"get_page_image",RUBY_METHOD_FUNC(_get_page_image),1);
601
+ rb_define_method(rb_cWXBookCtrlBase,"set_page_image",RUBY_METHOD_FUNC(_set_page_image),2);
602
+
603
+ rb_define_method(rb_cWXBookCtrlBase,"vertical?",RUBY_METHOD_FUNC(_IsVertical),0);
604
+
605
+ rb_define_method(rb_cWXBookCtrlBase,"current_page",RUBY_METHOD_FUNC(_GetCurrentPage),0);
606
+ rb_define_method(rb_cWXBookCtrlBase,"controller_size",RUBY_METHOD_FUNC(_GetControllerSize),0);
607
+ rb_define_method(rb_cWXBookCtrlBase,"control_sizer",RUBY_METHOD_FUNC(_GetControlSizer),0);
608
+
609
+ rb_define_method(rb_cWXBookCtrlBase,"delete_page",RUBY_METHOD_FUNC(_deletePage),1);
610
+ rb_define_method(rb_cWXBookCtrlBase,"delete_all_pages",RUBY_METHOD_FUNC(_DeleteAllPages),0);
611
+
612
+ rb_define_method(rb_cWXBookCtrlBase,"next_page",RUBY_METHOD_FUNC(_AdvanceSelection),0);
613
+ rb_define_method(rb_cWXBookCtrlBase,"prev_page",RUBY_METHOD_FUNC(_prev_page),0);
614
+
615
+ rb_define_const(rb_cWXBookCtrlBase,"TOP",INT2NUM(wxBK_TOP));
616
+ rb_define_const(rb_cWXBookCtrlBase,"BOTTOM",INT2NUM(wxBK_BOTTOM));
617
+ rb_define_const(rb_cWXBookCtrlBase,"LEFT",INT2NUM(wxBK_LEFT));
618
+ rb_define_const(rb_cWXBookCtrlBase,"RIGHT",INT2NUM(wxBK_RIGHT));
619
+
620
+
621
+ rb_cWXBookCtrlEvent = rb_define_class_under(rb_cWXEvent,"BookCtrl",rb_cWXNotifyEvent);
622
+
623
+ rb_define_attr_method(rb_cWXBookCtrlEvent,"selection",Event::_getSelection,Event::_setSelection);
624
+ rb_define_attr_method(rb_cWXBookCtrlEvent,"old_selection",Event::_getOldSelection,Event::_setOldSelection);
625
+
626
+ registerInfo<wxBookCtrlBase>(rb_cWXBookCtrlBase);
627
+ registerInfo<wxBookCtrlEvent>(rb_cWXBookCtrlEvent);
628
+ #endif
629
+
630
+ }
631
+
632
+
633
+