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/wxSize.hpp
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxSize.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 04.02.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXSIZE_HPP_
|
|
9
|
+
#define WXSIZE_HPP_
|
|
10
|
+
|
|
11
|
+
#include "main.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXSize;
|
|
14
|
+
void Init_WXSize(VALUE rb_mWX);
|
|
15
|
+
|
|
16
|
+
extern ID rwxID_width,rwxID_height;
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
template <>
|
|
20
|
+
VALUE wrap< wxSize >(wxSize *size );
|
|
21
|
+
|
|
22
|
+
template <>
|
|
23
|
+
bool is_wrapable< wxSize >(const VALUE &vsize);
|
|
24
|
+
|
|
25
|
+
template <>
|
|
26
|
+
wxSize unwrap< wxSize >(const VALUE &vsize);
|
|
27
|
+
|
|
28
|
+
bool check_negative_size(VALUE val, wxSize &size);
|
|
29
|
+
bool check_negative_size(const int &width, const int &height);
|
|
30
|
+
bool check_negative_size(const wxSize &size);
|
|
31
|
+
|
|
32
|
+
#endif /* WXSIZE_HPP_ */
|
data/ext/wxSizer.cpp
ADDED
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxSizer.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 20.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
#include "wxSizer.hpp"
|
|
8
|
+
#include "wxSizerItem.hpp"
|
|
9
|
+
#include "wxWindow.hpp"
|
|
10
|
+
#include "wxPoint.hpp"
|
|
11
|
+
|
|
12
|
+
#define _self unwrap<wxSizer*>(self)
|
|
13
|
+
|
|
14
|
+
VALUE rb_cWXSizer;
|
|
15
|
+
|
|
16
|
+
template <>
|
|
17
|
+
wxSizerFlags unwrap< wxSizerFlags >(const VALUE &hash)
|
|
18
|
+
{
|
|
19
|
+
wxSizerFlags result;
|
|
20
|
+
if(!rb_obj_is_kind_of(hash,rb_cHash))
|
|
21
|
+
return result;
|
|
22
|
+
VALUE val;
|
|
23
|
+
|
|
24
|
+
if(RTEST(rb_hash_aref(hash,ID2SYM(rb_intern("expand")))))
|
|
25
|
+
result.Expand();
|
|
26
|
+
if(RTEST(rb_hash_aref(hash,ID2SYM(rb_intern("border")))))
|
|
27
|
+
result.Border();
|
|
28
|
+
if(!NIL_P(val=rb_hash_aref(hash,ID2SYM(rb_intern("proportion")))))
|
|
29
|
+
result.Proportion(NUM2INT(val));
|
|
30
|
+
if(!NIL_P(val=rb_hash_aref(hash,ID2SYM(rb_intern("align")))))
|
|
31
|
+
{
|
|
32
|
+
if(SYMBOL_P(val))
|
|
33
|
+
{
|
|
34
|
+
if(SYM2ID(val) == rb_intern("left"))
|
|
35
|
+
result.Left();
|
|
36
|
+
if(SYM2ID(val) == rb_intern("right"))
|
|
37
|
+
result.Right();
|
|
38
|
+
if(SYM2ID(val) == rb_intern("bottom"))
|
|
39
|
+
result.Bottom();
|
|
40
|
+
if(SYM2ID(val) == rb_intern("top"))
|
|
41
|
+
result.Top();
|
|
42
|
+
if(SYM2ID(val) == rb_intern("center"))
|
|
43
|
+
result.Center();
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
template <>
|
|
53
|
+
wxSizer* unwrap<wxSizer*>(const VALUE &arg)
|
|
54
|
+
{
|
|
55
|
+
return unwrapTypedPtr<wxSizer>(arg,rb_cWXSizer);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
namespace RubyWX {
|
|
60
|
+
namespace Sizer {
|
|
61
|
+
|
|
62
|
+
macro_attr(MinSize,wxSize)
|
|
63
|
+
singlereturn(GetSize)
|
|
64
|
+
singlereturn(GetPosition)
|
|
65
|
+
|
|
66
|
+
singlefunc(Layout)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
DLL_LOCAL VALUE _initialize(int argc,VALUE *argv,VALUE self)
|
|
70
|
+
{
|
|
71
|
+
VALUE args;
|
|
72
|
+
rb_scan_args(argc, argv, "*",&args);
|
|
73
|
+
//rb_call_super(argc,argv);
|
|
74
|
+
if(rb_block_given_p())
|
|
75
|
+
rb_yield(self);
|
|
76
|
+
return self;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* call-seq:
|
|
81
|
+
* add(window, [options])
|
|
82
|
+
* add(sizer, [options])
|
|
83
|
+
* add(size, [options])
|
|
84
|
+
*
|
|
85
|
+
* adds a new WX::Sizer::Item
|
|
86
|
+
* ===Arguments
|
|
87
|
+
* * window is a WX::Window
|
|
88
|
+
* * sizer is a WX::Sizer
|
|
89
|
+
* * size is a WX::Size
|
|
90
|
+
*
|
|
91
|
+
* *options: Hash with possible options to set:
|
|
92
|
+
* * expand true/false says if the element should expand to the whole size
|
|
93
|
+
* * proportion Integer
|
|
94
|
+
* ===Return value
|
|
95
|
+
* WX::Sizer::Item
|
|
96
|
+
*/
|
|
97
|
+
DLL_LOCAL VALUE _add(int argc,VALUE *argv,VALUE self)
|
|
98
|
+
{
|
|
99
|
+
VALUE obj,hash;
|
|
100
|
+
rb_scan_args(argc, argv, "11",&obj,&hash);
|
|
101
|
+
|
|
102
|
+
wxSizerFlags flags(unwrap<wxSizerFlags>(hash));
|
|
103
|
+
if(rb_obj_is_kind_of(obj, rb_cWXWindow))
|
|
104
|
+
{
|
|
105
|
+
return wrap(_self->Add(unwrap<wxWindow*>(obj),flags));
|
|
106
|
+
}else if(rb_obj_is_kind_of(obj, rb_cWXSizer))
|
|
107
|
+
{
|
|
108
|
+
return wrap(_self->Add(unwrap<wxSizer*>(obj),flags));
|
|
109
|
+
}else {
|
|
110
|
+
const wxSize &size = unwrap<wxSize>(obj);
|
|
111
|
+
return wrap(_self->Add(size.GetWidth(),size.GetHeight(),flags));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
/*
|
|
117
|
+
* call-seq:
|
|
118
|
+
* add_spacer(size)
|
|
119
|
+
*
|
|
120
|
+
* adds a new spacer WX::Sizer::Item
|
|
121
|
+
* ===Arguments
|
|
122
|
+
* * size is a Integer
|
|
123
|
+
* ===Return value
|
|
124
|
+
* WX::Sizer::Item
|
|
125
|
+
*/
|
|
126
|
+
DLL_LOCAL VALUE _add_spacer(VALUE self,VALUE size)
|
|
127
|
+
{
|
|
128
|
+
return wrap(_self->AddSpacer(NUM2INT(size)));
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/*
|
|
132
|
+
* call-seq:
|
|
133
|
+
* add_stretch_spacer([prop])
|
|
134
|
+
*
|
|
135
|
+
* adds a new stretch spacer WX::Sizer::Item
|
|
136
|
+
* ===Arguments
|
|
137
|
+
* * prop is a Integer
|
|
138
|
+
* ===Return value
|
|
139
|
+
* WX::Sizer::Item
|
|
140
|
+
*/
|
|
141
|
+
DLL_LOCAL VALUE _add_stretch_spacer(int argc,VALUE *argv,VALUE self)
|
|
142
|
+
{
|
|
143
|
+
VALUE prop;
|
|
144
|
+
rb_scan_args(argc, argv, "01",&prop);
|
|
145
|
+
|
|
146
|
+
return wrap(_self->AddStretchSpacer(NIL_P(prop) ? 1 : NUM2INT(prop)));
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
/*
|
|
151
|
+
* call-seq:
|
|
152
|
+
* insert(pos, window, [options])
|
|
153
|
+
* insert(pos, sizer, [options])
|
|
154
|
+
* insert(pos, size, [options])
|
|
155
|
+
*
|
|
156
|
+
* inserts a new WX::Sizer::Item into the given position.
|
|
157
|
+
* ===Arguments
|
|
158
|
+
* * pos is Integer
|
|
159
|
+
* * window is a WX::Window
|
|
160
|
+
* * sizer is a WX::Sizer
|
|
161
|
+
* * size is a WX::Size
|
|
162
|
+
*
|
|
163
|
+
* *options: Hash with possible options to set:
|
|
164
|
+
* * expand true/false says if the element should expand to the whole size
|
|
165
|
+
* * proportion Integer
|
|
166
|
+
* ===Return value
|
|
167
|
+
* WX::Sizer::Item
|
|
168
|
+
*/
|
|
169
|
+
DLL_LOCAL VALUE _insert(int argc,VALUE *argv,VALUE self)
|
|
170
|
+
{
|
|
171
|
+
VALUE index,obj,hash;
|
|
172
|
+
rb_scan_args(argc, argv, "21",&index,&obj,&hash);
|
|
173
|
+
|
|
174
|
+
wxSizerFlags flags(unwrap<wxSizerFlags>(hash));
|
|
175
|
+
|
|
176
|
+
if(rb_obj_is_kind_of(obj, rb_cWXWindow))
|
|
177
|
+
return wrap(_self->Insert(NUM2INT(index),unwrap<wxWindow*>(obj),flags));
|
|
178
|
+
else if(rb_obj_is_kind_of(obj, rb_cWXSizer))
|
|
179
|
+
return wrap(_self->Insert(NUM2INT(index),unwrap<wxSizer*>(obj),flags));
|
|
180
|
+
else {
|
|
181
|
+
const wxSize &size = unwrap<wxSize>(obj);
|
|
182
|
+
return wrap(_self->Insert(NUM2INT(index),size.GetWidth(),size.GetHeight(),flags));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/*
|
|
187
|
+
* call-seq:
|
|
188
|
+
* insert_spacer(pos, size)
|
|
189
|
+
*
|
|
190
|
+
* inserts a new spacer WX::Sizer::Item into the given position.
|
|
191
|
+
* ===Arguments
|
|
192
|
+
* * pos is Integer
|
|
193
|
+
* * size is a Integer
|
|
194
|
+
* ===Return value
|
|
195
|
+
* WX::Sizer::Item
|
|
196
|
+
*/
|
|
197
|
+
DLL_LOCAL VALUE _insert_spacer(VALUE self,VALUE idx,VALUE size)
|
|
198
|
+
{
|
|
199
|
+
return wrap(_self->InsertSpacer(NUM2UINT(idx),NUM2INT(size)));
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/*
|
|
203
|
+
* call-seq:
|
|
204
|
+
* insert_stretch_spacer(pos,[prop])
|
|
205
|
+
*
|
|
206
|
+
* inserts a new stretch spacer WX::Sizer::Item
|
|
207
|
+
* ===Arguments
|
|
208
|
+
* * pos is Integer
|
|
209
|
+
* * prop is a Integer
|
|
210
|
+
* ===Return value
|
|
211
|
+
* WX::Sizer::Item
|
|
212
|
+
*/
|
|
213
|
+
DLL_LOCAL VALUE _insert_stretch_spacer(int argc,VALUE *argv,VALUE self)
|
|
214
|
+
{
|
|
215
|
+
VALUE idx,prop;
|
|
216
|
+
rb_scan_args(argc, argv, "11",&idx,&prop);
|
|
217
|
+
|
|
218
|
+
return wrap(_self->InsertStretchSpacer(NUM2UINT(idx),NIL_P(prop) ? 1 : NUM2INT(prop)));
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
/*
|
|
223
|
+
* call-seq:
|
|
224
|
+
* prepend(window, [options])
|
|
225
|
+
* prepend(sizer, [options])
|
|
226
|
+
* prepend(size, [options])
|
|
227
|
+
*
|
|
228
|
+
* prepends a new WX::Sizer::Item
|
|
229
|
+
* ===Arguments
|
|
230
|
+
* * window is a WX::Window
|
|
231
|
+
* * sizer is a WX::Sizer
|
|
232
|
+
* * size is a WX::Size
|
|
233
|
+
*
|
|
234
|
+
* *options: Hash with possible options to set:
|
|
235
|
+
* * expand true/false says if the element should expand to the whole size
|
|
236
|
+
* * proportion Integer
|
|
237
|
+
* ===Return value
|
|
238
|
+
* WX::Sizer::Item
|
|
239
|
+
*/
|
|
240
|
+
DLL_LOCAL VALUE _prepend(int argc,VALUE *argv,VALUE self)
|
|
241
|
+
{
|
|
242
|
+
VALUE obj,hash;
|
|
243
|
+
rb_scan_args(argc, argv, "11",&obj,&hash);
|
|
244
|
+
|
|
245
|
+
wxSizerFlags flags(unwrap<wxSizerFlags>(hash));
|
|
246
|
+
|
|
247
|
+
if(rb_obj_is_kind_of(obj, rb_cWXWindow))
|
|
248
|
+
return wrap(_self->Prepend(unwrap<wxWindow*>(obj),flags));
|
|
249
|
+
else if(rb_obj_is_kind_of(obj, rb_cWXSizer))
|
|
250
|
+
return wrap(_self->Prepend(unwrap<wxSizer*>(obj),flags));
|
|
251
|
+
else {
|
|
252
|
+
const wxSize &size = unwrap<wxSize>(obj);
|
|
253
|
+
return wrap(_self->Prepend(size.GetWidth(),size.GetHeight(),flags));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/*
|
|
258
|
+
* call-seq:
|
|
259
|
+
* prepend_spacer(size)
|
|
260
|
+
*
|
|
261
|
+
* prepend a new spacer WX::Sizer::Item
|
|
262
|
+
* ===Arguments
|
|
263
|
+
* * size is a Integer
|
|
264
|
+
* ===Return value
|
|
265
|
+
* WX::Sizer::Item
|
|
266
|
+
*/
|
|
267
|
+
DLL_LOCAL VALUE _prepend_spacer(VALUE self,VALUE size)
|
|
268
|
+
{
|
|
269
|
+
return wrap(_self->PrependSpacer(NUM2INT(size)));
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
/*
|
|
273
|
+
* call-seq:
|
|
274
|
+
* prepend_stretch_spacer([prop])
|
|
275
|
+
*
|
|
276
|
+
* prepends a new stretch spacer WX::Sizer::Item
|
|
277
|
+
* ===Arguments
|
|
278
|
+
* * prop is a Integer
|
|
279
|
+
* ===Return value
|
|
280
|
+
* WX::Sizer::Item
|
|
281
|
+
*/
|
|
282
|
+
DLL_LOCAL VALUE _prepend_stretch_spacer(int argc,VALUE *argv,VALUE self)
|
|
283
|
+
{
|
|
284
|
+
VALUE prop;
|
|
285
|
+
rb_scan_args(argc, argv, "01",&prop);
|
|
286
|
+
|
|
287
|
+
return wrap(_self->PrependStretchSpacer(NIL_P(prop) ? 1 : NUM2INT(prop)));
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
DLL_LOCAL VALUE _getItem(VALUE self,VALUE index)
|
|
293
|
+
{
|
|
294
|
+
int cidx = NUM2INT(index);
|
|
295
|
+
if(check_index(cidx,_self->GetItemCount()))
|
|
296
|
+
return wrap(_self->GetItem(cidx));
|
|
297
|
+
return Qnil;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
DLL_LOCAL VALUE _each_size(VALUE self)
|
|
301
|
+
{
|
|
302
|
+
return UINT2NUM(_self->GetItemCount());
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
DLL_LOCAL VALUE _each(VALUE self)
|
|
307
|
+
{
|
|
308
|
+
RETURN_SIZED_ENUMERATOR(self,0,NULL,RUBY_METHOD_FUNC(_each_size));
|
|
309
|
+
std::size_t count(_self->GetItemCount());
|
|
310
|
+
for(std::size_t i = 0; i < count; ++i)
|
|
311
|
+
rb_yield(wrap(_self->GetItem(i)));
|
|
312
|
+
return self;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
DLL_LOCAL VALUE _remove(VALUE self,VALUE index)
|
|
317
|
+
{
|
|
318
|
+
rb_check_frozen(self);
|
|
319
|
+
int cidx = NUM2INT(index);
|
|
320
|
+
if(check_index(cidx,_self->GetItemCount()))
|
|
321
|
+
return wrap(_self->Remove(cidx));
|
|
322
|
+
return Qnil;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
DLL_LOCAL void Init_WXSizer(VALUE rb_mWX)
|
|
330
|
+
{
|
|
331
|
+
using namespace RubyWX::Sizer;
|
|
332
|
+
rb_cWXSizer = rb_define_class_under(rb_mWX,"Sizer",rb_cObject);
|
|
333
|
+
rb_undef_alloc_func(rb_cWXSizer);
|
|
334
|
+
|
|
335
|
+
rb_undef_method(rb_cWXSizer,"initialize_copy");
|
|
336
|
+
rb_undef_method(rb_cWXSizer,"_load");
|
|
337
|
+
rb_undef_method(rb_cWXSizer,"_dump");
|
|
338
|
+
|
|
339
|
+
rb_define_method(rb_cWXSizer,"initialize",RUBY_METHOD_FUNC(_initialize),-1);
|
|
340
|
+
|
|
341
|
+
rb_define_method(rb_cWXSizer,"size",RUBY_METHOD_FUNC(_GetSize),0);
|
|
342
|
+
rb_define_method(rb_cWXSizer,"position",RUBY_METHOD_FUNC(_GetPosition),0);
|
|
343
|
+
|
|
344
|
+
rb_define_method(rb_cWXSizer,"layout",RUBY_METHOD_FUNC(_Layout),0);
|
|
345
|
+
|
|
346
|
+
rb_define_method(rb_cWXSizer,"add",RUBY_METHOD_FUNC(_add),-1);
|
|
347
|
+
rb_define_method(rb_cWXSizer,"insert",RUBY_METHOD_FUNC(_insert),-1);
|
|
348
|
+
rb_define_method(rb_cWXSizer,"prepend",RUBY_METHOD_FUNC(_prepend),-1);
|
|
349
|
+
|
|
350
|
+
rb_define_method(rb_cWXSizer,"add_spacer",RUBY_METHOD_FUNC(_add_spacer),1);
|
|
351
|
+
rb_define_method(rb_cWXSizer,"insert_spacer",RUBY_METHOD_FUNC(_insert_spacer),2);
|
|
352
|
+
rb_define_method(rb_cWXSizer,"prepend_spacer",RUBY_METHOD_FUNC(_prepend_spacer),1);
|
|
353
|
+
|
|
354
|
+
rb_define_method(rb_cWXSizer,"add_stretch_spacer",RUBY_METHOD_FUNC(_add_stretch_spacer),-1);
|
|
355
|
+
rb_define_method(rb_cWXSizer,"insert_stretch_spacer",RUBY_METHOD_FUNC(_insert_stretch_spacer),-1);
|
|
356
|
+
rb_define_method(rb_cWXSizer,"prepend_stretch_spacer",RUBY_METHOD_FUNC(_prepend_stretch_spacer),-1);
|
|
357
|
+
|
|
358
|
+
rb_define_method(rb_cWXSizer,"[]",RUBY_METHOD_FUNC(_getItem),1);
|
|
359
|
+
|
|
360
|
+
rb_define_method(rb_cWXSizer,"each",RUBY_METHOD_FUNC(_each),0);
|
|
361
|
+
rb_include_module(rb_cWXSizer,rb_mEnumerable);
|
|
362
|
+
|
|
363
|
+
rb_define_method(rb_cWXSizer,"remove",RUBY_METHOD_FUNC(_remove),1);
|
|
364
|
+
|
|
365
|
+
registerInfo<wxSizer>(rb_cWXSizer);
|
|
366
|
+
|
|
367
|
+
}
|
|
368
|
+
|
data/ext/wxSizer.hpp
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxSizer.hpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 20.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#ifndef WXSIZER_HPP_
|
|
9
|
+
#define WXSIZER_HPP_
|
|
10
|
+
|
|
11
|
+
#include "wxBoxSizer.hpp"
|
|
12
|
+
|
|
13
|
+
extern VALUE rb_cWXSizer;
|
|
14
|
+
|
|
15
|
+
void Init_WXSizer(VALUE rb_mWX);
|
|
16
|
+
|
|
17
|
+
template <>
|
|
18
|
+
wxSizerFlags unwrap< wxSizerFlags >(const VALUE &hash);
|
|
19
|
+
|
|
20
|
+
template <>
|
|
21
|
+
wxSizer* unwrap<wxSizer*>(const VALUE &arg);
|
|
22
|
+
|
|
23
|
+
#endif /* WXSIZER_HPP_ */
|
data/ext/wxSizerItem.cpp
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* wxSizerItem.cpp
|
|
3
|
+
*
|
|
4
|
+
* Created on: 27.03.2012
|
|
5
|
+
* Author: hanmac
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#include "wxSizer.hpp"
|
|
10
|
+
#include "wxSizerItem.hpp"
|
|
11
|
+
|
|
12
|
+
#define _self unwrap<wxSizerItem*>(self)
|
|
13
|
+
|
|
14
|
+
VALUE rb_cWXSizerItem;
|
|
15
|
+
|
|
16
|
+
namespace RubyWX {
|
|
17
|
+
namespace SizerItem {
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
DLL_LOCAL void Init_WXSizerItem(VALUE rb_mWX)
|
|
26
|
+
{
|
|
27
|
+
using namespace RubyWX::SizerItem;
|
|
28
|
+
rb_cWXSizerItem = rb_define_class_under(rb_cWXSizer,"Item",rb_cObject);
|
|
29
|
+
rb_undef_alloc_func(rb_cWXSizerItem);
|
|
30
|
+
|
|
31
|
+
//rb_define_attr_method(rb_cWXSizerItem,"orientation",_getOrientation,_setOrientation);
|
|
32
|
+
|
|
33
|
+
registerInfo<wxSizerItem>(rb_cWXSizerItem);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|