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/wxColor.hpp
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColor.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 15.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXCOLOR_HPP_
|
|
9
|
+
#define WXCOLOR_HPP_
|
|
10
|
+
|
|
11
|
+
#include "main.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXColor;
|
|
14
|
+
void Init_WXColor(VALUE rb_mWX);
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
template <>
|
|
18
|
+
VALUE wrap< wxColor >(wxColor *color );
|
|
19
|
+
|
|
20
|
+
template <>
|
|
21
|
+
bool is_wrapable< wxColor >(const VALUE &vcolor);
|
|
22
|
+
|
|
23
|
+
template <>
|
|
24
|
+
wxColor* unwrap< wxColor* >(const VALUE &vcolor);
|
|
25
|
+
|
|
26
|
+
template <>
|
|
27
|
+
wxColor unwrap< wxColor >(const VALUE &vcolor);
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
namespace RubyWX {
|
|
31
|
+
namespace Color {
|
|
32
|
+
|
|
33
|
+
void define_const();
|
|
34
|
+
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#endif /* WXCOLOR_HPP_ */
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorDialog.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 04.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxColorDialog.hpp"
|
|
9
|
+
#include "wxColor.hpp"
|
|
10
|
+
|
|
11
|
+
#include "wxApp.hpp"
|
|
12
|
+
|
|
13
|
+
VALUE rb_cWXColorDialog;
|
|
14
|
+
#if wxUSE_COLOURDLG
|
|
15
|
+
#define _self unwrap<wxColourDialog*>(self)
|
|
16
|
+
|
|
17
|
+
namespace RubyWX {
|
|
18
|
+
namespace ColourDialog {
|
|
19
|
+
|
|
20
|
+
APP_PROTECT(wxColourDialog)
|
|
21
|
+
|
|
22
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
23
|
+
{
|
|
24
|
+
VALUE parent,name,hash;
|
|
25
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
26
|
+
|
|
27
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString)){
|
|
28
|
+
_self->Create(unwrap<wxWindow*>(parent));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
rb_call_super(argc,argv);
|
|
32
|
+
return self;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
macro_attr_pre(Colour,wxColor,GetColourData)
|
|
36
|
+
|
|
37
|
+
DLL_LOCAL VALUE _getCustomColors(VALUE self)
|
|
38
|
+
{
|
|
39
|
+
VALUE result = rb_ary_new();
|
|
40
|
+
wxColourData &data = _self->GetColourData();
|
|
41
|
+
for(std::size_t i = 0; i < wxColourData::NUM_CUSTOM; ++i)
|
|
42
|
+
rb_ary_push(result,wrap(data.GetCustomColour(i)));
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
DLL_LOCAL VALUE _setCustomColors(VALUE self,VALUE val)
|
|
46
|
+
{
|
|
47
|
+
rb_check_frozen(self);
|
|
48
|
+
VALUE dp = rb_Array(val);
|
|
49
|
+
wxColourData &data = _self->GetColourData();
|
|
50
|
+
for(std::size_t i = 0; i < wxColourData::NUM_CUSTOM && i < (std::size_t)RARRAY_LEN(dp); ++i)
|
|
51
|
+
data.SetCustomColour(i,unwrap<wxColor>(RARRAY_AREF(dp,i)));
|
|
52
|
+
|
|
53
|
+
return val;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
DLL_LOCAL VALUE _getUserColor(int argc,VALUE *argv,VALUE self)
|
|
58
|
+
{
|
|
59
|
+
VALUE parent,caption;
|
|
60
|
+
rb_scan_args(argc, argv, "11",&parent,&caption);
|
|
61
|
+
|
|
62
|
+
app_protected();
|
|
63
|
+
|
|
64
|
+
wxColor col = wxGetColourFromUser(unwrap<wxWindow*>(parent),*wxBLACK,unwrap<wxString>(caption));
|
|
65
|
+
return col.IsOk() ? wrap(col) : Qnil;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
DLL_LOCAL void Init_WXColorDialog(VALUE rb_mWX)
|
|
74
|
+
{
|
|
75
|
+
#if 0
|
|
76
|
+
rb_mWX = rb_define_module("WX");
|
|
77
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
78
|
+
|
|
79
|
+
rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
|
|
80
|
+
|
|
81
|
+
rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
#if wxUSE_COLOURDLG
|
|
85
|
+
using namespace RubyWX::ColourDialog;
|
|
86
|
+
rb_cWXColorDialog = rb_define_class_under(rb_mWX,"ColorDialog",rb_cWXDialog);
|
|
87
|
+
rb_define_alloc_func(rb_cWXColorDialog,_alloc);
|
|
88
|
+
rb_define_method(rb_cWXColorDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
89
|
+
|
|
90
|
+
rb_define_attr_method(rb_cWXColorDialog,"color",_getColour,_setColour);
|
|
91
|
+
rb_define_attr_method(rb_cWXColorDialog,"custom_colors",_getCustomColors,_setCustomColors);
|
|
92
|
+
|
|
93
|
+
rb_define_module_function(rb_mWX,"color_dialog",RUBY_METHOD_FUNC(_getUserColor),-1);
|
|
94
|
+
|
|
95
|
+
registerInfo<wxColourDialog>(rb_cWXColorDialog);
|
|
96
|
+
#endif
|
|
97
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorDialog.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 04.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXCOLORDIALOG_HPP_
|
|
9
|
+
#define WXCOLORDIALOG_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxDialog.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXColorDialog;
|
|
14
|
+
|
|
15
|
+
void Init_WXColorDialog(VALUE rb_mWX);
|
|
16
|
+
#if wxUSE_COLOURDLG
|
|
17
|
+
#include <wx/colordlg.h>
|
|
18
|
+
#endif
|
|
19
|
+
#endif /* WXCOLORDIALOG_HPP_ */
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorPicker.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 04.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
#include "wxColorPicker.hpp"
|
|
8
|
+
#include "wxPickerBase.hpp"
|
|
9
|
+
#include "wxColor.hpp"
|
|
10
|
+
|
|
11
|
+
VALUE rb_cWXColorPicker,rb_cWXColorPickerEvent;
|
|
12
|
+
|
|
13
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
14
|
+
|
|
15
|
+
namespace RubyWX {
|
|
16
|
+
namespace ColorPicker {
|
|
17
|
+
#define _self unwrap<wxColourPickerCtrl*>(self)
|
|
18
|
+
macro_attr(Colour,wxColour)
|
|
19
|
+
|
|
20
|
+
APP_PROTECT(wxColourPickerCtrl)
|
|
21
|
+
|
|
22
|
+
/*
|
|
23
|
+
* call-seq:
|
|
24
|
+
* ColorPicker.new(parent, name, [options])
|
|
25
|
+
* ColorPicker.new(parent, [options])
|
|
26
|
+
*
|
|
27
|
+
* creates a new ColorPicker 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
|
+
* * color WX::Color default color
|
|
34
|
+
* * use_textctrl true/false
|
|
35
|
+
* * small true/false
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
39
|
+
{
|
|
40
|
+
VALUE parent,name,hash;
|
|
41
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
42
|
+
|
|
43
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString))
|
|
44
|
+
{
|
|
45
|
+
wxWindowID id(wxID_ANY);
|
|
46
|
+
wxColor color(*wxBLACK);
|
|
47
|
+
int style(wxCLRP_DEFAULT_STYLE);
|
|
48
|
+
|
|
49
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
50
|
+
{
|
|
51
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
52
|
+
set_hash_option(hash,"color",color);
|
|
53
|
+
set_hash_option(hash,"style",style);
|
|
54
|
+
|
|
55
|
+
PickerBase::set_style_flags(hash,style);
|
|
56
|
+
|
|
57
|
+
set_hash_flag_option(hash,"show_label",wxCLRP_SHOW_LABEL,style);
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
_self->Create(unwrap<wxWindow*>(parent),id,color,wxDefaultPosition,wxDefaultSize,style);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
rb_call_super(argc,argv);
|
|
65
|
+
|
|
66
|
+
if(rb_obj_is_kind_of(name,rb_cString) &&
|
|
67
|
+
rb_obj_is_kind_of(hash,rb_cHash))
|
|
68
|
+
{
|
|
69
|
+
VALUE temp;
|
|
70
|
+
|
|
71
|
+
set_option(color,Colour,wxColour)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return self;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
namespace Event {
|
|
78
|
+
#undef _self
|
|
79
|
+
#define _self unwrapTypedPtr<wxColourPickerEvent>(self,rb_cWXColorPickerEvent)
|
|
80
|
+
macro_attr(Colour,wxColour)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
#endif
|
|
87
|
+
|
|
88
|
+
/* Document-attr: color
|
|
89
|
+
* the color of the ColorPicker. WX::Color
|
|
90
|
+
*/
|
|
91
|
+
/* Document-attr: WX::Event::ColorPicker#color
|
|
92
|
+
* the color of the ColorPicker. WX::Color
|
|
93
|
+
*/
|
|
94
|
+
DLL_LOCAL void Init_WXColorPicker(VALUE rb_mWX)
|
|
95
|
+
{
|
|
96
|
+
#if 0
|
|
97
|
+
rb_mWX = rb_define_module("WX");
|
|
98
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
99
|
+
|
|
100
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
101
|
+
|
|
102
|
+
rb_cWXPickerBase = rb_define_class_under(rb_mWX,"PickerBase",rb_cWXControl);
|
|
103
|
+
|
|
104
|
+
rb_define_attr(rb_cWXColorPicker,"color",1,1);
|
|
105
|
+
rb_define_attr(rb_cWXColorPickerEvent,"color",1,1);
|
|
106
|
+
#endif
|
|
107
|
+
|
|
108
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
109
|
+
using namespace RubyWX::ColorPicker;
|
|
110
|
+
rb_cWXColorPicker = rb_define_class_under(rb_mWX,"ColorPicker",rb_cWXPickerBase);
|
|
111
|
+
rb_define_alloc_func(rb_cWXColorPicker,_alloc);
|
|
112
|
+
|
|
113
|
+
rb_define_method(rb_cWXColorPicker,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
114
|
+
|
|
115
|
+
rb_define_attr_method(rb_cWXColorPicker,"color",_getColour,_setColour);
|
|
116
|
+
|
|
117
|
+
rb_define_const(rb_cWXColorPicker,"DEFAULT_STYLE",INT2NUM(wxCLRP_DEFAULT_STYLE));
|
|
118
|
+
rb_define_const(rb_cWXColorPicker,"SHOW_LABEL",INT2NUM(wxCLRP_SHOW_LABEL));
|
|
119
|
+
|
|
120
|
+
rb_cWXColorPickerEvent = rb_define_class_under(rb_cWXEvent,"ColorPicker",rb_cWXEvent);
|
|
121
|
+
registerEventType("colorpicker_changed",wxEVT_COLOURPICKER_CHANGED,rb_cWXColorPickerEvent);
|
|
122
|
+
|
|
123
|
+
rb_define_attr_method(rb_cWXColorPickerEvent,"color",
|
|
124
|
+
Event::_getColour,Event::_setColour);
|
|
125
|
+
|
|
126
|
+
registerInfo<wxColourPickerCtrl>(rb_cWXColorPicker);
|
|
127
|
+
#endif
|
|
128
|
+
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorPicker.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 04.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXCOLORPICKER_HPP_
|
|
9
|
+
#define WXCOLORPICKER_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxControl.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXColorPicker;
|
|
14
|
+
|
|
15
|
+
void Init_WXColorPicker(VALUE rb_mWX);
|
|
16
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
17
|
+
#include <wx/clrpicker.h>
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
#endif /* WXCOLORPICKER_HPP_ */
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorPickerWidget.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 24.05.2014
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxColorPickerWidget.hpp"
|
|
9
|
+
#include "wxButton.hpp"
|
|
10
|
+
#include "wxColorPicker.hpp"
|
|
11
|
+
#include "wxColor.hpp"
|
|
12
|
+
|
|
13
|
+
VALUE rb_cWXColorPickerWidget;
|
|
14
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
15
|
+
#define _self unwrap<wxColourPickerWidget*>(self)
|
|
16
|
+
|
|
17
|
+
namespace RubyWX {
|
|
18
|
+
namespace ColorPickerWidget {
|
|
19
|
+
|
|
20
|
+
APP_PROTECT(wxColourPickerWidget)
|
|
21
|
+
|
|
22
|
+
macro_attr(Colour,wxColour)
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* call-seq:
|
|
26
|
+
* ColorPickerWidget.new(parent, name, [options])
|
|
27
|
+
* ColorPickerWidget.new(parent, [options])
|
|
28
|
+
*
|
|
29
|
+
* creates a new ColorPickerWidget widget.
|
|
30
|
+
* ===Arguments
|
|
31
|
+
* * parent of this window or nil
|
|
32
|
+
* * name is a String describing a resource in a loaded xrc
|
|
33
|
+
*
|
|
34
|
+
* *options: Hash with possible options to set:
|
|
35
|
+
*/
|
|
36
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
37
|
+
{
|
|
38
|
+
VALUE parent,name,hash;
|
|
39
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
40
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
|
|
41
|
+
wxWindowID id(wxID_ANY);
|
|
42
|
+
int style(wxCLRBTN_DEFAULT_STYLE);
|
|
43
|
+
|
|
44
|
+
wxColor color(*wxBLACK);
|
|
45
|
+
|
|
46
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
47
|
+
{
|
|
48
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
49
|
+
set_hash_option(hash,"style",style);
|
|
50
|
+
set_hash_option(hash,"color",color);
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
_self->Create(
|
|
55
|
+
unwrap<wxWindow*>(parent),id,color,
|
|
56
|
+
wxDefaultPosition,wxDefaultSize,style
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
rb_call_super(argc,argv);
|
|
62
|
+
return self;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
/* Document-attr: font
|
|
71
|
+
* the font of the ColorPickerWidget. WX::Color
|
|
72
|
+
*/
|
|
73
|
+
|
|
74
|
+
/* Document-const: DEFAULT_STYLE
|
|
75
|
+
* default style for this control.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
DLL_LOCAL void Init_WXColorPickerWidget(VALUE rb_mWX)
|
|
79
|
+
{
|
|
80
|
+
#if 0
|
|
81
|
+
rb_mWX = rb_define_module("WX");
|
|
82
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
83
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
84
|
+
rb_cWXAnyButton = rb_define_class_under(rb_mWX,"AnyButton",rb_cWXControl);
|
|
85
|
+
|
|
86
|
+
rb_cWXButton = rb_define_class_under(rb_mWX,"Button",rb_cWXAnyButton);
|
|
87
|
+
|
|
88
|
+
rb_define_attr(rb_cWXColorPickerWidget,"color",1,1);
|
|
89
|
+
|
|
90
|
+
#endif
|
|
91
|
+
|
|
92
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
93
|
+
using namespace RubyWX::ColorPickerWidget;
|
|
94
|
+
rb_cWXColorPickerWidget = rb_define_class_under(rb_mWX,"ColorPickerWidget",rb_cWXButton);
|
|
95
|
+
rb_define_alloc_func(rb_cWXColorPickerWidget,_alloc);
|
|
96
|
+
|
|
97
|
+
rb_define_method(rb_cWXColorPickerWidget,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
98
|
+
|
|
99
|
+
rb_define_attr_method(rb_cWXColorPickerWidget,"color",_getColour,_setColour);
|
|
100
|
+
|
|
101
|
+
rb_define_const(rb_cWXColorPickerWidget,"DEFAULT_STYLE",INT2NUM(wxCLRBTN_DEFAULT_STYLE));
|
|
102
|
+
|
|
103
|
+
registerInfo<wxColourPickerWidget>(rb_cWXColorPickerWidget);
|
|
104
|
+
#endif
|
|
105
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxColorPickerWidget.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 24.05.2014
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXCOLORPICKERWIDGET_HPP_
|
|
9
|
+
#define WXCOLORPICKERWIDGET_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxEvtHandler.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXColorPickerWidget;
|
|
14
|
+
|
|
15
|
+
void Init_WXColorPickerWidget(VALUE rb_mWX);
|
|
16
|
+
#if wxUSE_COLOURPICKERCTRL
|
|
17
|
+
#include <wx/clrpicker.h>
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
#endif /* WXCOLORPICKERWIDGET_HPP_ */
|
data/ext/wxComboBox.cpp
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxComboBox.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 03.05.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
#include "wxEvtHandler.hpp"
|
|
11
|
+
#include "wxItemContainer.hpp"
|
|
12
|
+
#include "wxTextEntry.hpp"
|
|
13
|
+
#include "wxChoice.hpp"
|
|
14
|
+
#include "wxTextCtrl.hpp"
|
|
15
|
+
|
|
16
|
+
VALUE rb_cWXComboBox;
|
|
17
|
+
|
|
18
|
+
#if wxUSE_COMBOBOX
|
|
19
|
+
#define _self unwrap<wxComboBox*>(self)
|
|
20
|
+
|
|
21
|
+
namespace RubyWX {
|
|
22
|
+
namespace ComboBox {
|
|
23
|
+
|
|
24
|
+
APP_PROTECT(wxComboBox)
|
|
25
|
+
|
|
26
|
+
//need to define it again to prevent Shadowing
|
|
27
|
+
singlefunc(Clear)
|
|
28
|
+
|
|
29
|
+
singlefunc(Popup)
|
|
30
|
+
singlefunc(Dismiss)
|
|
31
|
+
|
|
32
|
+
singlereturn(IsListEmpty)
|
|
33
|
+
singlereturn(IsTextEmpty)
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* call-seq:
|
|
37
|
+
* ComboBox.new(parent, name, [options])
|
|
38
|
+
* ComboBox.new(parent, [options])
|
|
39
|
+
*
|
|
40
|
+
* creates a new ComboBox widget.
|
|
41
|
+
* ===Arguments
|
|
42
|
+
* * parent of this window or nil
|
|
43
|
+
* * name is a String describing a resource in a loaded xrc
|
|
44
|
+
*
|
|
45
|
+
* *options: Hash with possible options to set:
|
|
46
|
+
* * items [String]
|
|
47
|
+
* * select Integer
|
|
48
|
+
* * value String
|
|
49
|
+
*/
|
|
50
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
51
|
+
{
|
|
52
|
+
VALUE parent,name,hash;
|
|
53
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
54
|
+
|
|
55
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString)) {
|
|
56
|
+
wxWindowID id(wxID_ANY);
|
|
57
|
+
wxString value;
|
|
58
|
+
wxArrayString choices;
|
|
59
|
+
int style(0);
|
|
60
|
+
int selection(-1);
|
|
61
|
+
|
|
62
|
+
bool selflag(false);
|
|
63
|
+
|
|
64
|
+
if(rb_obj_is_kind_of(hash,rb_cHash)) {
|
|
65
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
66
|
+
set_hash_option(hash,"value",value);
|
|
67
|
+
set_hash_option(hash,"items",choices);
|
|
68
|
+
set_hash_option(hash,"style",style);
|
|
69
|
+
selflag = set_hash_option(hash,"selection",selection);
|
|
70
|
+
|
|
71
|
+
Choice::set_style_flags(hash,style);
|
|
72
|
+
TextCtrl::set_style_flags(hash,style);
|
|
73
|
+
}
|
|
74
|
+
_self->Create(
|
|
75
|
+
unwrap<wxWindow*>(parent),id,value,
|
|
76
|
+
wxDefaultPosition,wxDefaultSize,
|
|
77
|
+
choices,style
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
if(selflag && check_index(selection,_self->GetCount()))
|
|
81
|
+
_self->SetSelection(selection);
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
rb_call_super(argc,argv);
|
|
86
|
+
|
|
87
|
+
if(rb_obj_is_kind_of(hash,rb_cHash)) {
|
|
88
|
+
VALUE temp;
|
|
89
|
+
set_option(items,,wxArrayString)
|
|
90
|
+
set_option(select,Selection,int)
|
|
91
|
+
set_option(value,Value,wxString)
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return self;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
#endif
|
|
101
|
+
|
|
102
|
+
/* Document-method: clear
|
|
103
|
+
* call-seq:
|
|
104
|
+
* clear -> self
|
|
105
|
+
*
|
|
106
|
+
* Removes all items from the control.
|
|
107
|
+
* ===Return value
|
|
108
|
+
* self
|
|
109
|
+
*/
|
|
110
|
+
/* Document-method: popup
|
|
111
|
+
* call-seq:
|
|
112
|
+
* popup -> self
|
|
113
|
+
*
|
|
114
|
+
* Shows the list box portion of the combo box.
|
|
115
|
+
* ===Return value
|
|
116
|
+
* self
|
|
117
|
+
*/
|
|
118
|
+
/* Document-method: dismiss
|
|
119
|
+
* call-seq:
|
|
120
|
+
* dismiss -> self
|
|
121
|
+
*
|
|
122
|
+
* Hides the list box portion of the combo box.
|
|
123
|
+
* ===Return value
|
|
124
|
+
* self
|
|
125
|
+
*/
|
|
126
|
+
/* Document-method: list_empty?
|
|
127
|
+
* call-seq:
|
|
128
|
+
* list_empty? -> true/false
|
|
129
|
+
*
|
|
130
|
+
* Returns true if the list of combobox choices is empty.
|
|
131
|
+
* ===Return value
|
|
132
|
+
* true/false
|
|
133
|
+
*/
|
|
134
|
+
/* Document-method: text_empty?
|
|
135
|
+
* call-seq:
|
|
136
|
+
* text_empty? -> true/false
|
|
137
|
+
*
|
|
138
|
+
* Returns true if the text of the combobox is empty.
|
|
139
|
+
* ===Return value
|
|
140
|
+
* true/false
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
/* Document-const: SORT
|
|
144
|
+
* Sorts the entries alphabetically.
|
|
145
|
+
*/
|
|
146
|
+
/* Document-const: READONLY
|
|
147
|
+
* The text will not be user-editable.
|
|
148
|
+
*/
|
|
149
|
+
/* Document-const: DROPDOWN
|
|
150
|
+
* Creates a combobox with a drop-down list.
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
/* Document-const: MULTILINE
|
|
154
|
+
* The text control allows multiple lines. If this style is not specified, line break characters should not be used in the controls value.
|
|
155
|
+
*/
|
|
156
|
+
/* Document-const: PROCESS_TAB
|
|
157
|
+
* The control will receive :char events for TAB pressed - normally, TAB is used for passing to the next control in a dialog instead. For the control created with this style, you can still use Ctrl-Enter to pass to the next control from the keyboard.
|
|
158
|
+
*/
|
|
159
|
+
/* Document-const: PROCESS_ENTER
|
|
160
|
+
* The control will generate the event :text_enter (otherwise pressing Enter key is either processed internally by the control or used for navigation between dialog controls).
|
|
161
|
+
*/
|
|
162
|
+
/* Document-const: PASSWORD
|
|
163
|
+
* The text will be echoed as asterisks.
|
|
164
|
+
*/
|
|
165
|
+
DLL_LOCAL void Init_WXComboBox(VALUE rb_mWX)
|
|
166
|
+
{
|
|
167
|
+
#if 0
|
|
168
|
+
rb_mWX = rb_define_module("WX");
|
|
169
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
170
|
+
|
|
171
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
172
|
+
rb_mWXItemContainer = rb_define_module_under(rb_mWX,"ItemContainer");
|
|
173
|
+
rb_mWXTextEntry = rb_define_module_under(rb_mWX,"TextEntry");
|
|
174
|
+
#endif
|
|
175
|
+
#if wxUSE_COMBOBOX
|
|
176
|
+
using namespace RubyWX::ComboBox;
|
|
177
|
+
rb_cWXComboBox = rb_define_class_under(rb_mWX,"ComboBox",rb_cWXControl);
|
|
178
|
+
rb_define_alloc_func(rb_cWXComboBox,_alloc);
|
|
179
|
+
|
|
180
|
+
rb_define_method(rb_cWXComboBox,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
181
|
+
|
|
182
|
+
rb_define_method(rb_cWXComboBox,"clear",RUBY_METHOD_FUNC(_Clear),0);
|
|
183
|
+
rb_define_method(rb_cWXComboBox,"popup",RUBY_METHOD_FUNC(_Popup),0);
|
|
184
|
+
rb_define_method(rb_cWXComboBox,"dismiss",RUBY_METHOD_FUNC(_Dismiss),0);
|
|
185
|
+
|
|
186
|
+
rb_undef_method(rb_cWXComboBox,"empty?");
|
|
187
|
+
|
|
188
|
+
rb_define_method(rb_cWXComboBox,"list_empty?",RUBY_METHOD_FUNC(_IsListEmpty),0);
|
|
189
|
+
rb_define_method(rb_cWXComboBox,"text_empty?",RUBY_METHOD_FUNC(_IsTextEmpty),0);
|
|
190
|
+
|
|
191
|
+
rb_include_module(rb_cWXComboBox,rb_mWXItemContainer);
|
|
192
|
+
rb_include_module(rb_cWXComboBox,rb_mWXTextEntry);
|
|
193
|
+
|
|
194
|
+
//define Choice constants
|
|
195
|
+
rb_define_const(rb_cWXComboBox,"SORT",INT2NUM(wxCB_SORT));
|
|
196
|
+
rb_define_const(rb_cWXComboBox,"READONLY",INT2NUM(wxCB_READONLY));
|
|
197
|
+
rb_define_const(rb_cWXComboBox,"DROPDOWN",INT2NUM(wxCB_DROPDOWN));
|
|
198
|
+
|
|
199
|
+
//define TextCtrl constants
|
|
200
|
+
rb_define_const(rb_cWXComboBox,"MULTILINE",INT2NUM(wxTE_MULTILINE));
|
|
201
|
+
rb_define_const(rb_cWXComboBox,"PROCESS_TAB",INT2NUM(wxTE_PROCESS_TAB));
|
|
202
|
+
rb_define_const(rb_cWXComboBox,"PROCESS_ENTER",INT2NUM(wxTE_PROCESS_ENTER));
|
|
203
|
+
rb_define_const(rb_cWXComboBox,"PASSWORD",INT2NUM(wxTE_PASSWORD));
|
|
204
|
+
|
|
205
|
+
registerInfo<wxComboBox>(rb_cWXComboBox);
|
|
206
|
+
|
|
207
|
+
registerEventType("combobox",wxEVT_COMBOBOX);
|
|
208
|
+
registerEventType("combobox_dropdown",wxEVT_COMBOBOX_DROPDOWN);
|
|
209
|
+
registerEventType("combobox_closeup",wxEVT_COMBOBOX_CLOSEUP);
|
|
210
|
+
|
|
211
|
+
#endif
|
|
212
|
+
|
|
213
|
+
}
|
|
214
|
+
|