WX_BEGIN_PROPERTIES_TABLE(wxButton)
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_BEGIN_HANDLERS_TABLE(wxButton)
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
// implementation
// ============================================================================
-IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
+#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()
-/*
-TODO PROPERTIES :
+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)
+#endif
-bool "checked" , 0
-*/
// ----------------------------------------------------------------------------
// wxCheckBox
IMPLEMENT_DYNAMIC_CLASS_XTI(wxFrame, wxTopLevelWindow,"wx/frame.h")
WX_BEGIN_PROPERTIES_TABLE(wxFrame)
+ WX_PROPERTY_SET_BY_REF( Title,wxString, SetTitle, GetTitle, wxT("") )
/*
TODO PROPERTIES
WX_BEGIN_HANDLERS_TABLE(wxFrame)
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
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)
// 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
- range (long)
- value (long)
- shadow (ShadowWidth)
- bezel (BezelFace)
+ style wxGA_HORIZONTAL
*/
+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
#include "wx/panel.h"
#endif
-/*
- notebookpage
- object
- object_ref
- label
- selected
- style
- usenotebooksizer
-*/
-
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
// 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_CHANGING)
END_EVENT_TABLE()
#if wxUSE_EXTENDED_RTTI
+
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_PROPERTY_COLLECTION( PageInfos , wxNotebookPageInfoList , wxNotebookPageInfo* , AddPageInfo , GetPageInfos )
+/*
+ notebookpage
+ object
+ object_ref
+ label
+ selected
+ style
+ usenotebooksizer
+*/
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxNotebook)
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
IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxNotebookPageInfo, wxObject )
#endif
IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
// 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
void wxNotebook::Init()
{
// wxRadioButton creation
// ----------------------------------------------------------------------------
-IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
-/*
- TODO PROPERTIES
+#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)
+#endif
- label
- value (bool , 0 )
-*/
void wxRadioButton::Init()
{
// 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
-
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
// 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
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)
EVT_CHAR(wxSpinCtrl::OnChar)
// 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 :
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
#include "wx/msw/private.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)
-/*
- TODO PROPERTIES :
- label
-*/
+#endif
bool wxStaticText::Create(wxWindow *parent,
wxWindowID id,
// 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)
-/*
- TODO PROPERTIES :
- value
-*/
+#endif
+
BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
EVT_CHAR(wxTextCtrl::OnChar)
IMPLEMENT_DYNAMIC_CLASS_XTI(wxWindow, wxWindowBase,"wx/window.h")
WX_BEGIN_PROPERTIES_TABLE(wxWindow)
- // WX_DEFAULT_CHILD_PARENT_RELATION( Parent , Children ) ;
- WX_READONLY_PROPERTY( Parent,wxWindow*, GetParent, )
+ // Always constructor Properties first
+
+ WX_READONLY_PROPERTY( Parent,wxWindow*, GetParent, )
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( 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( ThemeEnabled , bool , SetThemeEnabled , GetThemeEnabled , )
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( Cursor , wxCursor , SetCursor , GetCursor , )
+ WX_PROPERTY_SET_RET_BOOL( Enabled , bool , Enable , IsEnabled , 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 , )
- WX_PROPERTY_SET_RET_BOOL( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) )
- WX_PROPERTY_SET_RET_BOOL( Shown , bool , Show , IsShown , wxxVariant((bool)true) )
+#endif
WX_END_PROPERTIES_TABLE()
WX_BEGIN_HANDLERS_TABLE(wxWindow)