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/wxMenu.hpp
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMenu.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 17.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXMENU_HPP_
|
|
9
|
+
#define WXMENU_HPP_
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#include "main.hpp"
|
|
13
|
+
|
|
14
|
+
extern VALUE rb_cWXMenu;
|
|
15
|
+
DLL_LOCAL void Init_WXMenu(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#endif /* WXMENU_HPP_ */
|
data/ext/wxMenuBar.cpp
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMenuBar.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 24.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxApp.hpp"
|
|
9
|
+
|
|
10
|
+
#include "wxMenu.hpp"
|
|
11
|
+
#include "wxEvtHandler.hpp"
|
|
12
|
+
|
|
13
|
+
VALUE rb_cWXMenuBar;
|
|
14
|
+
|
|
15
|
+
#if wxUSE_MENUS
|
|
16
|
+
#define _self unwrap<wxMenuBar*>(self)
|
|
17
|
+
|
|
18
|
+
namespace RubyWX {
|
|
19
|
+
namespace MenuBar {
|
|
20
|
+
|
|
21
|
+
APP_PROTECT(wxMenuBar)
|
|
22
|
+
|
|
23
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
24
|
+
{
|
|
25
|
+
rb_call_super(argc,argv);
|
|
26
|
+
return self;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
DLL_LOCAL VALUE _each_size(VALUE self)
|
|
30
|
+
{
|
|
31
|
+
return UINT2NUM(_self->GetMenuCount());
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
DLL_LOCAL VALUE _each(VALUE self)
|
|
36
|
+
{
|
|
37
|
+
RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_each_size));
|
|
38
|
+
std::size_t count = _self->GetMenuCount();
|
|
39
|
+
for(std::size_t i = 0;i < count;++i)
|
|
40
|
+
rb_yield(wrap(_self->GetMenu(i)));
|
|
41
|
+
return self;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
wxMenu* add_base(VALUE menu,wxString &name)
|
|
46
|
+
{
|
|
47
|
+
wxMenu *m = NULL;
|
|
48
|
+
if(!rb_obj_is_kind_of(menu,rb_cWXMenu))
|
|
49
|
+
{
|
|
50
|
+
m = new wxMenu;
|
|
51
|
+
if(rb_block_given_p())
|
|
52
|
+
rb_yield(wrap(m));
|
|
53
|
+
|
|
54
|
+
name = unwrap<wxString>(menu);
|
|
55
|
+
|
|
56
|
+
if(SYMBOL_P(menu))
|
|
57
|
+
{
|
|
58
|
+
wxWindowID id(unwrapID(menu));
|
|
59
|
+
if(wxIsStockID(id))
|
|
60
|
+
{
|
|
61
|
+
name = wxGetStockLabel(id);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
} else {
|
|
66
|
+
m = unwrap<wxMenu*>(menu);
|
|
67
|
+
name = m->GetTitle();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if(name.IsEmpty())
|
|
71
|
+
rb_raise(rb_eArgError,"Menu must have a title.");
|
|
72
|
+
|
|
73
|
+
return m;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
DLL_LOCAL VALUE _appendSelf(VALUE self,VALUE menu)
|
|
77
|
+
{
|
|
78
|
+
wxString name(wxEmptyString);
|
|
79
|
+
|
|
80
|
+
_self->Append(add_base(menu,name),name);
|
|
81
|
+
return self;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* call-seq:
|
|
87
|
+
* append(menu) -> true/false
|
|
88
|
+
* append(title) {|menu| } -> true/false
|
|
89
|
+
* ===Arguments
|
|
90
|
+
* * menu WX::Menu
|
|
91
|
+
* * title String
|
|
92
|
+
*
|
|
93
|
+
* ===Return value
|
|
94
|
+
* true/false
|
|
95
|
+
*/
|
|
96
|
+
DLL_LOCAL VALUE _append(VALUE self,VALUE menu)
|
|
97
|
+
{
|
|
98
|
+
wxString name(wxEmptyString);
|
|
99
|
+
|
|
100
|
+
return wrap(_self->Append(add_base(menu,name),name));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/*
|
|
105
|
+
* call-seq:
|
|
106
|
+
* insert(idx, menu) -> true/false
|
|
107
|
+
* insert(idx, title) {|menu| } -> true/false
|
|
108
|
+
* ===Arguments
|
|
109
|
+
* * idx Integer
|
|
110
|
+
* * menu WX::Menu
|
|
111
|
+
* * title String
|
|
112
|
+
*
|
|
113
|
+
* ===Return value
|
|
114
|
+
* true/false
|
|
115
|
+
*/
|
|
116
|
+
DLL_LOCAL VALUE _insert(VALUE self,VALUE idx,VALUE menu)
|
|
117
|
+
{
|
|
118
|
+
wxString name(wxEmptyString);
|
|
119
|
+
int cidx = NUM2INT(idx);
|
|
120
|
+
|
|
121
|
+
if(check_index(cidx,_self->GetMenuCount()+1))
|
|
122
|
+
return wrap(_self->Insert(cidx,add_base(menu,name),name));
|
|
123
|
+
|
|
124
|
+
return Qnil;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
/*
|
|
129
|
+
* call-seq:
|
|
130
|
+
* prepend(menu) -> true/false
|
|
131
|
+
* prepend(title) {|menu| } -> true/false
|
|
132
|
+
* ===Arguments
|
|
133
|
+
* * menu WX::Menu
|
|
134
|
+
* * title String
|
|
135
|
+
*
|
|
136
|
+
* ===Return value
|
|
137
|
+
* true/false
|
|
138
|
+
*/
|
|
139
|
+
DLL_LOCAL VALUE _prepend(VALUE self,VALUE menu)
|
|
140
|
+
{
|
|
141
|
+
wxString name(wxEmptyString);
|
|
142
|
+
|
|
143
|
+
return wrap(_self->Insert(0,add_base(menu,name),name));
|
|
144
|
+
}
|
|
145
|
+
singlereturn(GetFrame);
|
|
146
|
+
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#endif
|
|
151
|
+
|
|
152
|
+
DLL_LOCAL void Init_WXMenuBar(VALUE rb_mWX)
|
|
153
|
+
{
|
|
154
|
+
#if 0
|
|
155
|
+
rb_mWX = rb_define_module("WX");
|
|
156
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
157
|
+
|
|
158
|
+
#endif
|
|
159
|
+
#if wxUSE_MENUS
|
|
160
|
+
using namespace RubyWX::MenuBar;
|
|
161
|
+
rb_cWXMenuBar = rb_define_class_under(rb_mWX,"MenuBar",rb_cWXWindow);
|
|
162
|
+
rb_define_alloc_func(rb_cWXMenuBar,_alloc);
|
|
163
|
+
|
|
164
|
+
rb_define_method(rb_cWXMenuBar,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
165
|
+
|
|
166
|
+
rb_define_method(rb_cWXMenuBar,"each_menu",RUBY_METHOD_FUNC(_each),0);
|
|
167
|
+
|
|
168
|
+
rb_define_method(rb_cWXMenuBar,"<<",RUBY_METHOD_FUNC(_appendSelf),1);
|
|
169
|
+
|
|
170
|
+
rb_define_method(rb_cWXMenuBar,"append",RUBY_METHOD_FUNC(_append),1);
|
|
171
|
+
rb_define_method(rb_cWXMenuBar,"insert",RUBY_METHOD_FUNC(_insert),2);
|
|
172
|
+
rb_define_method(rb_cWXMenuBar,"prepend",RUBY_METHOD_FUNC(_prepend),1);
|
|
173
|
+
|
|
174
|
+
rb_define_method(rb_cWXMenuBar,"frame",RUBY_METHOD_FUNC(_GetFrame),0);
|
|
175
|
+
|
|
176
|
+
rb_define_const(rb_cWXMenuBar,"DOCKABLE",INT2NUM(wxMB_DOCKABLE));
|
|
177
|
+
|
|
178
|
+
registerInfo<wxMenuBar>(rb_cWXMenuBar);
|
|
179
|
+
#endif
|
|
180
|
+
}
|
data/ext/wxMenuBar.hpp
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMenuBar.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 24.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXMENUBAR_HPP_
|
|
9
|
+
#define WXMENUBAR_HPP_
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#include "wxWindow.hpp"
|
|
13
|
+
|
|
14
|
+
extern VALUE rb_cWXMenuBar;
|
|
15
|
+
DLL_LOCAL void Init_WXMenuBar(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#endif /* WXMENUBAR_HPP_ */
|
data/ext/wxMenuItem.cpp
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMenuItem.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 18.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#include "wxWindow.hpp"
|
|
9
|
+
#include "wxApp.hpp"
|
|
10
|
+
#include "wxMenu.hpp"
|
|
11
|
+
#include "wxMenuItem.hpp"
|
|
12
|
+
#include "wxBitmap.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
VALUE rb_cWXMenuItem;
|
|
17
|
+
|
|
18
|
+
#if wxUSE_MENUS
|
|
19
|
+
|
|
20
|
+
#define _self unwrap<wxMenuItem*>(self)
|
|
21
|
+
|
|
22
|
+
namespace RubyWX {
|
|
23
|
+
namespace MenuItem {
|
|
24
|
+
|
|
25
|
+
APP_PROTECT(wxMenuItem)
|
|
26
|
+
|
|
27
|
+
macro_attr(Menu,wxMenu*)
|
|
28
|
+
macro_attr(ItemLabel,wxString)
|
|
29
|
+
macro_attr_with_func(Id,wrapID,unwrapID)
|
|
30
|
+
macro_attr_enum(Kind,wxItemKind)
|
|
31
|
+
macro_attr(SubMenu,wxMenu*)
|
|
32
|
+
|
|
33
|
+
macro_attr(Help,wxString)
|
|
34
|
+
|
|
35
|
+
singlereturn(GetBitmap)
|
|
36
|
+
|
|
37
|
+
DLL_LOCAL VALUE _SetBitmap(VALUE self,VALUE val)
|
|
38
|
+
{
|
|
39
|
+
rb_check_frozen(self);
|
|
40
|
+
_self->SetBitmap(wrapBitmap(val,_self->GetId(),WRAP_BITMAP_RAISE,wxART_MENU));
|
|
41
|
+
return val;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/*
|
|
45
|
+
*/
|
|
46
|
+
DLL_LOCAL VALUE _initialize_copy(VALUE self,VALUE other)
|
|
47
|
+
{
|
|
48
|
+
_setItemLabel(self,_getItemLabel(other));
|
|
49
|
+
_setId(self,_getId(other));
|
|
50
|
+
_setKind(self,_getKind(other));
|
|
51
|
+
_setSubMenu(self,_getSubMenu(other));
|
|
52
|
+
_setHelp(self,_getHelp(other));
|
|
53
|
+
_SetBitmap(self,_GetBitmap(other));
|
|
54
|
+
return self;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* call-seq:
|
|
59
|
+
* marshal_dump -> Array
|
|
60
|
+
*
|
|
61
|
+
* Provides marshalling support for use by the Marshal library.
|
|
62
|
+
* ===Return value
|
|
63
|
+
* Array
|
|
64
|
+
*/
|
|
65
|
+
DLL_LOCAL VALUE _marshal_dump(VALUE self)
|
|
66
|
+
{
|
|
67
|
+
VALUE result = rb_ary_new();
|
|
68
|
+
|
|
69
|
+
rb_ary_push(result,_getItemLabel(self));
|
|
70
|
+
rb_ary_push(result,_getId(self));
|
|
71
|
+
rb_ary_push(result,_getKind(self));
|
|
72
|
+
// rb_ary_push(result,_getSubMenu(self));
|
|
73
|
+
rb_ary_push(result,_getHelp(self));
|
|
74
|
+
#if wxUSE_IMAGE
|
|
75
|
+
rb_ary_push(result,_GetBitmap(self));
|
|
76
|
+
#endif
|
|
77
|
+
return result;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/*
|
|
81
|
+
* call-seq:
|
|
82
|
+
* marshal_load(array) -> nil
|
|
83
|
+
*
|
|
84
|
+
* Provides marshalling support for use by the Marshal library.
|
|
85
|
+
*
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
88
|
+
DLL_LOCAL VALUE _marshal_load(VALUE self,VALUE data)
|
|
89
|
+
{
|
|
90
|
+
_setItemLabel(self,RARRAY_AREF(data,0));
|
|
91
|
+
_setId(self,RARRAY_AREF(data,1));
|
|
92
|
+
_setKind(self,RARRAY_AREF(data,2));
|
|
93
|
+
|
|
94
|
+
_setHelp(self,RARRAY_AREF(data,3));
|
|
95
|
+
#if wxUSE_IMAGE
|
|
96
|
+
_SetBitmap(self,RARRAY_AREF(data,4));
|
|
97
|
+
#endif
|
|
98
|
+
return self;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
/*
|
|
108
|
+
* Document-class: WX::Menu::Item
|
|
109
|
+
*
|
|
110
|
+
* This class represents an Item inside a WX::Menu
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
/* Document-attr: menu
|
|
114
|
+
* returns the parent menu, this attribute are not copied with inititalize_copy or stored with Marshal
|
|
115
|
+
*/
|
|
116
|
+
/* Document-attr: label
|
|
117
|
+
* returns the label of the menu item. Type is String
|
|
118
|
+
*/
|
|
119
|
+
/* Document-attr: id
|
|
120
|
+
* returns the Id of the menu item. Type can be Symbol,if pre- or user defined, or Integer if auto generated.
|
|
121
|
+
*/
|
|
122
|
+
/* Document-attr: sub_menu
|
|
123
|
+
* returns the sub_menu, currently can be copied with inititalize_copy but not stored with Marshal
|
|
124
|
+
*/
|
|
125
|
+
/* Document-attr: help
|
|
126
|
+
* returns the help string of the menu item. Type is String
|
|
127
|
+
*/
|
|
128
|
+
/* Document-attr: bitmap
|
|
129
|
+
* returns the Bitmap, currently can be copied with inititalize_copy but only stored with Marshal when wxImage is available
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
DLL_LOCAL void Init_WXMenuItem(VALUE rb_mWX)
|
|
133
|
+
{
|
|
134
|
+
#if 0
|
|
135
|
+
rb_cWXMenu = rb_define_class_under(rb_mWX,"Menu",rb_cObject);
|
|
136
|
+
|
|
137
|
+
rb_define_attr(rb_cWXMenuItem,"menu",1,1);
|
|
138
|
+
rb_define_attr(rb_cWXMenuItem,"label",1,1);
|
|
139
|
+
rb_define_attr(rb_cWXMenuItem,"id",1,1);
|
|
140
|
+
|
|
141
|
+
rb_define_attr(rb_cWXMenuItem,"sub_menu",1,1);
|
|
142
|
+
|
|
143
|
+
rb_define_attr(rb_cWXMenuItem,"help",1,1);
|
|
144
|
+
|
|
145
|
+
rb_define_attr(rb_cWXMenuItem,"bitmap",1,1);
|
|
146
|
+
|
|
147
|
+
#endif
|
|
148
|
+
|
|
149
|
+
#if wxUSE_MENUS
|
|
150
|
+
using namespace RubyWX::MenuItem;
|
|
151
|
+
//
|
|
152
|
+
rb_cWXMenuItem = rb_define_class_under(rb_cWXMenu,"Item",rb_cObject);
|
|
153
|
+
rb_define_alloc_func(rb_cWXMenuItem,_alloc);
|
|
154
|
+
|
|
155
|
+
rb_define_private_method(rb_cWXMenuItem,"initialize_copy",RUBY_METHOD_FUNC(_initialize_copy),0);
|
|
156
|
+
|
|
157
|
+
rb_define_attr_method(rb_cWXMenuItem,"menu",_getMenu,_setMenu);
|
|
158
|
+
rb_define_attr_method(rb_cWXMenuItem,"label",_getItemLabel,_setItemLabel);
|
|
159
|
+
rb_define_attr_method(rb_cWXMenuItem,"id",_getId,_setId);
|
|
160
|
+
|
|
161
|
+
rb_define_attr_method(rb_cWXMenuItem,"sub_menu",_getSubMenu,_setSubMenu);
|
|
162
|
+
|
|
163
|
+
rb_define_attr_method(rb_cWXMenuItem,"help",_getHelp,_setHelp);
|
|
164
|
+
|
|
165
|
+
rb_define_attr_method(rb_cWXMenuItem,"bitmap",_GetBitmap,_SetBitmap);
|
|
166
|
+
|
|
167
|
+
rb_define_method(rb_cWXMenuItem,"marshal_dump",RUBY_METHOD_FUNC(_marshal_dump),0);
|
|
168
|
+
rb_define_method(rb_cWXMenuItem,"marshal_load",RUBY_METHOD_FUNC(_marshal_load),1);
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
registerInfo<wxMenuItem>(rb_cWXMenuItem);
|
|
172
|
+
|
|
173
|
+
#endif
|
|
174
|
+
}
|
data/ext/wxMenuItem.hpp
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMenuItem.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 18.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXMENUITEM_HPP_
|
|
9
|
+
#define WXMENUITEM_HPP_
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#include "main.hpp"
|
|
13
|
+
|
|
14
|
+
extern VALUE rb_cWXMenuItem;
|
|
15
|
+
DLL_LOCAL void Init_WXMenuItem(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
#endif /* WXMENUITEM_HPP_ */
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxMessageDialog.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 25.11.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include "wxMessageDialog.hpp"
|
|
10
|
+
|
|
11
|
+
VALUE rb_cWXMessageDialog;
|
|
12
|
+
|
|
13
|
+
#if wxUSE_MSGDLG
|
|
14
|
+
#define _self unwrap<wxMessageDialog*>(self)
|
|
15
|
+
|
|
16
|
+
namespace RubyWX {
|
|
17
|
+
namespace MessageDialog {
|
|
18
|
+
|
|
19
|
+
#ifdef HAVE_WXMESSAGEDIALOG
|
|
20
|
+
APP_PROTECT(wxMessageDialog)
|
|
21
|
+
#else
|
|
22
|
+
APP_PROTECT_NULL
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
26
|
+
{
|
|
27
|
+
VALUE parent,name,hash;
|
|
28
|
+
rb_scan_args(argc, argv, "11:",&parent,&name,&hash);
|
|
29
|
+
|
|
30
|
+
wxString message;
|
|
31
|
+
wxString caption(wxMessageBoxCaptionStr);
|
|
32
|
+
int style(wxOK|wxCENTRE);
|
|
33
|
+
|
|
34
|
+
#ifdef HAVE_WXMESSAGEDIALOG
|
|
35
|
+
if(!_created && rb_obj_is_kind_of(name,rb_cString)) {
|
|
36
|
+
|
|
37
|
+
if(rb_obj_is_kind_of(hash,rb_cHash)) {
|
|
38
|
+
set_hash_option(hash,"message",message);
|
|
39
|
+
set_hash_option(hash,"caption",caption);
|
|
40
|
+
set_hash_option(hash,"style",style);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
_self->Create(
|
|
44
|
+
unwrap<wxWindow*>(parent),message,caption,style
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
#else
|
|
49
|
+
if(rb_obj_is_kind_of(hash,rb_cHash)) {
|
|
50
|
+
set_hash_option(hash,"message",message);
|
|
51
|
+
set_hash_option(hash,"caption",caption);
|
|
52
|
+
set_hash_option(hash,"style",style);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
RTYPEDDATA_DATA(self) = new wxMessageDialog(
|
|
56
|
+
unwrap<wxWindow*>(parent),message,caption,style
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
rb_call_super(argc,argv);
|
|
62
|
+
return self;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
#endif
|
|
69
|
+
DLL_LOCAL void Init_WXMessageDialog(VALUE rb_mWX)
|
|
70
|
+
{
|
|
71
|
+
|
|
72
|
+
#if 0
|
|
73
|
+
rb_mWX = rb_define_module("WX");
|
|
74
|
+
rb_cWXWindow = rb_define_class_under(rb_mWX,"Window",rb_cObject);
|
|
75
|
+
|
|
76
|
+
rb_cWXTopLevel = rb_define_class_under(rb_mWX,"TopLevel",rb_cWXWindow);
|
|
77
|
+
rb_cWXDialog = rb_define_class_under(rb_mWX,"Dialog",rb_cWXTopLevel);
|
|
78
|
+
rb_cWXMessageDialogBase = rb_define_class_under(rb_mWX,"MessageDialogBase",rb_cWXDialog);
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
#if wxUSE_MSGDLG
|
|
82
|
+
using namespace RubyWX::MessageDialog;
|
|
83
|
+
rb_cWXMessageDialog = rb_define_class_under(rb_mWX,"MessageDialog",rb_cWXMessageDialogBase);
|
|
84
|
+
rb_define_alloc_func(rb_cWXMessageDialog,_alloc);
|
|
85
|
+
|
|
86
|
+
rb_define_method(rb_cWXMessageDialog,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
87
|
+
|
|
88
|
+
registerInfo<wxMessageDialog>(rb_cWXMessageDialog);
|
|
89
|
+
#endif
|
|
90
|
+
|
|
91
|
+
}
|