rtti informations

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22878 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2003-08-14 18:05:30 +00:00
parent 16a45a23d9
commit 5174130757
12 changed files with 206 additions and 61 deletions

View File

@@ -51,13 +51,15 @@ IMPLEMENT_DYNAMIC_CLASS_XTI(wxButton, wxControl,"wx/button.h")
WX_BEGIN_PROPERTIES_TABLE(wxButton) WX_BEGIN_PROPERTIES_TABLE(wxButton)
WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent ) WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent )
// default
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
WX_END_PROPERTIES_TABLE() WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxButton) WX_BEGIN_HANDLERS_TABLE(wxButton)
WX_END_HANDLERS_TABLE() WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_5( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Title , wxPoint , Position , wxSize , Size ) WX_CONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else #else

View File

@@ -47,13 +47,25 @@
// implementation // implementation
// ============================================================================ // ============================================================================
#if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxCheckBox, wxControl,"wx/checkbox.h")
WX_BEGIN_PROPERTIES_TABLE(wxCheckBox)
WX_DELEGATE( OnClick , wxEVT_COMMAND_CHECKBOX_CLICKED , wxCommandEvent )
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
WX_PROPERTY( Value ,bool, SetValue, GetValue, )
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxCheckBox)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxCheckBox , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
#endif
/*
TODO PROPERTIES :
bool "checked" , 0
*/
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxCheckBox // wxCheckBox

View File

@@ -83,6 +83,7 @@ END_EVENT_TABLE()
IMPLEMENT_DYNAMIC_CLASS_XTI(wxFrame, wxTopLevelWindow,"wx/frame.h") IMPLEMENT_DYNAMIC_CLASS_XTI(wxFrame, wxTopLevelWindow,"wx/frame.h")
WX_BEGIN_PROPERTIES_TABLE(wxFrame) WX_BEGIN_PROPERTIES_TABLE(wxFrame)
WX_PROPERTY_SET_BY_REF( Title,wxString, SetTitle, GetTitle, wxT("") )
/* /*
TODO PROPERTIES TODO PROPERTIES
@@ -94,7 +95,7 @@ WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxFrame) WX_BEGIN_HANDLERS_TABLE(wxFrame)
WX_END_HANDLERS_TABLE() WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_5( wxFrame , wxWindow* , Parent , wxWindowID , Id , wxString , Title , wxPoint , Position , wxSize , Size ) WX_CONSTRUCTOR_6( wxFrame , wxWindow* , Parent , wxWindowID , Id , wxString , Title , wxPoint , Position , wxSize , Size , long , WindowStyle)
#else #else
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow) IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)

View File

@@ -66,15 +66,27 @@
// wxWin macros // wxWin macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxGauge95, wxControl) #if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxGauge95, wxControl,"wx/gauge.h")
WX_BEGIN_PROPERTIES_TABLE(wxGauge95)
WX_PROPERTY( Value , int , SetValue, GetValue, 0 )
WX_PROPERTY( Range , int , SetRange, GetRange, 0 )
WX_PROPERTY( ShadowWidth , int , SetShadowWidth, GetShadowWidth, 0 )
WX_PROPERTY( BezelFace , int , SetBezelFace, GetBezelFace, 0 )
/* /*
TODO PROPERTIES TODO PROPERTIES
range (long) style wxGA_HORIZONTAL
value (long)
shadow (ShadowWidth)
bezel (BezelFace)
*/ */
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxGauge95)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxGauge95 , wxWindow* , Parent , wxWindowID , Id , int , Range , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxGauge95, wxControl)
#endif
// ============================================================================ // ============================================================================
// implementation // implementation

View File

@@ -68,16 +68,6 @@
#include "wx/panel.h" #include "wx/panel.h"
#endif #endif
/*
notebookpage
object
object_ref
label
selected
style
usenotebooksizer
*/
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// macros // macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -109,6 +99,10 @@
// event table // event table
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#include <wx/listimpl.cpp>
WX_DEFINE_LIST( wxNotebookPageInfoList ) ;
DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED) DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING) DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING)
@@ -123,9 +117,27 @@ BEGIN_EVENT_TABLE(wxNotebook, wxControl)
END_EVENT_TABLE() END_EVENT_TABLE()
#if wxUSE_EXTENDED_RTTI #if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebook, wxControl,"wx/notebook.h") IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebook, wxControl,"wx/notebook.h")
IMPLEMENT_DYNAMIC_CLASS_XTI(wxNotebookPageInfo, wxObject , "wx/notebook.h" )
template<> const wxTypeInfo* wxGetTypeInfo( wxNotebookPageInfoList * )
{
static wxCollectionTypeInfo s_typeInfo( (wxTypeInfo*) wxGetTypeInfo( (wxNotebookPageInfo **) NULL) ) ;
return &s_typeInfo ;
}
WX_BEGIN_PROPERTIES_TABLE(wxNotebook) WX_BEGIN_PROPERTIES_TABLE(wxNotebook)
WX_PROPERTY_COLLECTION( PageInfos , wxNotebookPageInfoList , wxNotebookPageInfo* , AddPageInfo , GetPageInfos )
/*
notebookpage
object
object_ref
label
selected
style
usenotebooksizer
*/
WX_END_PROPERTIES_TABLE() WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxNotebook) WX_BEGIN_HANDLERS_TABLE(wxNotebook)
@@ -133,8 +145,22 @@ WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_4( wxNotebook , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) WX_CONSTRUCTOR_4( wxNotebook , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size )
WX_BEGIN_PROPERTIES_TABLE(wxNotebookPageInfo)
WX_READONLY_PROPERTY( Page , wxNotebookPage* , GetPage , )
WX_READONLY_PROPERTY( Text , wxString , GetText , wxEmptyString )
WX_READONLY_PROPERTY( Selected , bool , GetSelected , false )
WX_READONLY_PROPERTY( ImageId , int , GetImageId , -1 )
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxNotebookPageInfo)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_4( wxNotebookPageInfo , wxNotebookPage* , Page , wxString , Text , bool , Selected , int , ImageId )
#else #else
IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
IMPLEMENT_DYNAMIC_CLASS(wxNotebookPageInfo, wxObject )
#endif #endif
IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent) IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
@@ -146,6 +172,19 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
// wxNotebook construction // wxNotebook construction
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
const wxNotebookPageInfoList& wxNotebook::GetPageInfos() const
{
wxNotebookPageInfoList* list = const_cast< wxNotebookPageInfoList* >( &m_pageInfos ) ;
WX_CLEAR_LIST( wxNotebookPageInfoList , *list ) ;
for( int i = 0 ; i < GetPageCount() ; ++i )
{
wxNotebookPageInfo *info = new wxNotebookPageInfo() ;
info->Create( const_cast<wxNotebook*>(this)->GetPage(i) , GetPageText(i) , GetSelection() == i , GetPageImage(i) ) ;
list->Append( info ) ;
}
return m_pageInfos ;
}
// common part of all ctors // common part of all ctors
void wxNotebook::Init() void wxNotebook::Init()
{ {

View File

@@ -47,14 +47,26 @@
// wxRadioButton creation // wxRadioButton creation
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxRadioButton, wxControl,"wx/radiobut.h")
WX_BEGIN_PROPERTIES_TABLE(wxRadioButton)
WX_DELEGATE( OnClick , wxEVT_COMMAND_RADIOBUTTON_SELECTED , wxCommandEvent )
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
WX_PROPERTY( Value ,bool, SetValue, GetValue, )
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxRadioButton)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxRadioButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
#endif
/*
TODO PROPERTIES
label
value (bool , 0 )
*/
void wxRadioButton::Init() void wxRadioButton::Init()
{ {

View File

@@ -55,17 +55,29 @@ IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent)
// wxWin macros // wxWin macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
#if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxSpinButton, wxControl,"wx/spinbut.h")
WX_BEGIN_PROPERTIES_TABLE(wxSpinButton)
WX_PROPERTY( Value , int , SetValue, GetValue, 0 )
WX_PROPERTY( Min , int , SetMin, GetMin, 0 )
WX_PROPERTY( Max , int , SetMax, GetMax, 0 )
/* /*
TODO PROPERTIES TODO PROPERTIES
style wxSP_VERTICAL | wxSP_ARROW_KEYS style wxSP_VERTICAL | wxSP_ARROW_KEYS
value wxSP_DEFAULT_VALUE
min wxSP_DEFAULT_MIN
max wxSP_DEFAULT_MAX
*/ */
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxSpinButton)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_5( wxSpinButton , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxSpinButton // wxSpinButton

View File

@@ -50,16 +50,26 @@
// macros // macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl) #if 0 // wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxSpinCtrl, wxControl,"wx/spinbut.h")
WX_BEGIN_PROPERTIES_TABLE(wxSpinCtrl)
WX_PROPERTY( Value , int , SetValue, GetValue, 0 )
WX_PROPERTY( Min , int , SetMin, GetMin, 0 )
WX_PROPERTY( Max , int , SetMax, GetMax, 0 )
/* /*
TODO PROPERTIES TODO PROPERTIES
style wxSP_ARROW_KEYS style wxSP_ARROW_KEYS
value wxSP_DEFAULT_VALUE
min wxSP_DEFAULT_MIN
max wxSP_DEFAULT_MAX
*/ */
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxSpinCtrl)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_5( wxSpinCtrl , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
#endif
BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton) BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton)
EVT_CHAR(wxSpinCtrl::OnChar) EVT_CHAR(wxSpinCtrl::OnChar)

View File

@@ -43,11 +43,24 @@
// wxWin macros // wxWin macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl) #if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxStaticBox, wxControl,"wx/statbox.h")
WX_BEGIN_PROPERTIES_TABLE(wxStaticBox)
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
/* /*
TODO PROPERTIES : TODO PROPERTIES :
label label
*/ */
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxStaticBox)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxStaticBox , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
#endif
// ============================================================================ // ============================================================================
// implementation // implementation

View File

@@ -32,11 +32,20 @@
#include "wx/msw/private.h" #include "wx/msw/private.h"
#include <stdio.h> #include <stdio.h>
#if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxStaticText, wxControl,"wx/stattext.h")
WX_BEGIN_PROPERTIES_TABLE(wxStaticText)
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxStaticText)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxStaticText , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle )
#else
IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
/* #endif
TODO PROPERTIES :
label
*/
bool wxStaticText::Create(wxWindow *parent, bool wxStaticText::Create(wxWindow *parent,
wxWindowID id, wxWindowID id,

View File

@@ -116,11 +116,22 @@ IMPLEMENT_DYNAMIC_CLASS(wxRichEditModule, wxModule)
// event tables and other macros // event tables and other macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if wxUSE_EXTENDED_RTTI
IMPLEMENT_DYNAMIC_CLASS_XTI(wxTextCtrl, wxControl,"wx/textctrl.h")
WX_BEGIN_PROPERTIES_TABLE(wxTextCtrl)
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
WX_PROPERTY( Value , wxString , SetValue, GetValue, wxEmptyString )
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxTextCtrl)
WX_END_HANDLERS_TABLE()
WX_CONSTRUCTOR_6( wxTextCtrl , wxWindow* , Parent , wxWindowID , Id , wxString , Value , wxPoint , Position , wxSize , Size , long , WindowStyle)
#else
IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl) IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
/* #endif
TODO PROPERTIES :
value
*/
BEGIN_EVENT_TABLE(wxTextCtrl, wxControl) BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
EVT_CHAR(wxTextCtrl::OnChar) EVT_CHAR(wxTextCtrl::OnChar)

View File

@@ -233,26 +233,38 @@ static inline void wxBringWindowToTop(HWND hwnd)
IMPLEMENT_DYNAMIC_CLASS_XTI(wxWindow, wxWindowBase,"wx/window.h") IMPLEMENT_DYNAMIC_CLASS_XTI(wxWindow, wxWindowBase,"wx/window.h")
WX_BEGIN_PROPERTIES_TABLE(wxWindow) WX_BEGIN_PROPERTIES_TABLE(wxWindow)
// WX_DEFAULT_CHILD_PARENT_RELATION( Parent , Children ) ; // Always constructor Properties first
WX_READONLY_PROPERTY( Parent,wxWindow*, GetParent, )
WX_READONLY_PROPERTY( Parent,wxWindow*, GetParent, )
WX_PROPERTY( Id,wxWindowID, SetId, GetId, -1 ) WX_PROPERTY( Id,wxWindowID, SetId, GetId, -1 )
// MaxHeight, Width , MinHeight , Width
// TODO switch label to control and title to toplevels
WX_PROPERTY_SET_BY_REF( Title,wxString, SetTitle, GetTitle, wxT("") )
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
WX_PROPERTY_SET_BY_REF( Position,wxPoint, SetPosition , GetPosition, wxPoint(-1,-1) ) // pos WX_PROPERTY_SET_BY_REF( Position,wxPoint, SetPosition , GetPosition, wxPoint(-1,-1) ) // pos
WX_PROPERTY_SET_BY_REF( Size,wxSize, SetSize, GetSize, wxSize(-1,-1) ) // size WX_PROPERTY_SET_BY_REF( Size,wxSize, SetSize, GetSize, wxSize(-1,-1) ) // size
WX_PROPERTY( WindowStyle , long , SetWindowStyle , GetWindowStyle , ) // style WX_PROPERTY( WindowStyle , long , SetWindowStyle , GetWindowStyle , ) // style
// Then all relations of the object graph
WX_READONLY_PROPERTY_COLLECTION( Children , wxWindowList , wxWindowBase* , GetChildren )
// and finally all other properties
WX_PROPERTY( ExtraStyle , long , SetExtraStyle , GetExtraStyle , ) // extstyle WX_PROPERTY( ExtraStyle , long , SetExtraStyle , GetExtraStyle , ) // extstyle
WX_PROPERTY( ThemeEnabled , bool , SetThemeEnabled , GetThemeEnabled , )
WX_PROPERTY_SET_BY_REF_RET_BOOL( BackgroundColour , wxColour , SetBackgroundColour , GetBackgroundColour , ) // bg WX_PROPERTY_SET_BY_REF_RET_BOOL( BackgroundColour , wxColour , SetBackgroundColour , GetBackgroundColour , ) // bg
WX_PROPERTY_SET_BY_REF_RET_BOOL( ForegroundColour , wxColour , SetForegroundColour , GetForegroundColour , ) // fg WX_PROPERTY_SET_BY_REF_RET_BOOL( ForegroundColour , wxColour , SetForegroundColour , GetForegroundColour , ) // fg
//WX_PROPERTY_SET_BY_REF( Cursor , wxCursor , SetCursor , GetCursor , )
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
// WX_PROPERTY( ToolTip , wxString , SetToolTip , GetToolTipText , )
WX_PROPERTY( AutoLayout , bool , SetAutoLayout , GetAutoLayout , )
WX_PROPERTY_SET_RET_BOOL( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) ) WX_PROPERTY_SET_RET_BOOL( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) )
WX_PROPERTY_SET_RET_BOOL( Shown , bool , Show , IsShown , wxxVariant((bool)true) ) WX_PROPERTY_SET_RET_BOOL( Shown , bool , Show , IsShown , wxxVariant((bool)true) )
#if 0
// possible property candidates (not in xrc) or not valid in all subclasses
WX_PROPERTY_SET_BY_REF( Title,wxString, SetTitle, GetTitle, wxT("") )
WX_PROPERTY_SET_AND_GET_BY_REF_RET_BOOL( Font , wxFont , SetFont , GetFont , )
WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
// MaxHeight, Width , MinHeight , Width
// TODO switch label to control and title to toplevels
WX_PROPERTY( ThemeEnabled , bool , SetThemeEnabled , GetThemeEnabled , )
//WX_PROPERTY_SET_BY_REF( Cursor , wxCursor , SetCursor , GetCursor , )
// WX_PROPERTY( ToolTip , wxString , SetToolTip , GetToolTipText , )
WX_PROPERTY( AutoLayout , bool , SetAutoLayout , GetAutoLayout , )
#endif
WX_END_PROPERTIES_TABLE() WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxWindow) WX_BEGIN_HANDLERS_TABLE(wxWindow)