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,85 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxEvtHandler.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 17.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXEVTHANDLER_HPP_
|
|
9
|
+
#define WXEVTHANDLER_HPP_
|
|
10
|
+
|
|
11
|
+
#include "main.hpp"
|
|
12
|
+
|
|
13
|
+
#include "wxMenu.hpp"
|
|
14
|
+
#include "wxApp.hpp"
|
|
15
|
+
#include "wxWindow.hpp"
|
|
16
|
+
#include "wxEvent.hpp"
|
|
17
|
+
#include "wxCommandEvent.hpp"
|
|
18
|
+
#include "wxTaskBar.hpp"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
#include "wxTimer.hpp"
|
|
22
|
+
#include "wxAui.hpp"
|
|
23
|
+
|
|
24
|
+
#include <wx/sharedptr.h>
|
|
25
|
+
|
|
26
|
+
DLL_LOCAL void registerEventType(const char *sym, wxEventType type,wxClassInfo *info);
|
|
27
|
+
|
|
28
|
+
template<typename T>
|
|
29
|
+
DLL_LOCAL void registerEventType(const char *sym, wxEventTypeTag<T> type,VALUE klass)
|
|
30
|
+
{
|
|
31
|
+
registerEventType(sym,type,wxCLASSINFO(T));
|
|
32
|
+
if(!NIL_P(klass))
|
|
33
|
+
registerInfo<T>(klass);
|
|
34
|
+
}
|
|
35
|
+
template<typename T>
|
|
36
|
+
DLL_LOCAL void registerEventType(const char *sym, wxEventTypeTag<T> type)
|
|
37
|
+
{
|
|
38
|
+
registerEventType(sym,type,Qnil);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
DLL_LOCAL wxEventType unwrapEventType(VALUE type);
|
|
42
|
+
DLL_LOCAL VALUE wrapEventType(wxEventType type);
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class RubyClientData : public wxClientData
|
|
46
|
+
{
|
|
47
|
+
public:
|
|
48
|
+
RubyClientData(VALUE obj);
|
|
49
|
+
~RubyClientData();
|
|
50
|
+
VALUE mRuby;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
class RubyFunctor
|
|
54
|
+
{
|
|
55
|
+
public:
|
|
56
|
+
RubyFunctor(VALUE obj);
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
void operator()( wxEvent & event );
|
|
60
|
+
#if wxUSE_GUI
|
|
61
|
+
void operator()( wxCommandEvent & event );
|
|
62
|
+
#endif
|
|
63
|
+
#if wxUSE_TIMER
|
|
64
|
+
void operator()( wxTimerEvent & event );
|
|
65
|
+
#endif
|
|
66
|
+
private:
|
|
67
|
+
wxSharedPtr<RubyClientData> ptr;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
extern VALUE rb_mWXEvtHandler;
|
|
72
|
+
void Init_WXEvtHandler(VALUE rb_mWX);
|
|
73
|
+
|
|
74
|
+
template <>
|
|
75
|
+
wxEvtHandler* unwrap< wxEvtHandler* >(const VALUE &vhandler);
|
|
76
|
+
|
|
77
|
+
#define _created (_self->GetId() != wxID_ANY)
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
#if wxUSE_XRC
|
|
81
|
+
bool loadxrc(wxObject *self,VALUE name,wxWindow *parent);
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
#endif /* WXEVTHANDLER_HPP_ */
|
data/ext/wxFileCtrl.cpp
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxFileCtrl.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 16.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxFileCtrl.hpp"
|
|
9
|
+
|
|
10
|
+
VALUE rb_cWXFileCtrl;
|
|
11
|
+
|
|
12
|
+
#if wxUSE_FILECTRL
|
|
13
|
+
#define _self unwrap<wxFileCtrl*>(self)
|
|
14
|
+
|
|
15
|
+
namespace RubyWX {
|
|
16
|
+
namespace FileCtrl {
|
|
17
|
+
|
|
18
|
+
APP_PROTECT(wxFileCtrl)
|
|
19
|
+
|
|
20
|
+
/*
|
|
21
|
+
* call-seq:
|
|
22
|
+
* FileCtrl.new(parent, name, [options])
|
|
23
|
+
* FileCtrl.new(parent, [options])
|
|
24
|
+
*
|
|
25
|
+
* creates a new FileCtrl widget.
|
|
26
|
+
* ===Arguments
|
|
27
|
+
* * parent of this window or nil
|
|
28
|
+
* * name is a String describing a resource in a loaded xrc
|
|
29
|
+
*
|
|
30
|
+
* *options: Hash with possible options to set:
|
|
31
|
+
* * default_wildcard String default WildCard
|
|
32
|
+
* * default_directory String default directory
|
|
33
|
+
* * default_filename String default filename
|
|
34
|
+
*
|
|
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
|
+
|
|
41
|
+
if(!_created && !rb_obj_is_kind_of(name,rb_cString))
|
|
42
|
+
{
|
|
43
|
+
wxWindowID id(wxID_ANY);
|
|
44
|
+
int style(wxFC_DEFAULT_STYLE);
|
|
45
|
+
|
|
46
|
+
wxString defaultDirectory(wxEmptyString);
|
|
47
|
+
wxString defaultFilename(wxEmptyString);
|
|
48
|
+
wxString defaultWildCard(wxFileSelectorDefaultWildcardStr);
|
|
49
|
+
|
|
50
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
51
|
+
{
|
|
52
|
+
set_hash_option(hash,"id",id,unwrapID);
|
|
53
|
+
set_hash_option(hash,"style",style);
|
|
54
|
+
|
|
55
|
+
set_hash_option(hash,"default_directory",defaultDirectory);
|
|
56
|
+
set_hash_option(hash,"default_filename",defaultFilename);
|
|
57
|
+
set_hash_option(hash,"default_wildcard",defaultWildCard,unwrapWildCard);
|
|
58
|
+
|
|
59
|
+
FileCtrlBase::set_style_flags(hash,style);
|
|
60
|
+
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
_self->Create(unwrap<wxWindow*>(parent),id,defaultDirectory,defaultFilename,defaultWildCard,style);
|
|
64
|
+
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
rb_call_super(argc,argv);
|
|
68
|
+
return self;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
#endif
|
|
75
|
+
DLL_LOCAL void Init_WXFileCtrl(VALUE rb_mWX)
|
|
76
|
+
{
|
|
77
|
+
#if 0
|
|
78
|
+
rb_mWX = rb_define_module("WX");
|
|
79
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
80
|
+
|
|
81
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
82
|
+
#endif
|
|
83
|
+
|
|
84
|
+
#if wxUSE_FILECTRL
|
|
85
|
+
using namespace RubyWX::FileCtrl;
|
|
86
|
+
rb_cWXFileCtrl = rb_define_class_under(rb_mWX,"FileCtrl",rb_cWXFileCtrlBase);
|
|
87
|
+
rb_define_alloc_func(rb_cWXFileCtrl,_alloc);
|
|
88
|
+
|
|
89
|
+
rb_define_method(rb_cWXFileCtrl,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
90
|
+
|
|
91
|
+
registerInfo<wxFileCtrl>(rb_cWXFileCtrl);
|
|
92
|
+
#endif
|
|
93
|
+
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
data/ext/wxFileCtrl.hpp
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxFileCtrl.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 16.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXFILECTRL_HPP_
|
|
9
|
+
#define WXFILECTRL_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxFileCtrlBase.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXFileCtrl;
|
|
14
|
+
|
|
15
|
+
void Init_WXFileCtrl(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#endif /* WXFILECTRL_HPP_ */
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxFileCtrlBase.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 07.05.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxFileCtrlBase.hpp"
|
|
9
|
+
#include "wxCommandEvent.hpp"
|
|
10
|
+
|
|
11
|
+
VALUE rb_cWXFileCtrlBase,rb_cWXFileCtrlEvent;
|
|
12
|
+
|
|
13
|
+
wxString unwrapWildCard(const VALUE &val)
|
|
14
|
+
{
|
|
15
|
+
wxString wildcard(unwrap<wxString>(val));
|
|
16
|
+
wxArrayString wild,desc;
|
|
17
|
+
|
|
18
|
+
if(!wxParseCommonDialogsFilter(wildcard,wild,desc)){
|
|
19
|
+
rb_raise(rb_eArgError,"'%"PRIsVALUE"' is not a valid wildcard", val);
|
|
20
|
+
return wxEmptyString;
|
|
21
|
+
}
|
|
22
|
+
return wildcard;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
bool check_filter_index(int& filter,const wxString& wildcard)
|
|
26
|
+
{
|
|
27
|
+
wxArrayString wild,desc;
|
|
28
|
+
return check_index(filter,wxParseCommonDialogsFilter(wildcard,wild,desc));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
#if wxUSE_FILECTRL
|
|
32
|
+
template <>
|
|
33
|
+
wxFileCtrlBase* unwrap<wxFileCtrlBase*>(const VALUE &arg)
|
|
34
|
+
{
|
|
35
|
+
return unwrapTypedPtr<wxFileCtrlBase>(arg,rb_cWXFileCtrlBase);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
#define _self unwrap<wxFileCtrlBase*>(self)
|
|
39
|
+
|
|
40
|
+
namespace RubyWX {
|
|
41
|
+
namespace FileCtrlBase {
|
|
42
|
+
|
|
43
|
+
macro_attr_with_func(Wildcard,wrap,unwrapWildCard)
|
|
44
|
+
macro_attr(Directory,wxString)
|
|
45
|
+
macro_attr(Filename,wxString)
|
|
46
|
+
macro_attr(Path,wxString)
|
|
47
|
+
|
|
48
|
+
singlereturn(GetFilterIndex)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
void set_style_flags(VALUE hash,int& flags)
|
|
52
|
+
{
|
|
53
|
+
|
|
54
|
+
set_hash_flag_option(hash,"open",wxFC_OPEN,flags);
|
|
55
|
+
set_hash_flag_option(hash,"save",wxFC_SAVE,flags);
|
|
56
|
+
set_hash_flag_option(hash,"multiple",wxFC_MULTIPLE,flags);
|
|
57
|
+
set_hash_flag_option(hash,"no_show_hidden",wxFC_NOSHOWHIDDEN,flags);
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
VALUE _setFilterIndex(VALUE self,VALUE other)
|
|
62
|
+
{
|
|
63
|
+
rb_check_frozen(self);
|
|
64
|
+
int filter(NUM2INT(other));
|
|
65
|
+
|
|
66
|
+
if(check_filter_index(filter,_self->GetWildcard()))
|
|
67
|
+
_self->SetFilterIndex(filter);
|
|
68
|
+
|
|
69
|
+
return other;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* call-seq:
|
|
75
|
+
* FileCtrlBase.new(parent, [options])
|
|
76
|
+
*
|
|
77
|
+
* creates a new FileCtrlBase widget.
|
|
78
|
+
* ===Arguments
|
|
79
|
+
* * parent of this window or nil
|
|
80
|
+
*
|
|
81
|
+
* *options: Hash with possible options to set:
|
|
82
|
+
* * wildcard String default WildCard
|
|
83
|
+
* * directory String default directory
|
|
84
|
+
* * filename String default filename
|
|
85
|
+
* * path String default path
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
89
|
+
{
|
|
90
|
+
VALUE parent,name,hash;
|
|
91
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
92
|
+
|
|
93
|
+
rb_call_super(argc,argv);
|
|
94
|
+
if(rb_obj_is_kind_of(hash,rb_cHash))
|
|
95
|
+
{
|
|
96
|
+
int filter;
|
|
97
|
+
VALUE temp;
|
|
98
|
+
set_option_func(wildcard,Wildcard,unwrapWildCard)
|
|
99
|
+
set_option(directory,Directory,wxString)
|
|
100
|
+
set_option(filename,Filename,wxString)
|
|
101
|
+
set_option(path,Path,wxString)
|
|
102
|
+
|
|
103
|
+
if(set_hash_option(hash,"filter_index",filter))
|
|
104
|
+
{
|
|
105
|
+
if(check_filter_index(filter,_self->GetWildcard()))
|
|
106
|
+
_self->SetFilterIndex(filter);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return self;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
namespace Event
|
|
113
|
+
{
|
|
114
|
+
#undef _self
|
|
115
|
+
#define _self unwrap<wxFileCtrlEvent*>(self)
|
|
116
|
+
|
|
117
|
+
macro_attr(Directory,wxString)
|
|
118
|
+
macro_attr(Files,wxArrayString)
|
|
119
|
+
macro_attr(FilterIndex,int)
|
|
120
|
+
|
|
121
|
+
singlereturn(GetFile)
|
|
122
|
+
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
#endif
|
|
128
|
+
|
|
129
|
+
/* Document-attr: wildcard
|
|
130
|
+
* the wildcard of the FileCtrl. String, raise an ArgumentError if wildcard has wrong format
|
|
131
|
+
*/
|
|
132
|
+
/* Document-attr: filter_index
|
|
133
|
+
* the filter_index of the FileCtrl.
|
|
134
|
+
* Can't be higher than filters in wildcard. Integer
|
|
135
|
+
*/
|
|
136
|
+
/* Document-attr: directory
|
|
137
|
+
* the directory of the FileCtrl. String
|
|
138
|
+
*/
|
|
139
|
+
/* Document-attr: filename
|
|
140
|
+
* the filename of the FileCtrl. String
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
/* Document-const: OPEN
|
|
144
|
+
* creates control in "open" mode
|
|
145
|
+
*/
|
|
146
|
+
/* Document-const: SAVE
|
|
147
|
+
* creates control in "save" mode
|
|
148
|
+
*/
|
|
149
|
+
/* Document-const: MULTIPLE
|
|
150
|
+
* allows to select multiple files
|
|
151
|
+
*/
|
|
152
|
+
/* Document-const: NOSHOWHIDDEN
|
|
153
|
+
* hides files that are marked hidden.
|
|
154
|
+
*/
|
|
155
|
+
/* Document-const: DEFAULT_STYLE
|
|
156
|
+
* default style for this control.
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
DLL_LOCAL void Init_WXFileCtrlBase(VALUE rb_mWX)
|
|
160
|
+
{
|
|
161
|
+
#if 0
|
|
162
|
+
rb_mWX = rb_define_module("WX");
|
|
163
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
164
|
+
|
|
165
|
+
rb_cWXControl = rb_define_class_under(rb_mWX,"Control",rb_cWXWindow);
|
|
166
|
+
|
|
167
|
+
rb_cWXEvent = rb_define_class_under(rb_mWX,"Event",rb_cObject);
|
|
168
|
+
rb_cWXCommandEvent = rb_define_class_under(rb_cWXEvent,"Command",rb_cWXEvent);
|
|
169
|
+
|
|
170
|
+
rb_define_attr(rb_cWXFileCtrlBase,"wildcard",1,1);
|
|
171
|
+
rb_define_attr(rb_cWXFileCtrlBase,"directory",1,1);
|
|
172
|
+
rb_define_attr(rb_cWXFileCtrlBase,"filename",1,1);
|
|
173
|
+
rb_define_attr(rb_cWXFileCtrlBase,"filter_index",1,1);
|
|
174
|
+
|
|
175
|
+
rb_define_attr(rb_cWXFileCtrlEvent,"directory",1,1);
|
|
176
|
+
rb_define_attr(rb_cWXFileCtrlEvent,"filter_index",1,1);
|
|
177
|
+
|
|
178
|
+
rb_define_attr(rb_cWXFileCtrlEvent,"files",1,1);
|
|
179
|
+
|
|
180
|
+
#endif
|
|
181
|
+
|
|
182
|
+
#if wxUSE_FILECTRL
|
|
183
|
+
using namespace RubyWX::FileCtrlBase;
|
|
184
|
+
rb_cWXFileCtrlBase = rb_define_class_under(rb_mWX,"FileCtrlBase",rb_cWXControl);
|
|
185
|
+
rb_undef_alloc_func(rb_cWXFileCtrlBase);
|
|
186
|
+
|
|
187
|
+
rb_define_method(rb_cWXFileCtrlBase,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
188
|
+
|
|
189
|
+
rb_define_attr_method(rb_cWXFileCtrlBase,"wildcard",_getWildcard,_setWildcard);
|
|
190
|
+
rb_define_attr_method(rb_cWXFileCtrlBase,"directory",_getDirectory,_setDirectory);
|
|
191
|
+
rb_define_attr_method(rb_cWXFileCtrlBase,"filename",_getFilename,_setFilename);
|
|
192
|
+
rb_define_attr_method(rb_cWXFileCtrlBase,"filter_index",_GetFilterIndex,_setFilterIndex);
|
|
193
|
+
|
|
194
|
+
rb_define_const(rb_cWXFileCtrlBase,"OPEN",INT2NUM(wxFC_OPEN));
|
|
195
|
+
rb_define_const(rb_cWXFileCtrlBase,"SAVE",INT2NUM(wxFC_SAVE));
|
|
196
|
+
rb_define_const(rb_cWXFileCtrlBase,"MULTIPLE",INT2NUM(wxFC_MULTIPLE));
|
|
197
|
+
rb_define_const(rb_cWXFileCtrlBase,"NOSHOWHIDDEN",INT2NUM(wxFC_NOSHOWHIDDEN));
|
|
198
|
+
|
|
199
|
+
rb_define_const(rb_cWXFileCtrlBase,"DEFAULT_STYLE",INT2NUM(wxFC_DEFAULT_STYLE));
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
rb_cWXFileCtrlEvent = rb_define_class_under(rb_cWXEvent,"FileCtrl",rb_cWXCommandEvent);
|
|
203
|
+
registerEventType("filectrl_selectionchanged",wxEVT_FILECTRL_SELECTIONCHANGED,rb_cWXFileCtrlEvent);
|
|
204
|
+
registerEventType("filectrl_fileactivated",wxEVT_FILECTRL_FILEACTIVATED,rb_cWXFileCtrlEvent);
|
|
205
|
+
registerEventType("filectrl_folderchanged",wxEVT_FILECTRL_FOLDERCHANGED,rb_cWXFileCtrlEvent);
|
|
206
|
+
registerEventType("filectrl_filterchanged",wxEVT_FILECTRL_FILTERCHANGED,rb_cWXFileCtrlEvent);
|
|
207
|
+
|
|
208
|
+
rb_define_attr_method(rb_cWXFileCtrlEvent,"directory",Event::_getDirectory,Event::_setDirectory);
|
|
209
|
+
rb_define_attr_method(rb_cWXFileCtrlEvent,"filter_index",Event::_getFilterIndex,Event::_setFilterIndex);
|
|
210
|
+
|
|
211
|
+
rb_define_attr_method(rb_cWXFileCtrlEvent,"files",Event::_getFiles,Event::_setFiles);
|
|
212
|
+
|
|
213
|
+
registerType<wxFileCtrlBase>(rb_cWXFileCtrlBase);
|
|
214
|
+
#endif
|
|
215
|
+
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxFileCtrlBase.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 07.05.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXFILECTRLBASE_HPP_
|
|
9
|
+
#define WXFILECTRLBASE_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxControl.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXFileCtrlBase;
|
|
14
|
+
|
|
15
|
+
void Init_WXFileCtrlBase(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
wxString unwrapWildCard(const VALUE& val);
|
|
18
|
+
bool check_filter_index(int& filter,const wxString& wildcard);
|
|
19
|
+
|
|
20
|
+
#if wxUSE_FILECTRL
|
|
21
|
+
#include <wx/filectrl.h>
|
|
22
|
+
#endif
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
namespace RubyWX {
|
|
26
|
+
namespace FileCtrlBase {
|
|
27
|
+
|
|
28
|
+
void set_style_flags(VALUE hash,int& flags);
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
#endif /* WXFILECTRLBASE_HPP_ */
|