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
data/ext/wxImage.hpp
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxImage.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 16.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXIMAGE_HPP_
|
|
9
|
+
#define WXIMAGE_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxSize.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXImage;
|
|
14
|
+
DLL_LOCAL void Init_WXImage(VALUE rb_mWX);
|
|
15
|
+
|
|
16
|
+
#if wxUSE_IMAGE
|
|
17
|
+
template <>
|
|
18
|
+
wxImage* unwrap< wxImage* >(const VALUE &vimage);
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
template <>
|
|
22
|
+
wxImage unwrap< wxImage >(const VALUE &vimage);
|
|
23
|
+
#endif
|
|
24
|
+
#endif /* WXIMAGE_HPP_ */
|
data/ext/wxInfoBar.cpp
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfobar.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxInfoBar.hpp"
|
|
9
|
+
|
|
10
|
+
VALUE rb_cWXInfoBar;
|
|
11
|
+
|
|
12
|
+
#if wxUSE_INFOBAR
|
|
13
|
+
#define _self unwrap<wxInfoBar*>(self)
|
|
14
|
+
|
|
15
|
+
namespace RubyWX {
|
|
16
|
+
namespace InfoBar {
|
|
17
|
+
|
|
18
|
+
APP_PROTECT(wxInfoBar)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
* call-seq:
|
|
24
|
+
* InfoBar.new(parent, name, [options])
|
|
25
|
+
* InfoBar.new(parent, [options])
|
|
26
|
+
*
|
|
27
|
+
* creates a new InfoBar widget.
|
|
28
|
+
* ===Arguments
|
|
29
|
+
* * parent of this window or nil
|
|
30
|
+
* * name is a String describing a resource in a loaded xrc
|
|
31
|
+
*
|
|
32
|
+
* * options: Hash with possible options to set
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
36
|
+
{
|
|
37
|
+
VALUE parent,name,hash;
|
|
38
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
39
|
+
|
|
40
|
+
if(NIL_P(hash))
|
|
41
|
+
name = hash;
|
|
42
|
+
|
|
43
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString))
|
|
44
|
+
{
|
|
45
|
+
wxWindowID id(wxID_ANY);
|
|
46
|
+
|
|
47
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
48
|
+
{
|
|
49
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
50
|
+
}
|
|
51
|
+
_self->Create(unwrap<wxWindow*>(parent),id);
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
rb_call_super(argc,argv);
|
|
56
|
+
return self;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
#endif
|
|
63
|
+
DLL_LOCAL void Init_WXInfoBar(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
|
+
|
|
69
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
70
|
+
|
|
71
|
+
rb_cWXInfoBarBase = rb_define_class_under(rb_mWX,"InfoBarBase",rb_cWXControl);
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#if wxUSE_INFOBAR
|
|
75
|
+
using namespace RubyWX::InfoBar;
|
|
76
|
+
rb_cWXInfoBar = rb_define_class_under(rb_mWX,"InfoBar",rb_cWXInfoBarBase);
|
|
77
|
+
rb_define_alloc_func(rb_cWXInfoBar,_alloc);
|
|
78
|
+
|
|
79
|
+
rb_define_method(rb_cWXInfoBar,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
80
|
+
|
|
81
|
+
registerInfo<wxInfoBar>(rb_cWXInfoBar);
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
}
|
|
85
|
+
|
data/ext/wxInfoBar.hpp
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfoBar.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXINFOBAR_HPP_
|
|
9
|
+
#define WXINFOBAR_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxInfoBarBase.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXInfoBar;
|
|
14
|
+
|
|
15
|
+
void Init_WXInfoBar(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#if wxUSE_INFOBAR
|
|
18
|
+
#include <wx/infobar.h>
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#endif /* WXINFOBAR_HPP_ */
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfobarBase.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include "wxInfoBarBase.hpp"
|
|
10
|
+
|
|
11
|
+
VALUE rb_cWXInfoBarBase;
|
|
12
|
+
|
|
13
|
+
#if wxUSE_INFOBAR
|
|
14
|
+
|
|
15
|
+
template <>
|
|
16
|
+
wxInfoBarBase* unwrap<wxInfoBarBase*>(const VALUE &arg)
|
|
17
|
+
{
|
|
18
|
+
return unwrapTypedPtr<wxInfoBarBase>(arg,rb_cWXInfoBarBase);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
#define _self unwrap<wxInfoBarBase*>(self)
|
|
23
|
+
|
|
24
|
+
namespace RubyWX {
|
|
25
|
+
namespace InfoBarBase {
|
|
26
|
+
|
|
27
|
+
singlefunc(Dismiss)
|
|
28
|
+
|
|
29
|
+
DLL_LOCAL VALUE _showMessage(int argc,VALUE *argv,VALUE self)
|
|
30
|
+
{
|
|
31
|
+
VALUE text,icon;
|
|
32
|
+
rb_scan_args(argc, argv, "11",&text,&icon);
|
|
33
|
+
|
|
34
|
+
//use argc for check if parameter is given because nil is treated different
|
|
35
|
+
_self->ShowMessage(unwrap<wxString>(text), argc == 1 ? wxICON_INFORMATION : unwrap_iconflag(icon));
|
|
36
|
+
|
|
37
|
+
return self;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
DLL_LOCAL VALUE _addButton(int argc,VALUE *argv,VALUE self)
|
|
41
|
+
{
|
|
42
|
+
VALUE id,label;
|
|
43
|
+
rb_scan_args(argc, argv, "11",&id,&label);
|
|
44
|
+
|
|
45
|
+
wxWindowID wid = unwrapID(id);
|
|
46
|
+
|
|
47
|
+
_self->AddButton(wid,unwrap<wxString>(label));
|
|
48
|
+
|
|
49
|
+
if(rb_block_given_p())
|
|
50
|
+
{
|
|
51
|
+
VALUE proc = rb_block_proc();
|
|
52
|
+
|
|
53
|
+
_self->Bind(wxEVT_BUTTON,RubyFunctor(proc),wid);
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
return self;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
DLL_LOCAL VALUE _removeButton(VALUE self,VALUE id)
|
|
60
|
+
{
|
|
61
|
+
wxWindowID wid = unwrapID(id);
|
|
62
|
+
|
|
63
|
+
#ifdef HAVE_WXINFOBAR_GETBUTTONCOUNT
|
|
64
|
+
if(!_self->HasButtonId(wid))
|
|
65
|
+
return Qnil;
|
|
66
|
+
#endif
|
|
67
|
+
|
|
68
|
+
_self->RemoveButton(wid);
|
|
69
|
+
return self;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
#ifdef HAVE_WXINFOBAR_GETBUTTONCOUNT
|
|
73
|
+
|
|
74
|
+
DLL_LOCAL VALUE _hasButton(VALUE self,VALUE id)
|
|
75
|
+
{
|
|
76
|
+
return wrap(_self->HasButtonId(unwrapID(id)));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
DLL_LOCAL VALUE _each_button_size(VALUE self)
|
|
80
|
+
{
|
|
81
|
+
return UINT2NUM(_self->GetButtonCount());
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
DLL_LOCAL VALUE _each_button(VALUE self)
|
|
86
|
+
{
|
|
87
|
+
RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_each_button_size));
|
|
88
|
+
|
|
89
|
+
std::size_t count = _self->GetButtonCount();
|
|
90
|
+
|
|
91
|
+
for(std::size_t i = 0; i < count; ++i)
|
|
92
|
+
rb_yield(wrapID(_self->GetButtonId(i)));
|
|
93
|
+
|
|
94
|
+
return self;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
DLL_LOCAL VALUE _getButton(VALUE self,VALUE idx)
|
|
98
|
+
{
|
|
99
|
+
int cidx = NUM2INT(idx);
|
|
100
|
+
if(check_index(cidx,_self->GetButtonCount()))
|
|
101
|
+
return wrapID(_self->GetButtonId(cidx));
|
|
102
|
+
return Qnil;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
#endif
|
|
111
|
+
DLL_LOCAL void Init_WXInfoBarBase(VALUE rb_mWX)
|
|
112
|
+
{
|
|
113
|
+
#if 0
|
|
114
|
+
rb_mWX = rb_define_module("WX");
|
|
115
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
116
|
+
|
|
117
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
118
|
+
#endif
|
|
119
|
+
|
|
120
|
+
#if wxUSE_INFOBAR
|
|
121
|
+
using namespace RubyWX::InfoBarBase;
|
|
122
|
+
rb_cWXInfoBarBase = rb_define_class_under(rb_mWX,"InfoBarBase",rb_cWXControl);
|
|
123
|
+
rb_undef_alloc_func(rb_cWXInfoBarBase);
|
|
124
|
+
|
|
125
|
+
rb_define_method(rb_cWXInfoBarBase,"dismiss",RUBY_METHOD_FUNC(_Dismiss),0);
|
|
126
|
+
rb_define_method(rb_cWXInfoBarBase,"show_message",RUBY_METHOD_FUNC(_showMessage),-1);
|
|
127
|
+
|
|
128
|
+
rb_define_method(rb_cWXInfoBarBase,"add_button",RUBY_METHOD_FUNC(_addButton),-1);
|
|
129
|
+
rb_define_method(rb_cWXInfoBarBase,"remove_button",RUBY_METHOD_FUNC(_removeButton),1);
|
|
130
|
+
|
|
131
|
+
#ifdef HAVE_WXINFOBAR_GETBUTTONCOUNT
|
|
132
|
+
|
|
133
|
+
rb_define_method(rb_cWXInfoBarBase,"has_button?",RUBY_METHOD_FUNC(_hasButton),1);
|
|
134
|
+
rb_define_method(rb_cWXInfoBarBase,"get_button",RUBY_METHOD_FUNC(_getButton),1);
|
|
135
|
+
|
|
136
|
+
rb_define_method(rb_cWXInfoBarBase,"each_button",RUBY_METHOD_FUNC(_each_button),0);
|
|
137
|
+
|
|
138
|
+
#endif
|
|
139
|
+
|
|
140
|
+
registerType<wxInfoBarBase>(rb_cWXInfoBarBase);
|
|
141
|
+
#endif
|
|
142
|
+
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfobarBase.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXINFOBARBASE_HPP_
|
|
9
|
+
#define WXINFOBARBASE_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxControl.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXInfoBarBase;
|
|
14
|
+
|
|
15
|
+
void Init_WXInfoBarBase(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#if wxUSE_INFOBAR
|
|
18
|
+
#include <wx/infobar.h>
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#endif /* WXINFOBARBASE_HPP_ */
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfoBarGeneric.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxInfoBarGeneric.hpp"
|
|
9
|
+
#include "wxInfoBar.hpp"
|
|
10
|
+
|
|
11
|
+
VALUE rb_cWXInfoBarGeneric;
|
|
12
|
+
|
|
13
|
+
#if wxUSE_INFOBAR && defined(wxHAS_NATIVE_INFOBAR)
|
|
14
|
+
#define _self unwrap<wxInfoBarGeneric*>(self)
|
|
15
|
+
|
|
16
|
+
namespace RubyWX {
|
|
17
|
+
namespace GenericInfoBar {
|
|
18
|
+
|
|
19
|
+
APP_PROTECT(wxInfoBarGeneric)
|
|
20
|
+
|
|
21
|
+
/*
|
|
22
|
+
* call-seq:
|
|
23
|
+
* InfoBarGeneric.new(parent, name, [options])
|
|
24
|
+
* InfoBarGeneric.new(parent, [options])
|
|
25
|
+
*
|
|
26
|
+
* creates a new InfoBarGeneric 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
|
+
*
|
|
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
|
+
|
|
39
|
+
if(NIL_P(hash))
|
|
40
|
+
name = hash;
|
|
41
|
+
|
|
42
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString))
|
|
43
|
+
{
|
|
44
|
+
wxWindowID id(wxID_ANY);
|
|
45
|
+
|
|
46
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
47
|
+
{
|
|
48
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
49
|
+
}
|
|
50
|
+
_self->Create(unwrap<wxWindow*>(parent),id);
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
rb_call_super(argc,argv);
|
|
55
|
+
return self;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
#endif
|
|
62
|
+
DLL_LOCAL void Init_WXInfoBarGeneric(VALUE rb_mWX)
|
|
63
|
+
{
|
|
64
|
+
#if 0
|
|
65
|
+
rb_mWX = rb_define_module("WX");
|
|
66
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
67
|
+
|
|
68
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
69
|
+
|
|
70
|
+
rb_cWXInfoBarBase = rb_define_class_under(rb_mWX,"InfoBarBase",rb_cWXControl);
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
#if wxUSE_INFOBAR
|
|
74
|
+
#ifdef wxHAS_NATIVE_INFOBAR
|
|
75
|
+
using namespace RubyWX::GenericInfoBar;
|
|
76
|
+
rb_cWXInfoBarGeneric = rb_define_class_under(rb_mWX,"InfoBarGeneric",rb_cWXInfoBarBase);
|
|
77
|
+
rb_define_alloc_func(rb_cWXInfoBarGeneric,_alloc);
|
|
78
|
+
|
|
79
|
+
rb_define_method(rb_cWXInfoBarGeneric,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
80
|
+
|
|
81
|
+
registerInfo<wxInfoBarGeneric>(rb_cWXInfoBarGeneric);
|
|
82
|
+
#else
|
|
83
|
+
rb_define_const(rb_mWX,"InfoBarGeneric",rb_cWXInfoBar);
|
|
84
|
+
#endif
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxInfoBarGeneric.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 09.03.2013
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXINFOBARGENERIC_HPP_
|
|
9
|
+
#define WXINFOBARGENERIC_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxInfoBarBase.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXInfoBarGeneric;
|
|
14
|
+
|
|
15
|
+
void Init_WXInfoBarGeneric(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#if wxUSE_INFOBAR
|
|
18
|
+
#include <wx/generic/infobar.h>
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#endif /* WXINFOBARGENERIC_HPP_ */
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxItemContainer.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 03.05.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include "wxItemContainer.hpp"
|
|
10
|
+
|
|
11
|
+
#include "wxListBox.hpp"
|
|
12
|
+
#include "wxChoice.hpp"
|
|
13
|
+
#include "wxBitmapComboBox.hpp"
|
|
14
|
+
#include "wxComboBox.hpp"
|
|
15
|
+
|
|
16
|
+
VALUE rb_mWXItemContainer;
|
|
17
|
+
#if wxUSE_CONTROLS
|
|
18
|
+
|
|
19
|
+
//otherwise the casting is wrong
|
|
20
|
+
template <>
|
|
21
|
+
wxItemContainer* unwrap< wxItemContainer* >(const VALUE &obj)
|
|
22
|
+
{
|
|
23
|
+
#if wxUSE_LISTBOX
|
|
24
|
+
if(rb_obj_is_kind_of(obj,rb_cWXListBox))
|
|
25
|
+
return unwrap<wxListBox*>(obj);
|
|
26
|
+
#endif
|
|
27
|
+
#if wxUSE_CHOICE
|
|
28
|
+
if(rb_obj_is_kind_of(obj,rb_cWXChoice))
|
|
29
|
+
return unwrap<wxChoice*>(obj);
|
|
30
|
+
#endif
|
|
31
|
+
#if wxUSE_BITMAPCOMBOBOX
|
|
32
|
+
if(rb_obj_is_kind_of(obj,rb_cWXBitmapComboBox))
|
|
33
|
+
return unwrap<wxBitmapComboBox*>(obj);
|
|
34
|
+
#endif
|
|
35
|
+
#if wxUSE_COMBOBOX
|
|
36
|
+
if(rb_obj_is_kind_of(obj,rb_cWXComboBox))
|
|
37
|
+
return unwrap<wxComboBox*>(obj);
|
|
38
|
+
#endif
|
|
39
|
+
return unwrapTypedPtr<wxItemContainer>(obj,rb_mWXItemContainer);
|
|
40
|
+
return NULL;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#define _self unwrap<wxItemContainer*>(self)
|
|
44
|
+
|
|
45
|
+
namespace RubyWX {
|
|
46
|
+
namespace ItemContainer {
|
|
47
|
+
|
|
48
|
+
macro_attr_selection(Selection,GetCount)
|
|
49
|
+
macro_attr(StringSelection,wxString)
|
|
50
|
+
|
|
51
|
+
singlefunc(Clear)
|
|
52
|
+
|
|
53
|
+
singlereturn(GetCount)
|
|
54
|
+
singlereturn(IsSorted)
|
|
55
|
+
singlereturn(IsEmpty)
|
|
56
|
+
singlereturn(GetStrings)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
/*
|
|
61
|
+
* call-seq:
|
|
62
|
+
* each_item -> Enumerator
|
|
63
|
+
* each_item { | text| } -> self
|
|
64
|
+
*
|
|
65
|
+
* iterates the items of this control.
|
|
66
|
+
* ===Return value
|
|
67
|
+
* self
|
|
68
|
+
*
|
|
69
|
+
*/
|
|
70
|
+
DLL_LOCAL VALUE _each(VALUE self)
|
|
71
|
+
{
|
|
72
|
+
RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_GetCount));
|
|
73
|
+
std::size_t count = _self->GetCount();
|
|
74
|
+
for(std::size_t i = 0; i < count; ++i)
|
|
75
|
+
rb_yield(wrap(_self->GetString(i)));
|
|
76
|
+
return self;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
/*
|
|
81
|
+
* call-seq:
|
|
82
|
+
* append(items) -> self
|
|
83
|
+
*
|
|
84
|
+
* adds new items to item container.
|
|
85
|
+
* ===Arguments
|
|
86
|
+
* * string items added to item container [String]
|
|
87
|
+
* ===Return value
|
|
88
|
+
* self
|
|
89
|
+
*
|
|
90
|
+
*/
|
|
91
|
+
DLL_LOCAL VALUE _Append(VALUE self,VALUE items)
|
|
92
|
+
{
|
|
93
|
+
rb_check_frozen(self);
|
|
94
|
+
_self->Append(unwrap<wxArrayString>(items));
|
|
95
|
+
return self;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/*
|
|
99
|
+
* call-seq:
|
|
100
|
+
* items(pos,items) -> self
|
|
101
|
+
*
|
|
102
|
+
* insert new items to item container at the given position.
|
|
103
|
+
* ===Arguments
|
|
104
|
+
* * pos where the item should be added.
|
|
105
|
+
* * string items added to item container [String]
|
|
106
|
+
* ===Return value
|
|
107
|
+
* * self
|
|
108
|
+
* === Exceptions
|
|
109
|
+
* [IndexError]
|
|
110
|
+
* * pos is greater than the count of items
|
|
111
|
+
*
|
|
112
|
+
*/
|
|
113
|
+
DLL_LOCAL VALUE _Insert(VALUE self,VALUE idx,VALUE items)
|
|
114
|
+
{
|
|
115
|
+
rb_check_frozen(self);
|
|
116
|
+
|
|
117
|
+
if(!_self->IsSorted())
|
|
118
|
+
{
|
|
119
|
+
int cidx = NUM2INT(idx);
|
|
120
|
+
if(check_index(cidx,_self->GetCount()+1))
|
|
121
|
+
_self->Insert(unwrap<wxArrayString>(items),cidx);
|
|
122
|
+
}else
|
|
123
|
+
_self->Append(unwrap<wxArrayString>(items));
|
|
124
|
+
|
|
125
|
+
return self;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/*
|
|
129
|
+
* call-seq:
|
|
130
|
+
* prepend(items) -> self
|
|
131
|
+
*
|
|
132
|
+
* prepends new items to item container.
|
|
133
|
+
* ===Arguments
|
|
134
|
+
* * string items prepend to item container [String]
|
|
135
|
+
* ===Return value
|
|
136
|
+
* self
|
|
137
|
+
*
|
|
138
|
+
*/
|
|
139
|
+
DLL_LOCAL VALUE _Prepend(VALUE self,VALUE items)
|
|
140
|
+
{
|
|
141
|
+
rb_check_frozen(self);
|
|
142
|
+
|
|
143
|
+
if(!_self->IsSorted())
|
|
144
|
+
_self->Insert(unwrap<wxArrayString>(items),0);
|
|
145
|
+
else
|
|
146
|
+
_self->Append(unwrap<wxArrayString>(items));
|
|
147
|
+
|
|
148
|
+
return self;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
DLL_LOCAL VALUE _Delete(VALUE self,VALUE idx)
|
|
153
|
+
{
|
|
154
|
+
rb_check_frozen(self);
|
|
155
|
+
|
|
156
|
+
int cidx = NUM2INT(idx);
|
|
157
|
+
if(check_index(cidx,_self->GetCount()))
|
|
158
|
+
_self->Delete(cidx);
|
|
159
|
+
return self;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
DLL_LOCAL VALUE _setItems(VALUE self,VALUE items)
|
|
163
|
+
{
|
|
164
|
+
rb_check_frozen(self);
|
|
165
|
+
_self->Set(unwrap<wxArrayString>(items));
|
|
166
|
+
return items;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
/*
|
|
171
|
+
* call-seq:
|
|
172
|
+
* get_item_string(pos) -> String
|
|
173
|
+
*
|
|
174
|
+
* returns the String of the item at the given position.
|
|
175
|
+
* ===Arguments
|
|
176
|
+
* * pos of the item. Integer
|
|
177
|
+
* ===Return value
|
|
178
|
+
* String
|
|
179
|
+
* === Exceptions
|
|
180
|
+
* [IndexError]
|
|
181
|
+
* * pos is greater than the count of items
|
|
182
|
+
*
|
|
183
|
+
*/
|
|
184
|
+
DLL_LOCAL VALUE _getItemString(VALUE self,VALUE idx)
|
|
185
|
+
{
|
|
186
|
+
int cidx = NUM2INT(idx);
|
|
187
|
+
if(check_index(cidx,_self->GetCount()))
|
|
188
|
+
return wrap(_self->GetString(cidx));
|
|
189
|
+
return Qnil;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/*
|
|
193
|
+
* call-seq:
|
|
194
|
+
* set_item_string(pos,text) -> self
|
|
195
|
+
*
|
|
196
|
+
* sets the String of the item at the given position.
|
|
197
|
+
* ===Arguments
|
|
198
|
+
* * pos of the item. Integer
|
|
199
|
+
* * text of the item. String
|
|
200
|
+
* ===Return value
|
|
201
|
+
* self
|
|
202
|
+
* === Exceptions
|
|
203
|
+
* [IndexError]
|
|
204
|
+
* * pos is greater than the count of items
|
|
205
|
+
*
|
|
206
|
+
*/
|
|
207
|
+
DLL_LOCAL VALUE _setItemString(VALUE self,VALUE idx,VALUE val)
|
|
208
|
+
{
|
|
209
|
+
rb_check_frozen(self);
|
|
210
|
+
|
|
211
|
+
int cidx = NUM2INT(idx);
|
|
212
|
+
if(check_index(cidx,_self->GetCount()))
|
|
213
|
+
_self->SetString(cidx,unwrap<wxString>(val));
|
|
214
|
+
|
|
215
|
+
return self;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
#endif
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
/* Document-method: clear
|
|
225
|
+
* call-seq:
|
|
226
|
+
* clear -> self
|
|
227
|
+
*
|
|
228
|
+
* Removes all items from the control.
|
|
229
|
+
* ===Return value
|
|
230
|
+
* self
|
|
231
|
+
*/
|
|
232
|
+
|
|
233
|
+
/* Document-method: item_count
|
|
234
|
+
* call-seq:
|
|
235
|
+
* item_count -> Integer
|
|
236
|
+
*
|
|
237
|
+
* Returns the number of items in the control.
|
|
238
|
+
* ===Return value
|
|
239
|
+
* Integer
|
|
240
|
+
*/
|
|
241
|
+
|
|
242
|
+
/* Document-method: sorted?
|
|
243
|
+
* call-seq:
|
|
244
|
+
* sorted? -> true/false
|
|
245
|
+
*
|
|
246
|
+
* Return true if the control has specific style.
|
|
247
|
+
* ===Return value
|
|
248
|
+
* true/false
|
|
249
|
+
*/
|
|
250
|
+
/* Document-method: empty?
|
|
251
|
+
* call-seq:
|
|
252
|
+
* empty? -> true/false
|
|
253
|
+
*
|
|
254
|
+
* Returns true if the control is empty or false if it has some items.
|
|
255
|
+
* ===Return value
|
|
256
|
+
* true/false
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
/* Document-attr: selection
|
|
260
|
+
* Integer/nil returns the index of the current selected item, or nil if none is selected.
|
|
261
|
+
*/
|
|
262
|
+
/* Document-attr: string_selection
|
|
263
|
+
* String returns the string of the current selected item.
|
|
264
|
+
*/
|
|
265
|
+
/* Document-attr: items
|
|
266
|
+
* Array of the items in this control.
|
|
267
|
+
*/
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
DLL_LOCAL void Init_WXItemContainer(VALUE rb_mWX)
|
|
271
|
+
{
|
|
272
|
+
|
|
273
|
+
#if 0
|
|
274
|
+
rb_define_attr(rb_mWXItemContainer,"selection",1,1);
|
|
275
|
+
rb_define_attr(rb_mWXItemContainer,"string_selection",1,1);
|
|
276
|
+
|
|
277
|
+
rb_define_attr(rb_mWXItemContainer,"items",1,1);
|
|
278
|
+
#endif
|
|
279
|
+
|
|
280
|
+
#if wxUSE_CONTROLS
|
|
281
|
+
using namespace RubyWX::ItemContainer;
|
|
282
|
+
|
|
283
|
+
rb_mWXItemContainer = rb_define_module_under(rb_mWX,"ItemContainer");
|
|
284
|
+
|
|
285
|
+
rb_define_method(rb_mWXItemContainer,"clear",RUBY_METHOD_FUNC(_Clear),0);
|
|
286
|
+
|
|
287
|
+
rb_define_method(rb_mWXItemContainer,"each_item",RUBY_METHOD_FUNC(_each),0);
|
|
288
|
+
|
|
289
|
+
rb_define_method(rb_mWXItemContainer,"append",RUBY_METHOD_FUNC(_Append),1);
|
|
290
|
+
rb_define_alias(rb_mWXItemContainer,"<<","append");
|
|
291
|
+
|
|
292
|
+
rb_define_method(rb_mWXItemContainer,"insert",RUBY_METHOD_FUNC(_Insert),2);
|
|
293
|
+
|
|
294
|
+
rb_define_method(rb_mWXItemContainer,"prepend",RUBY_METHOD_FUNC(_Prepend),1);
|
|
295
|
+
|
|
296
|
+
rb_define_method(rb_mWXItemContainer,"delete_item",RUBY_METHOD_FUNC(_Delete),1);
|
|
297
|
+
|
|
298
|
+
rb_define_method(rb_mWXItemContainer,"get_item_string",RUBY_METHOD_FUNC(_getItemString),1);
|
|
299
|
+
rb_define_method(rb_mWXItemContainer,"set_item_string",RUBY_METHOD_FUNC(_setItemString),2);
|
|
300
|
+
|
|
301
|
+
rb_define_method(rb_mWXItemContainer,"item_count",RUBY_METHOD_FUNC(_GetCount),0);
|
|
302
|
+
rb_define_method(rb_mWXItemContainer,"sorted?",RUBY_METHOD_FUNC(_IsSorted),0);
|
|
303
|
+
rb_define_method(rb_mWXItemContainer,"empty?",RUBY_METHOD_FUNC(_IsEmpty),0);
|
|
304
|
+
|
|
305
|
+
rb_define_attr_method(rb_mWXItemContainer,"selection",_getSelection,_setSelection);
|
|
306
|
+
rb_define_attr_method(rb_mWXItemContainer,"string_selection",_getStringSelection,_setStringSelection);
|
|
307
|
+
|
|
308
|
+
rb_define_attr_method(rb_mWXItemContainer,"items",_GetStrings,_setItems);
|
|
309
|
+
|
|
310
|
+
//registerType<wxItemContainer>(rb_mWXItemContainer);
|
|
311
|
+
#endif
|
|
312
|
+
}
|
|
313
|
+
|