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.
- checksums.yaml +7 -0
- data/.gitignore +49 -0
- data/COPYING +0 -0
- data/README.rdoc +0 -0
- data/Rakefile +100 -0
- data/VERSION +1 -0
- data/ext/extconf.rb +112 -0
- data/ext/main.cpp +432 -0
- data/ext/main.hpp +454 -0
- data/ext/rwx.cpp +472 -0
- data/ext/wxAboutDlg.cpp +213 -0
- data/ext/wxAboutDlg.hpp +19 -0
- data/ext/wxAnyButton.cpp +141 -0
- data/ext/wxAnyButton.hpp +17 -0
- data/ext/wxAnyChoiceDialog.cpp +93 -0
- data/ext/wxAnyChoiceDialog.hpp +19 -0
- data/ext/wxApp.cpp +205 -0
- data/ext/wxApp.hpp +48 -0
- data/ext/wxAui.hpp +19 -0
- data/ext/wxAuiBook.cpp +453 -0
- data/ext/wxAuiBook.hpp +21 -0
- data/ext/wxAuiManager.cpp +79 -0
- data/ext/wxAuiManager.hpp +18 -0
- data/ext/wxAuiPane.cpp +343 -0
- data/ext/wxAuiPane.hpp +29 -0
- data/ext/wxAuiToolBar.cpp +47 -0
- data/ext/wxAuiToolBar.hpp +17 -0
- data/ext/wxBitmap.cpp +368 -0
- data/ext/wxBitmap.hpp +60 -0
- data/ext/wxBitmapButton.cpp +82 -0
- data/ext/wxBitmapButton.hpp +17 -0
- data/ext/wxBitmapComboBox.cpp +284 -0
- data/ext/wxBitmapComboBox.hpp +22 -0
- data/ext/wxBitmapToggleButton.cpp +82 -0
- data/ext/wxBitmapToggleButton.hpp +17 -0
- data/ext/wxBookCtrl.cpp +633 -0
- data/ext/wxBookCtrl.hpp +22 -0
- data/ext/wxBoxSizer.cpp +60 -0
- data/ext/wxBoxSizer.hpp +17 -0
- data/ext/wxBrush.cpp +281 -0
- data/ext/wxBrush.hpp +28 -0
- data/ext/wxButton.cpp +85 -0
- data/ext/wxButton.hpp +17 -0
- data/ext/wxButtonToolBar.cpp +54 -0
- data/ext/wxButtonToolBar.hpp +21 -0
- data/ext/wxCalendarCtrl.cpp +91 -0
- data/ext/wxCalendarCtrl.hpp +17 -0
- data/ext/wxCalendarCtrlBase.cpp +55 -0
- data/ext/wxCalendarCtrlBase.hpp +26 -0
- data/ext/wxCalendarCtrlGeneric.cpp +102 -0
- data/ext/wxCalendarCtrlGeneric.hpp +21 -0
- data/ext/wxCheckBox.cpp +157 -0
- data/ext/wxCheckBox.hpp +17 -0
- data/ext/wxCheckListBox.cpp +191 -0
- data/ext/wxCheckListBox.hpp +20 -0
- data/ext/wxChoice.cpp +133 -0
- data/ext/wxChoice.hpp +30 -0
- data/ext/wxChoiceBook.cpp +90 -0
- data/ext/wxChoiceBook.hpp +23 -0
- data/ext/wxCollapsiblePane.cpp +110 -0
- data/ext/wxCollapsiblePane.hpp +21 -0
- data/ext/wxColor.cpp +435 -0
- data/ext/wxColor.hpp +38 -0
- data/ext/wxColorDialog.cpp +97 -0
- data/ext/wxColorDialog.hpp +19 -0
- data/ext/wxColorPicker.cpp +131 -0
- data/ext/wxColorPicker.hpp +20 -0
- data/ext/wxColorPickerWidget.cpp +105 -0
- data/ext/wxColorPickerWidget.hpp +20 -0
- data/ext/wxComboBox.cpp +214 -0
- data/ext/wxComboBox.hpp +22 -0
- data/ext/wxCommandEvent.cpp +45 -0
- data/ext/wxCommandEvent.hpp +16 -0
- data/ext/wxConfig.cpp +19 -0
- data/ext/wxConfig.hpp +17 -0
- data/ext/wxContextHelpButton.cpp +93 -0
- data/ext/wxContextHelpButton.hpp +21 -0
- data/ext/wxControl.cpp +90 -0
- data/ext/wxControl.hpp +15 -0
- data/ext/wxCursor.cpp +108 -0
- data/ext/wxCursor.hpp +25 -0
- data/ext/wxDC.cpp +252 -0
- data/ext/wxDC.hpp +18 -0
- data/ext/wxDataView.cpp +224 -0
- data/ext/wxDataView.hpp +45 -0
- data/ext/wxDataViewList.cpp +190 -0
- data/ext/wxDataViewList.hpp +17 -0
- data/ext/wxDatePicker.cpp +103 -0
- data/ext/wxDatePicker.hpp +22 -0
- data/ext/wxDialog.cpp +120 -0
- data/ext/wxDialog.hpp +17 -0
- data/ext/wxDirDialog.cpp +152 -0
- data/ext/wxDirDialog.hpp +20 -0
- data/ext/wxDirPicker.cpp +134 -0
- data/ext/wxDirPicker.hpp +28 -0
- data/ext/wxDirPickerWidget.cpp +127 -0
- data/ext/wxDirPickerWidget.hpp +20 -0
- data/ext/wxError.cpp +67 -0
- data/ext/wxError.hpp +17 -0
- data/ext/wxEvent.cpp +60 -0
- data/ext/wxEvent.hpp +17 -0
- data/ext/wxEvtHandler.cpp +291 -0
- data/ext/wxEvtHandler.hpp +85 -0
- data/ext/wxFileCtrl.cpp +98 -0
- data/ext/wxFileCtrl.hpp +17 -0
- data/ext/wxFileCtrlBase.cpp +219 -0
- data/ext/wxFileCtrlBase.hpp +33 -0
- data/ext/wxFileCtrlGeneric.cpp +106 -0
- data/ext/wxFileCtrlGeneric.hpp +19 -0
- data/ext/wxFileDialog.cpp +268 -0
- data/ext/wxFileDialog.hpp +19 -0
- data/ext/wxFileDirPicker.cpp +89 -0
- data/ext/wxFileDirPicker.hpp +29 -0
- data/ext/wxFileHistory.cpp +134 -0
- data/ext/wxFileHistory.hpp +20 -0
- data/ext/wxFilePicker.cpp +160 -0
- data/ext/wxFilePicker.hpp +28 -0
- data/ext/wxFilePickerWidget.cpp +139 -0
- data/ext/wxFilePickerWidget.hpp +20 -0
- data/ext/wxFont.cpp +542 -0
- data/ext/wxFont.hpp +37 -0
- data/ext/wxFontDialog.cpp +143 -0
- data/ext/wxFontDialog.hpp +21 -0
- data/ext/wxFontPicker.cpp +160 -0
- data/ext/wxFontPicker.hpp +21 -0
- data/ext/wxFontPickerWidget.cpp +128 -0
- data/ext/wxFontPickerWidget.hpp +20 -0
- data/ext/wxFrame.cpp +274 -0
- data/ext/wxFrame.hpp +17 -0
- data/ext/wxGauge.cpp +167 -0
- data/ext/wxGauge.hpp +17 -0
- data/ext/wxGrid.cpp +250 -0
- data/ext/wxGrid.hpp +43 -0
- data/ext/wxGridCellAttr.cpp +68 -0
- data/ext/wxGridCellAttr.hpp +26 -0
- data/ext/wxGridCellRenderer.cpp +120 -0
- data/ext/wxGridCellRenderer.hpp +30 -0
- data/ext/wxGridTable.cpp +111 -0
- data/ext/wxGridTable.hpp +47 -0
- data/ext/wxHyperLink.cpp +148 -0
- data/ext/wxHyperLink.hpp +20 -0
- data/ext/wxImage.cpp +884 -0
- data/ext/wxImage.hpp +24 -0
- data/ext/wxInfoBar.cpp +85 -0
- data/ext/wxInfoBar.hpp +21 -0
- data/ext/wxInfoBarBase.cpp +145 -0
- data/ext/wxInfoBarBase.hpp +21 -0
- data/ext/wxInfoBarGeneric.cpp +90 -0
- data/ext/wxInfoBarGeneric.hpp +21 -0
- data/ext/wxItemContainer.cpp +313 -0
- data/ext/wxItemContainer.hpp +17 -0
- data/ext/wxKeyEvent.cpp +35 -0
- data/ext/wxKeyEvent.hpp +16 -0
- data/ext/wxListBook.cpp +90 -0
- data/ext/wxListBook.hpp +21 -0
- data/ext/wxListBox.cpp +290 -0
- data/ext/wxListBox.hpp +29 -0
- data/ext/wxMenu.cpp +600 -0
- data/ext/wxMenu.hpp +17 -0
- data/ext/wxMenuBar.cpp +180 -0
- data/ext/wxMenuBar.hpp +17 -0
- data/ext/wxMenuItem.cpp +174 -0
- data/ext/wxMenuItem.hpp +17 -0
- data/ext/wxMessageDialog.cpp +91 -0
- data/ext/wxMessageDialog.hpp +19 -0
- data/ext/wxMessageDialogBase.cpp +152 -0
- data/ext/wxMessageDialogBase.hpp +18 -0
- data/ext/wxMessageDialogGeneric.cpp +91 -0
- data/ext/wxMessageDialogGeneric.hpp +19 -0
- data/ext/wxMouseEvent.cpp +60 -0
- data/ext/wxMouseEvent.hpp +16 -0
- data/ext/wxMultiChoiceDialog.cpp +143 -0
- data/ext/wxMultiChoiceDialog.hpp +19 -0
- data/ext/wxNoteBook.cpp +89 -0
- data/ext/wxNoteBook.hpp +21 -0
- data/ext/wxNotifyEvent.cpp +45 -0
- data/ext/wxNotifyEvent.hpp +16 -0
- data/ext/wxNumberEntryDialog.cpp +131 -0
- data/ext/wxNumberEntryDialog.hpp +20 -0
- data/ext/wxPalette.cpp +214 -0
- data/ext/wxPalette.hpp +24 -0
- data/ext/wxPanel.cpp +77 -0
- data/ext/wxPanel.hpp +19 -0
- data/ext/wxPasswordEntryDialog.cpp +141 -0
- data/ext/wxPasswordEntryDialog.hpp +20 -0
- data/ext/wxPen.cpp +323 -0
- data/ext/wxPen.hpp +37 -0
- data/ext/wxPickerBase.cpp +121 -0
- data/ext/wxPickerBase.hpp +28 -0
- data/ext/wxPoint.cpp +224 -0
- data/ext/wxPoint.hpp +40 -0
- data/ext/wxPreferences.cpp +149 -0
- data/ext/wxPreferences.hpp +18 -0
- data/ext/wxProgressDialog.cpp +171 -0
- data/ext/wxProgressDialog.hpp +20 -0
- data/ext/wxProperty.cpp +723 -0
- data/ext/wxProperty.hpp +16 -0
- data/ext/wxPropertyCell.cpp +99 -0
- data/ext/wxPropertyCell.hpp +16 -0
- data/ext/wxPropertyGrid.cpp +234 -0
- data/ext/wxPropertyGrid.hpp +20 -0
- data/ext/wxPropertyGridInterface.cpp +146 -0
- data/ext/wxPropertyGridInterface.hpp +33 -0
- data/ext/wxPropertyGridManager.cpp +257 -0
- data/ext/wxPropertyGridManager.hpp +20 -0
- data/ext/wxPropertyGridPage.cpp +65 -0
- data/ext/wxPropertyGridPage.hpp +20 -0
- data/ext/wxRadioBox.cpp +405 -0
- data/ext/wxRadioBox.hpp +20 -0
- data/ext/wxRadioButton.cpp +107 -0
- data/ext/wxRadioButton.hpp +16 -0
- data/ext/wxRearrangeCtrl.cpp +89 -0
- data/ext/wxRearrangeCtrl.hpp +20 -0
- data/ext/wxRearrangeDialog.cpp +122 -0
- data/ext/wxRearrangeDialog.hpp +20 -0
- data/ext/wxRearrangeList.cpp +94 -0
- data/ext/wxRearrangeList.hpp +20 -0
- data/ext/wxRect.cpp +281 -0
- data/ext/wxRect.hpp +29 -0
- data/ext/wxRichMessageDialog.cpp +91 -0
- data/ext/wxRichMessageDialog.hpp +21 -0
- data/ext/wxRichTextAttr.cpp +69 -0
- data/ext/wxRichTextAttr.hpp +28 -0
- data/ext/wxRichTextCtrl.cpp +484 -0
- data/ext/wxRichTextCtrl.hpp +21 -0
- data/ext/wxRichTextStyle.cpp +86 -0
- data/ext/wxRichTextStyle.hpp +25 -0
- data/ext/wxRichTextStyleSheet.cpp +497 -0
- data/ext/wxRichTextStyleSheet.hpp +21 -0
- data/ext/wxSTC.cpp +331 -0
- data/ext/wxSTC.hpp +21 -0
- data/ext/wxScrollEvent.cpp +43 -0
- data/ext/wxScrollEvent.hpp +16 -0
- data/ext/wxSearchCtrl.cpp +189 -0
- data/ext/wxSearchCtrl.hpp +21 -0
- data/ext/wxSimpleBook.cpp +89 -0
- data/ext/wxSimpleBook.hpp +21 -0
- data/ext/wxSingleChoiceDialog.cpp +147 -0
- data/ext/wxSingleChoiceDialog.hpp +19 -0
- data/ext/wxSize.cpp +206 -0
- data/ext/wxSize.hpp +32 -0
- data/ext/wxSizer.cpp +368 -0
- data/ext/wxSizer.hpp +23 -0
- data/ext/wxSizerItem.cpp +37 -0
- data/ext/wxSizerItem.hpp +18 -0
- data/ext/wxSlider.cpp +204 -0
- data/ext/wxSlider.hpp +21 -0
- data/ext/wxSpinButton.cpp +158 -0
- data/ext/wxSpinButton.hpp +20 -0
- data/ext/wxSpinCtrl.cpp +132 -0
- data/ext/wxSpinCtrl.hpp +21 -0
- data/ext/wxStartUpTip.cpp +44 -0
- data/ext/wxStartUpTip.hpp +16 -0
- data/ext/wxStaticBitmap.cpp +79 -0
- data/ext/wxStaticBitmap.hpp +17 -0
- data/ext/wxStaticBitmapBase.cpp +46 -0
- data/ext/wxStaticBitmapBase.hpp +22 -0
- data/ext/wxStaticBitmapGeneric.cpp +82 -0
- data/ext/wxStaticBitmapGeneric.hpp +17 -0
- data/ext/wxStaticBox.cpp +92 -0
- data/ext/wxStaticBox.hpp +22 -0
- data/ext/wxStaticLine.cpp +100 -0
- data/ext/wxStaticLine.hpp +22 -0
- data/ext/wxStaticText.cpp +82 -0
- data/ext/wxStaticText.hpp +21 -0
- data/ext/wxStatusBar.cpp +417 -0
- data/ext/wxStatusBar.hpp +17 -0
- data/ext/wxStream.cpp +41 -0
- data/ext/wxStream.hpp +46 -0
- data/ext/wxTaskBar.cpp +104 -0
- data/ext/wxTaskBar.hpp +41 -0
- data/ext/wxTextArea.cpp +141 -0
- data/ext/wxTextArea.hpp +21 -0
- data/ext/wxTextAttr.cpp +320 -0
- data/ext/wxTextAttr.hpp +28 -0
- data/ext/wxTextCtrl.cpp +177 -0
- data/ext/wxTextCtrl.hpp +30 -0
- data/ext/wxTextEntry.cpp +248 -0
- data/ext/wxTextEntry.hpp +19 -0
- data/ext/wxTextEntryDialog.cpp +133 -0
- data/ext/wxTextEntryDialog.hpp +20 -0
- data/ext/wxTimePicker.cpp +105 -0
- data/ext/wxTimePicker.hpp +22 -0
- data/ext/wxTimer.cpp +106 -0
- data/ext/wxTimer.hpp +16 -0
- data/ext/wxToggleButton.cpp +96 -0
- data/ext/wxToggleButton.hpp +21 -0
- data/ext/wxToolBar.cpp +85 -0
- data/ext/wxToolBar.hpp +17 -0
- data/ext/wxToolBarBase.cpp +615 -0
- data/ext/wxToolBarBase.hpp +17 -0
- data/ext/wxToolBarTool.cpp +179 -0
- data/ext/wxToolBarTool.hpp +16 -0
- data/ext/wxToolBook.cpp +96 -0
- data/ext/wxToolBook.hpp +23 -0
- data/ext/wxToplevel.cpp +125 -0
- data/ext/wxToplevel.hpp +25 -0
- data/ext/wxTreeBook.cpp +240 -0
- data/ext/wxTreeBook.hpp +21 -0
- data/ext/wxTreeCtrl.cpp +443 -0
- data/ext/wxTreeCtrl.hpp +66 -0
- data/ext/wxVariant.cpp +65 -0
- data/ext/wxVariant.hpp +17 -0
- data/ext/wxWindow.cpp +980 -0
- data/ext/wxWindow.hpp +35 -0
- data/ext/wxWizard.cpp +321 -0
- data/ext/wxWizard.hpp +19 -0
- data/ext/wxWizardPage.cpp +137 -0
- data/ext/wxWizardPage.hpp +38 -0
- data/ext/wxXRC.cpp +48 -0
- data/ext/wxXRC.hpp +21 -0
- data/old_tests/button.rb +56 -0
- data/old_tests/file.png +0 -0
- data/old_tests/green.xpm +25 -0
- data/old_tests/new16x16.png +0 -0
- data/old_tests/project.xml +10 -0
- data/old_tests/propertygrid.rb +51 -0
- data/old_tests/red.xpm +25 -0
- data/old_tests/ruby32x32.png +0 -0
- data/old_tests/status.rb +45 -0
- data/old_tests/test.rb +580 -0
- data/old_tests/wizard.xrc +40 -0
- data/old_tests/xrc.rb +38 -0
- data/rwx.gemspec +43 -0
- data/samples/controls/controls.rb +143 -0
- data/samples/controls/icons/choice.bmp +0 -0
- data/samples/controls/icons/choice.xpm +27 -0
- data/samples/controls/icons/combo.bmp +0 -0
- data/samples/controls/icons/combo.xpm +27 -0
- data/samples/controls/icons/gauge.bmp +0 -0
- data/samples/controls/icons/gauge.xpm +27 -0
- data/samples/controls/icons/list.bmp +0 -0
- data/samples/controls/icons/list.xpm +27 -0
- data/samples/controls/icons/radio.bmp +0 -0
- data/samples/controls/icons/radio.xpm +27 -0
- data/samples/controls/icons/stattext.xpm +24 -0
- data/samples/controls/icons/text.bmp +0 -0
- data/samples/controls/icons/text.xpm +27 -0
- data/samples/dialog/dialog_sample.rb +227 -0
- data/samples/sample.xpm +44 -0
- data/samples/widgets/icons/bmpbtn.xpm +37 -0
- data/samples/widgets/icons/bmpcombobox.xpm +54 -0
- data/samples/widgets/icons/button.xpm +54 -0
- data/samples/widgets/icons/checkbox.xpm +54 -0
- data/samples/widgets/icons/choice.xpm +27 -0
- data/samples/widgets/icons/choicebk.xpm +54 -0
- data/samples/widgets/icons/clrpicker.xpm +193 -0
- data/samples/widgets/icons/combobox.xpm +54 -0
- data/samples/widgets/icons/datepick.xpm +200 -0
- data/samples/widgets/icons/dirctrl.xpm +54 -0
- data/samples/widgets/icons/dirpicker.xpm +213 -0
- data/samples/widgets/icons/filepicker.xpm +214 -0
- data/samples/widgets/icons/fontpicker.xpm +185 -0
- data/samples/widgets/icons/gauge.xpm +54 -0
- data/samples/widgets/icons/hyperlnk.xpm +54 -0
- data/samples/widgets/icons/listbook.xpm +54 -0
- data/samples/widgets/icons/listbox.xpm +54 -0
- data/samples/widgets/icons/notebook.xpm +54 -0
- data/samples/widgets/icons/odcombobox.xpm +54 -0
- data/samples/widgets/icons/radiobox.xpm +54 -0
- data/samples/widgets/icons/scrolbar.xpm +54 -0
- data/samples/widgets/icons/slider.xpm +54 -0
- data/samples/widgets/icons/spinbtn.xpm +40 -0
- data/samples/widgets/icons/statbmp.xpm +40 -0
- data/samples/widgets/icons/statbox.xpm +54 -0
- data/samples/widgets/icons/stattext.xpm +54 -0
- data/samples/widgets/icons/text.xpm +54 -0
- data/samples/widgets/icons/timepick.xpm +207 -0
- data/samples/widgets/icons/toggle.xpm +54 -0
- data/samples/widgets/pages/colorpicker.rb +66 -0
- data/samples/widgets/pages/common.rb +17 -0
- data/samples/widgets/widgets.rb +29 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +59 -0
- data/test/test_color.rb +64 -0
- 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_ */
|
data/ext/wxBookCtrl.cpp
ADDED
|
@@ -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
|
+
|