]> git.saurik.com Git - wxWidgets.git/commitdiff
RTTI simplifications
authorStefan Csomor <csomor@advancedconcepts.ch>
Mon, 18 Aug 2003 09:59:18 +0000 (09:59 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Mon, 18 Aug 2003 09:59:18 +0000 (09:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

13 files changed:
src/msw/button.cpp
src/msw/checkbox.cpp
src/msw/choice.cpp
src/msw/combobox.cpp
src/msw/font.cpp
src/msw/frame.cpp
src/msw/listbox.cpp
src/msw/notebook.cpp
src/msw/radiobut.cpp
src/msw/statbox.cpp
src/msw/stattext.cpp
src/msw/textctrl.cpp
src/msw/window.cpp

index 640365319a6dc276ee0c1180fcb9811666a9295c..3f5cd007c8124a7d9284f448394047e3f6536623 100644 (file)
@@ -52,14 +52,14 @@ IMPLEMENT_DYNAMIC_CLASS_XTI(wxButton, wxControl,"wx/button.h")
 WX_BEGIN_PROPERTIES_TABLE(wxButton)
        WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_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( Font , wxFont , SetFont , GetWindowFont  , )
+       WX_PROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") )
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxButton)
 WX_END_HANDLERS_TABLE()
 
-WX_CONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle  ) 
+WX_CONSTRUCTOR_6( wxButton , wxWindow* , Parent , wxWindowID , Id , wxString , Label , wxPoint , Position , wxSize , Size , long , WindowStyle  )
 
 
 #else
index c3ac6bac004e65a59caa7b633b75b2ba29190ea4..426f7d8786cba2e08cbcdb91528b96da439f0ed7 100644 (file)
@@ -53,8 +53,8 @@ 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( Font , wxFont , SetFont , GetWindowFont  , )
+       WX_PROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") )
        WX_PROPERTY( Value ,bool, SetValue, GetValue, )
 WX_END_PROPERTIES_TABLE()
 
index bf8abfcb4238673233d6c1906d59c1f88db6943e..46c09070d8877d2aa78fc9dded364510313e97f7 100644 (file)
 
 #include "wx/msw/private.h"
 
-IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
+#if wxUSE_EXTENDED_RTTI
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxChoice, wxControl,"wx/checkbox.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxChoice)
+    // TODO DELEGATES
+       WX_PROPERTY( Font , wxFont , SetFont , GetWindowFont  , )
+    WX_PROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings )
+       WX_PROPERTY( Selection ,int, SetSelection, GetSelection, )
+WX_END_PROPERTIES_TABLE()
+
+WX_BEGIN_HANDLERS_TABLE(wxChoice)
+WX_END_HANDLERS_TABLE()
 
+WX_CONSTRUCTOR_4( wxChoice , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) 
+#else
+IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
+#endif
 /*
        TODO PROPERTIES
                selection (long)
index 1c62aa80f3eade9e3a3b1beaa4895138bc3f8da9..06aefa8f641531a4250ba3e86a2185b481652119 100644 (file)
 // wxWin macros
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
+#if wxUSE_EXTENDED_RTTI
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxComboBox, wxControl,"wx/combobox.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxComboBox)
+    // TODO DELEGATES
+       WX_PROPERTY( Font , wxFont , SetFont , GetWindowFont  , )
+    WX_PROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings )
+       WX_PROPERTY( Value ,wxString, SetValue, GetValue, )
+       WX_PROPERTY( Selection ,int, SetSelectionLine, GetSelection, )
+WX_END_PROPERTIES_TABLE()
+
+WX_BEGIN_HANDLERS_TABLE(wxComboBox)
+WX_END_HANDLERS_TABLE()
 
-/* 
-       TODO PROPERTIES
-               selection (long¨)
-               content
-                       value
-                       item
-*/
+WX_CONSTRUCTOR_5( wxComboBox , wxWindow* , Parent , wxWindowID , Id , wxString , Value , wxPoint , Position , wxSize , Size )
+#else
+IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
+#endif
 
 // ----------------------------------------------------------------------------
 // function prototypes
index 45a5473ca99228a1cc59d7abe2d6a49e4c7043e1..02cd9c93da0984346f9e7d2529424cca7053f60d 100644 (file)
@@ -76,7 +76,7 @@ WX_BEGIN_PROPERTIES_TABLE(wxFont)
        WX_PROPERTY( Style, int , SetStyle, GetStyle, (int)wxNORMAL ) // wxFontStyle
        WX_PROPERTY( Weight, int , SetWeight, GetWeight, (int)wxNORMAL ) // wxFontWeight
        WX_PROPERTY( Underlined, bool , SetUnderlined, GetUnderlined, false )
-       WX_PROPERTY_SET_BY_REF( Face, wxString , SetFaceName, GetFaceName, )
+       WX_PROPERTY( Face, wxString , SetFaceName, GetFaceName, )
        WX_PROPERTY( Encoding, wxFontEncoding , SetEncoding, GetEncoding, wxFONTENCODING_DEFAULT )
 WX_END_PROPERTIES_TABLE()
 
index 3ceedd493891a1164139645d46c8c53145f29a5a..d5597c1c83093f68e25510983d9d098d62d87a95 100644 (file)
@@ -83,7 +83,7 @@ END_EVENT_TABLE()
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxFrame, wxTopLevelWindow,"wx/frame.h")
 
 WX_BEGIN_PROPERTIES_TABLE(wxFrame)
-       WX_PROPERTY_SET_BY_REF( Title,wxString, SetTitle, GetTitle, wxT("") )
+       WX_PROPERTY( Title,wxString, SetTitle, GetTitle, wxT("") )
 /*
        TODO PROPERTIES
 
index b587d32dbae48dfbdafbf42ef1626cf35b5c7201..f081fc8c6777e22e3246e4b2d50b86bd859f7912 100644 (file)
     #include "wx/msw/gnuwin32/extra.h"
 #endif
 
+#if wxUSE_EXTENDED_RTTI
+IMPLEMENT_DYNAMIC_CLASS_XTI(wxListBox, wxControl,"wx/listbox.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxListBox)
+    // TODO DELEGATES
+       WX_PROPERTY( Font , wxFont , SetFont , GetWindowFont  , )
+    WX_PROPERTY_COLLECTION( Choices , wxArrayString , wxString , AppendString , GetStrings )
+       WX_PROPERTY( Selection ,int, SetSelectionLine, GetSelection, )
+WX_END_PROPERTIES_TABLE()
+
+WX_BEGIN_HANDLERS_TABLE(wxListBox)
+WX_END_HANDLERS_TABLE()
+
+WX_CONSTRUCTOR_4( wxListBox , wxWindow* , Parent , wxWindowID , Id , wxPoint , Position , wxSize , Size ) 
+#else
 IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
+#endif
 
 /*
 TODO PROPERTIES
index ea3334de804e324c4dcbda26079a3b060c875005..d9f975ef406386308f5b7c0b2daffe930db1ab54 100644 (file)
@@ -158,6 +158,11 @@ WX_END_HANDLERS_TABLE()
 
 WX_CONSTRUCTOR_4( wxNotebookPageInfo , wxNotebookPage* , Page , wxString , Text , bool , Selected , int , ImageId ) 
 
+template<> void wxCollectionToVariantArray( wxNotebookPageInfoList const &theList, wxxVariantArray &value)
+{
+    wxListCollectionToVariantArray( theList , value ) ;
+}
+
 #else
 IMPLEMENT_DYNAMIC_CLASS(wxNotebook, wxControl)
 IMPLEMENT_DYNAMIC_CLASS(wxNotebookPageInfo, wxObject )
index abc19d681f2dfe229c863b32596ee26cbc40307c..191961764832cf4431035e0b82bb6f98ac44409c 100644 (file)
@@ -53,8 +53,8 @@ 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( Font , wxFont , SetFont , GetWindowFont  , )
+       WX_PROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") )
        WX_PROPERTY( Value ,bool, SetValue, GetValue, )
 WX_END_PROPERTIES_TABLE()
 
index 162a8a30b6561c68de2a643a99ee90ea9577bb50..84eb048bd0a7672c44cdb7cf772c5723b5e6d218 100644 (file)
@@ -47,7 +47,7 @@
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxStaticBox, wxControl,"wx/statbox.h")
 
 WX_BEGIN_PROPERTIES_TABLE(wxStaticBox)
-       WX_PROPERTY_SET_BY_REF( Label,wxString, SetLabel, GetLabel, wxT("") )
+       WX_PROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") )
 /*
        TODO PROPERTIES :
                label
index f05b7147cf958367f56e00853ebd336d13c39b1e..606e2d5d8de795b90df3e014869c962ad166bf72 100644 (file)
@@ -36,7 +36,7 @@
 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_PROPERTY( Label,wxString, SetLabel, GetLabel, wxT("") )
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxStaticText)
index ff93bacff4e50cec187064be1ac183ee0a64b450..9127559181a25e239b95d88e8d1344b3880e3239 100644 (file)
@@ -120,8 +120,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxRichEditModule, wxModule)
 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_SET_BY_REF( Value , wxString , SetValue, GetValue, wxEmptyString )
+       WX_PROPERTY( Font , wxFont , SetFont , GetWindowFont  , )
+       WX_PROPERTY( Value , wxString , SetValue, GetValue, wxEmptyString )
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxTextCtrl)
index 93c237878c84acec6bb5dbf13245f1bbc0533032..8e8603fcb658dca3d97534fca278a0cdb57efed2 100644 (file)
@@ -230,40 +230,57 @@ static inline void wxBringWindowToTop(HWND hwnd)
     IMPLEMENT_ABSTRACT_CLASS(wxWindowMSW, wxWindowBase)
 #else // __WXMSW__
 #if wxUSE_EXTENDED_RTTI
+
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxWindow, wxWindowBase,"wx/window.h")
 
+// make wxWindowList known before the property is used
+
+template<> const wxTypeInfo* wxGetTypeInfo( wxWindowList * )
+{
+    static wxCollectionTypeInfo s_typeInfo( (wxTypeInfo*) wxGetTypeInfo( (wxWindow **) NULL) ) ;
+    return &s_typeInfo ;
+}
+
+template<> void wxCollectionToVariantArray( wxWindowList const &theList, wxxVariantArray &value)
+{
+    wxListCollectionToVariantArray( theList , value ) ;
+}
+
 WX_BEGIN_PROPERTIES_TABLE(wxWindow)
     // Always constructor Properties first
 
     WX_READONLY_PROPERTY( Parent,wxWindow*, GetParent,  )
        WX_PROPERTY( Id,wxWindowID, SetId, GetId, -1 )
-       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( Position,wxPoint, SetWindowPosition , GetWindowPosition, wxPoint(-1,-1) ) // pos
+       WX_PROPERTY( Size,wxSize, SetWindowSize, GetWindowSize, wxSize(-1,-1) ) // size
+    WX_PROPERTY( WindowStyle , long , SetWindowStyle , GetWindowStyle , ) // style
 
     // Then all relations of the object graph
 
-    WX_READONLY_PROPERTY_COLLECTION( Children , wxWindowList , wxWindowBase* , GetChildren )
+    WX_READONLY_PROPERTY_COLLECTION( Children , wxWindowList , wxWindowBase* , GetWindowChildren )
 
    // and finally all other properties
 
        WX_PROPERTY( ExtraStyle , long , SetExtraStyle , GetExtraStyle , ) // extstyle
-       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_RET_BOOL( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) )
-       WX_PROPERTY_SET_RET_BOOL( Shown , bool , Show , IsShown , wxxVariant((bool)true) )
+       WX_PROPERTY( BackgroundColour , wxColour , SetBackgroundColour , GetBackgroundColour , ) // bg
+       WX_PROPERTY( ForegroundColour , wxColour , SetForegroundColour , GetForegroundColour , ) // fg
+       WX_PROPERTY( Enabled , bool , Enable , IsEnabled , wxxVariant((bool)true) )
+       WX_PROPERTY( 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("") )
+       WX_PROPERTY( Title,wxString, SetTitle, GetTitle, wxT("") )
+       WX_PROPERTY( Font , wxFont , SetFont , GetWindowFont  , )
+       WX_PROPERTY( 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( Cursor , wxCursor , SetCursor , GetCursor , )
        // WX_PROPERTY( ToolTip , wxString , SetToolTip , GetToolTipText , )
        WX_PROPERTY( AutoLayout , bool , SetAutoLayout , GetAutoLayout , )
+
+
+
 #endif
 WX_END_PROPERTIES_TABLE()
 
@@ -271,6 +288,7 @@ WX_BEGIN_HANDLERS_TABLE(wxWindow)
 WX_END_HANDLERS_TABLE()
 
 WX_CONSTRUCTOR_DUMMY(wxWindow)
+
 #else
     IMPLEMENT_DYNAMIC_CLASS(wxWindow, wxWindowBase)
 #endif
@@ -3458,7 +3476,7 @@ wxWindowMSW::MSWOnDrawItem(int WXUNUSED_UNLESS_ODRAWN(id),
 
 #endif // USE_OWNER_DRAWN
 
-#if wxUSE_CONTROLS && !defined(__WXUNIVERSAL__) 
+#if wxUSE_CONTROLS && !defined(__WXUNIVERSAL__)
 
 #if wxUSE_OWNER_DRAWN
     wxControl *item = wxDynamicCast(FindItem(id), wxControl);