ext/rwx.cpp
/*
* rwx.cpp
*
* Created on: 07.02.2012
* Author: hanmac
*/
#include "wxError.hpp"
#include "wxSize.hpp"
#include "wxRect.hpp"
#include "wxPoint.hpp"
#include "wxColor.hpp"
#include "wxFont.hpp"
#include "wxPen.hpp"
#include "wxBrush.hpp"
#include "wxCursor.hpp"
#include "wxImage.hpp"
#include "wxBitmap.hpp"
#include "wxImageList.hpp"
#include "wxEvent.hpp"
#include "wxCommandEvent.hpp"
#include "wxNotifyEvent.hpp"
#include "wxScrollEvent.hpp"
#include "wxKeyEvent.hpp"
#include "wxMouseEvent.hpp"
#include "wxPaintEvent.hpp"
#include "wxEvtHandler.hpp"
#include "wxMenu.hpp"
#include "wxMenuItem.hpp"
#include "wxToolBarTool.hpp"
#include "wxApp.hpp"
#include "wxWindow.hpp"
#include "wxMenuBar.hpp"
#include "wxPanel.hpp"
#include "wxControl.hpp"
#include "wxToplevel.hpp"
#include "wxFrame.hpp"
#include "wxDialog.hpp"
#include "wxColorDialog.hpp"
#include "wxFontDialog.hpp"
#include "wxFileDialog.hpp"
#include "wxDirDialog.hpp"
#include "wxNumberEntryDialog.hpp"
#include "wxTextEntryDialog.hpp"
#include "wxPasswordEntryDialog.hpp"
#include "wxProgressDialog.hpp"
#include "wxMessageDialogBase.hpp"
#include "wxMessageDialog.hpp"
#include "wxMessageDialogGeneric.hpp"
#include "wxRichMessageDialog.hpp"
#include "wxWizard.hpp"
#include "wxAnyChoiceDialog.hpp"
#include "wxSingleChoiceDialog.hpp"
#include "wxMultiChoiceDialog.hpp"
#include "wxAui.hpp"
#include "wxAnyButton.hpp"
#include "wxButton.hpp"
#include "wxBitmapButton.hpp"
#include "wxContextHelpButton.hpp"
#include "wxToggleButton.hpp"
#include "wxBitmapToggleButton.hpp"
#include "wxToolBarBase.hpp"
#include "wxToolBar.hpp"
#include "wxButtonToolBar.hpp"
#include "wxStatusBar.hpp"
#include "wxGauge.hpp"
#include "wxListBox.hpp"
#include "wxCheckListBox.hpp"
#include "wxRearrangeList.hpp"
#include "wxRearrangeCtrl.hpp"
#include "wxRearrangeDialog.hpp"
#include "wxCheckBox.hpp"
#include "wxRadioButton.hpp"
#include "wxRadioBox.hpp"
#include "wxStaticBitmap.hpp"
#include "wxStaticBitmapGeneric.hpp"
#include "wxStaticLine.hpp"
#include "wxStaticText.hpp"
#include "wxStaticBox.hpp"
#include "wxItemContainer.hpp"
#include "wxChoice.hpp"
#include "wxComboBox.hpp"
#include "wxComboCtrl.hpp"
#include "wxOwnerDrawnComboBox.hpp"
#include "wxBitmapComboBox.hpp"
#include "wxScrollBar.hpp"
#include "wxSlider.hpp"
#include "wxSpinButton.hpp"
#include "wxSpinCtrl.hpp"
#include "wxSpinCtrlDouble.hpp"
#include "wxTextArea.hpp"
#include "wxTextEntry.hpp"
#include "wxTextCtrl.hpp"
#include "wxTextAttr.hpp"
#include "wxSearchCtrl.hpp"
#include "wxPickerBase.hpp"
#include "wxTimePicker.hpp"
#include "wxFontPicker.hpp"
#include "wxColorPicker.hpp"
#include "wxFileDirPicker.hpp"
#include "wxFilePicker.hpp"
#include "wxDirPicker.hpp"
#include "wxDatePicker.hpp"
#include "wxFilePickerWidget.hpp"
#include "wxDirPickerWidget.hpp"
#include "wxFontPickerWidget.hpp"
#include "wxColorPickerWidget.hpp"
#include "wxTreeCtrl.hpp"
#include "wxFileCtrlBase.hpp"
#include "wxFileCtrl.hpp"
#include "wxFileCtrlGeneric.hpp"
#include "wxDirCtrl.hpp"
#include "wxCalendarCtrlBase.hpp"
#include "wxCalendarCtrl.hpp"
#include "wxCalendarCtrlGeneric.hpp"
#include "wxInfoBarBase.hpp"
#include "wxInfoBar.hpp"
#include "wxInfoBarGeneric.hpp"
#include "wxDataView.hpp"
#include "wxDataViewList.hpp"
#include "wxHyperLinkBase.hpp"
#include "wxHyperLink.hpp"
#include "wxHyperLinkGeneric.hpp"
#include "wxCollapsiblePane.hpp"
#include "wxCollapsibleHeaderCtrl.hpp"
#include "wxBookCtrl.hpp"
#include "wxChoiceBook.hpp"
#include "wxNoteBook.hpp"
#include "wxSimpleBook.hpp"
#include "wxListBook.hpp"
#include "wxToolBook.hpp"
#include "wxAuiBook.hpp"
#include "wxTreeBook.hpp"
#include "wxRichTextCtrl.hpp"
#include "wxRichTextAttr.hpp"
#include "wxRichTextStyle.hpp"
#include "wxRichTextStyleSheet.hpp"
#include "wxActivityIndicator.hpp"
#include "wxSTC.hpp"
#include "wxXRC.hpp"
#include "wxAboutDlg.hpp"
#include "wxStartUpTip.hpp"
#include "wxFileHistory.hpp"
#include "wxConfig.hpp"
#include "wxDC.hpp"
#include "wxSizer.hpp"
#include "wxSizerItem.hpp"
#include "wxPalette.hpp"
#include "wxGridTable.hpp"
#include "wxGridCellRenderer.hpp"
#include "wxGridCellAttr.hpp"
#include "wxPropertyGrid.hpp"
#include "wxPropertyGridPage.hpp"
#include "wxPropertyGridManager.hpp"
#include "wxPropertyGridInterface.hpp"
#include "wxProperty.hpp"
#include "wxPropertyCell.hpp"
#include "wxPreferences.hpp"
#include "wxAddRemoveCtrl.hpp"
#include <wx/apptrait.h>
VALUE rb_mWX;
void rb_define_attr_method_base(VALUE klass,const std::string& name,VALUE(get)(ANYARGS),VALUE(set)(ANYARGS), bool missing = false)
{
/* let's get this to compile: macro expects a constant */
if(get && missing)
rb_define_method(klass,name.c_str(),RUBY_METHOD_FUNC(get), -1);
else if (get && ! missing)
rb_define_method(klass,name.c_str(),RUBY_METHOD_FUNC(get), 0);
if(set && missing)
rb_define_method(klass,(name + "=").c_str(),RUBY_METHOD_FUNC(set), -1);
else if (set && ! missing)
rb_define_method(klass,(name + "=").c_str(),RUBY_METHOD_FUNC(set), 1);
}
void rb_define_attr_method(VALUE klass,const std::string& name,VALUE(get)(VALUE),VALUE(set)(VALUE,VALUE))
{
rb_define_attr_method_base(
klass, name,
RUBY_METHOD_FUNC(get), RUBY_METHOD_FUNC(set)
);
}
void rb_define_attr_method_missing(VALUE klass,const std::string& name, bool get, bool set)
{
rb_define_attr_method_base(
klass, name,
get ? RUBY_METHOD_FUNC(rb_f_notimplement) : NULL,
set ? RUBY_METHOD_FUNC(rb_f_notimplement) : NULL,
true
);
}
/* Document-const: WXVERSION
* String version of wxwidgets
*/
/* Document-const: WXVERSION_MAYOR
* Integer of mayor of version of wxwidgets
*/
/* Document-const: WXVERSION_MINOR
* Integer of minor of version of wxwidgets
*/
extern "C" void Init_rwx()
{
//wxInitialize();
global_holder = rb_hash_new();
rb_global_variable(&global_holder);
rb_mWX = rb_define_module("WX");
Init_WXEvtHandler(rb_mWX);
Init_WXError(rb_mWX);
Init_WXColor(rb_mWX);
Init_WXPalette(rb_mWX);
Init_WXFont(rb_mWX);
Init_WXPen(rb_mWX);
Init_WXBrush(rb_mWX);
Init_WXImage(rb_mWX);
Init_WXBitmap(rb_mWX);
Init_WXImageList(rb_mWX);
Init_WXCursor(rb_mWX);
Init_WXSize(rb_mWX);
Init_WXRect(rb_mWX);
Init_WXPoint(rb_mWX);
Init_WXEvent(rb_mWX);
Init_WXCommandEvent(rb_mWX);
Init_WXScrollEvent(rb_mWX);
Init_WXNotifyEvent(rb_mWX);
Init_WXKeyEvent(rb_mWX);
Init_WXMouseEvent(rb_mWX);
Init_WXPaintEvent(rb_mWX);
Init_WXTimer(rb_mWX);
Init_WXTaskBar(rb_mWX);
Init_WXMenu(rb_mWX);
Init_WXMenuItem(rb_mWX);
Init_WXApp(rb_mWX);
Init_WXWindow(rb_mWX);
Init_WXPanel(rb_mWX);
Init_WXTopLevel(rb_mWX);
Init_WXFrame(rb_mWX);
Init_WXDialog(rb_mWX);
Init_WXColorDialog(rb_mWX);
Init_WXFontDialog(rb_mWX);
Init_WXFileDialog(rb_mWX);
Init_WXDirDialog(rb_mWX);
Init_WXNumberEntryDialog(rb_mWX);
Init_WXTextEntryDialog(rb_mWX);
Init_WXPasswordEntryDialog(rb_mWX);
Init_WXProgressDialog(rb_mWX);
Init_WXWizard(rb_mWX);
Init_WXWizardPage(rb_mWX);
Init_WXAnyChoiceDialog(rb_mWX);
Init_WXSingleChoiceDialog(rb_mWX);
Init_WXMultiChoiceDialog(rb_mWX);
Init_WXMessageDialogBase(rb_mWX);
Init_WXMessageDialog(rb_mWX);
Init_WXMessageDialogGeneric(rb_mWX);
Init_WXRichMessageDialog(rb_mWX);
Init_WXMenuBar(rb_mWX);
Init_WXControl(rb_mWX);
Init_WXToolBarBase(rb_mWX);
Init_WXToolBar(rb_mWX);
Init_WXToolBarTool(rb_mWX);
Init_WXButtonToolBar(rb_mWX);
Init_WXPickerBase(rb_mWX);
Init_WXTimePicker(rb_mWX);
Init_WXColorPicker(rb_mWX);
Init_WXFontPicker(rb_mWX);
Init_WXFileDirPicker(rb_mWX);
Init_WXFilePicker(rb_mWX);
Init_WXDirPicker(rb_mWX);
Init_WXDatePicker(rb_mWX);
Init_WXFileCtrlBase(rb_mWX);
Init_WXFileCtrl(rb_mWX);
Init_WXFileCtrlGeneric(rb_mWX);
Init_WXDirCtrl(rb_mWX);
Init_WXCalendarCtrlBase(rb_mWX);
Init_WXCalendarCtrl(rb_mWX);
Init_WXCalendarCtrlGeneric(rb_mWX);
Init_WXInfoBarBase(rb_mWX);
Init_WXInfoBar(rb_mWX);
Init_WXInfoBarGeneric(rb_mWX);
Init_WXItemContainer(rb_mWX);
Init_WXListBox(rb_mWX);
Init_WXCheckListBox(rb_mWX);
Init_WXRearrangeList(rb_mWX);
Init_WXRearrangeCtrl(rb_mWX);
Init_WXRearrangeDialog(rb_mWX);
Init_WXDataView(rb_mWX);
Init_WXDataViewList(rb_mWX);
Init_WXScrollBar(rb_mWX);
Init_WXSlider(rb_mWX);
Init_WXSpinButton(rb_mWX);
Init_WXSpinCtrl(rb_mWX);
Init_WXSpinCtrlDouble(rb_mWX);
Init_WXHyperLinkBase(rb_mWX);
Init_WXHyperLink(rb_mWX);
Init_WXHyperLinkGeneric(rb_mWX);
Init_WXCollapsiblePane(rb_mWX);
Init_WXCollapsibleHeaderCtrl(rb_mWX);
Init_WXStaticBitmapBase(rb_mWX);
Init_WXStaticBitmap(rb_mWX);
Init_WXStaticBitmapGeneric(rb_mWX);
Init_WXStaticLine(rb_mWX);
Init_WXStaticText(rb_mWX);
Init_WXStaticBox(rb_mWX);
Init_WXAnyButton(rb_mWX);
Init_WXButton(rb_mWX);
Init_WXBitmapButton(rb_mWX);
Init_WXContextHelpButton(rb_mWX);
Init_WXToggleButton(rb_mWX);
Init_WXBitmapToggleButton(rb_mWX);
Init_WXCheckBox(rb_mWX);
Init_WXRadioButton(rb_mWX);
Init_WXRadioBox(rb_mWX);
Init_WXFilePickerWidget(rb_mWX);
Init_WXDirPickerWidget(rb_mWX);
Init_WXFontPickerWidget(rb_mWX);
Init_WXColorPickerWidget(rb_mWX);
Init_WXTextArea(rb_mWX);
Init_WXTextEntry(rb_mWX);
Init_WXTextCtrl(rb_mWX);
Init_WXTextAttr(rb_mWX);
Init_WXSearchCtrl(rb_mWX);
Init_WXChoice(rb_mWX);
Init_WXComboBox(rb_mWX);
Init_WXComboCtrl(rb_mWX);
Init_WXOwnerDrawnComboBox(rb_mWX);
Init_WXBitmapComboBox(rb_mWX);
Init_WXTreeCtrl(rb_mWX);
Init_WXStatusBar(rb_mWX);
Init_WXGauge(rb_mWX);
Init_WXAboutDlg(rb_mWX);
Init_ShowTip(rb_mWX);
Init_WXFileHistory(rb_mWX);
Init_WXConfig(rb_mWX);
Init_WXDC(rb_mWX);
Init_WXSizer(rb_mWX);
Init_WXBoxSizer(rb_mWX);
Init_WXSizerItem(rb_mWX);
Init_WXAuiManager(rb_mWX);
Init_WXAuiPane(rb_mWX);
Init_WXActivityIndicator(rb_mWX);
Init_WXBookCtrl(rb_mWX);
Init_WXChoiceBookCtrl(rb_mWX);
Init_WXToolBookCtrl(rb_mWX);
Init_WXNoteBookCtrl(rb_mWX);
Init_WXSimpleBookCtrl(rb_mWX);
Init_WXListBookCtrl(rb_mWX);
Init_WXAuiNoteBookCtrl(rb_mWX);
Init_WXTreeBookCtrl(rb_mWX);
Init_WXAuiToolBar(rb_mWX);
Init_WXSTC(rb_mWX);
Init_WXGrid(rb_mWX);
Init_WXGridTable(rb_mWX);
Init_WXGridCellRenderer(rb_mWX);
Init_WXGridCellAttr(rb_mWX);
Init_WXProperty(rb_mWX);
Init_WXPropertyGridInterface(rb_mWX);
Init_WXPropertyGrid(rb_mWX);
Init_WXPropertyGridManager(rb_mWX);
Init_WXPropertyGridPage(rb_mWX);
Init_WXPropertyCell(rb_mWX);
Init_WXPreferences(rb_mWX);
Init_WXRichTextCtrl(rb_mWX);
Init_WXRichTextAttr(rb_mWX);
Init_WXRichTextStyle(rb_mWX);
Init_WXRichTextStyleSheet(rb_mWX);
Init_WXXRC(rb_mWX);
Init_WXAddRemoveCtrl(rb_mWX);
rb_define_const(rb_mWX,"WXVERSION",wrap(wxString(wxVERSION_NUM_DOT_STRING)));
rb_define_const(rb_mWX,"WXVERSION_MAYOR",wrap(wxMAJOR_VERSION));
rb_define_const(rb_mWX,"WXVERSION_MINOR",wrap(wxMINOR_VERSION));
// for(klassholdertype::iterator it = klassholder.begin();
// it != klassholder.end();++it)
// std::cout << it->first << std::endl;
registerEnum("wxButtonFlag","button_flag",wxOK)
->add(wxYES,"yes")
->add(wxOK,"ok")
->add(wxNO,"no")
->add(wxYES_NO,"yes_no")
->add(wxCANCEL,"cancel")
->add(wxAPPLY,"apply")
->add(wxCLOSE,"close")
->add(wxHELP,"help");
registerEnum("wxIconFlag","icon_flag",wxICON_NONE)
->add(wxICON_EXCLAMATION,"exclamation")
->add(wxICON_HAND,"hand")
->add(wxICON_WARNING,"warning")
->add(wxICON_ERROR,"error")
->add(wxICON_QUESTION,"question")
->add(wxICON_INFORMATION,"information")
->add(wxICON_STOP,"stop")
->add(wxICON_ASTERISK,"asterisk")
->allow_array = false;
/*
int min,max;
wxString port(wxPlatformInfo::GetPortIdName(wxGUIAppTraits().GetToolkitVersion(&min,&max), false));
rb_warn("%s %d.%d", port.c_str().AsChar(), min, max);
//*/
}