From 066f1b7a9580fc6c487efa753d61e3683de61407 Mon Sep 17 00:00:00 2001
From: Stefan Csomor <csomor@advancedconcepts.ch>
Date: Tue, 5 Aug 2003 17:30:46 +0000
Subject: [PATCH] xti extensions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22601 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/common/fontmap.cpp   | 55 ++++++++++++++++++++++++++++++++++++++++
 src/common/object.cpp    |  8 +++---
 src/common/sizer.cpp     | 33 +++++++++++++++++++++++-
 src/generic/dirctrlg.cpp |  7 +++++
 src/generic/panelg.cpp   |  1 +
 src/generic/scrlwing.cpp |  5 ++++
 src/generic/splitter.cpp | 10 ++++++++
 src/generic/wizard.cpp   |  8 ++++++
 src/msw/bmpbuttn.cpp     | 10 ++++++++
 src/msw/button.cpp       |  1 +
 src/msw/checkbox.cpp     |  6 +++++
 src/msw/checklst.cpp     |  5 ++++
 src/msw/choice.cpp       |  7 +++++
 src/msw/colour.cpp       | 15 +++++++++++
 src/msw/combobox.cpp     |  8 ++++++
 src/msw/dialog.cpp       |  7 +++++
 src/msw/font.cpp         | 46 ++++++++++++++++++++++++++++++++-
 src/msw/frame.cpp        |  6 +++++
 src/msw/gauge95.cpp      |  8 ++++++
 src/msw/listbox.cpp      |  7 +++++
 src/msw/menu.cpp         | 17 +++++++++++++
 src/msw/notebook.cpp     | 10 ++++++++
 src/msw/radiobox.cpp     |  8 ++++++
 src/msw/radiobut.cpp     |  7 +++++
 src/msw/scrolbar.cpp     |  8 ++++++
 src/msw/slider95.cpp     | 12 +++++++++
 src/msw/spinbutt.cpp     | 10 ++++++++
 src/msw/spinctrl.cpp     |  9 +++++++
 src/msw/statbmp.cpp      |  5 ++++
 src/msw/statbox.cpp      |  4 +++
 src/msw/statline.cpp     |  4 +++
 src/msw/stattext.cpp     |  4 +++
 src/msw/tbar95.cpp       | 19 ++++++++++++++
 src/msw/textctrl.cpp     |  4 +++
 src/msw/window.cpp       | 18 +++++++++++--
 35 files changed, 385 insertions(+), 7 deletions(-)

diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp
index 18fc3917c2..c0a6fd0c50 100644
--- a/src/common/fontmap.cpp
+++ b/src/common/fontmap.cpp
@@ -54,6 +54,61 @@
 
 #include "wx/encconv.h"
 
+#if wxUSE_EXTENDED_RTTI
+
+WX_BEGIN_ENUM( wxFontEncoding )
+	WX_ENUM_MEMBER( wxFONTENCODING_SYSTEM )
+	WX_ENUM_MEMBER( wxFONTENCODING_DEFAULT )
+
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_1 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_2 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_3 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_4 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_5 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_6 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_7 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_8 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_9 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_10 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_11 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_12 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_13 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_14 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_15 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ISO8859_MAX )
+	WX_ENUM_MEMBER( wxFONTENCODING_KOI8 )
+	WX_ENUM_MEMBER( wxFONTENCODING_ALTERNATIVE )
+	WX_ENUM_MEMBER( wxFONTENCODING_BULGARIAN )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP437 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP850 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP852 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP855 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP866 )
+
+	WX_ENUM_MEMBER( wxFONTENCODING_CP874 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP932 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP936 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP949 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP950 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1250 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1251 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1252 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1253 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1254 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1255 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1256 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP1257 )
+	WX_ENUM_MEMBER( wxFONTENCODING_CP12_MAX )
+	WX_ENUM_MEMBER( wxFONTENCODING_UTF7 )
+	WX_ENUM_MEMBER( wxFONTENCODING_UTF8 )
+	WX_ENUM_MEMBER( wxFONTENCODING_GB2312 )
+	WX_ENUM_MEMBER( wxFONTENCODING_BIG5 )
+	WX_ENUM_MEMBER( wxFONTENCODING_SHIFT_JIS )
+	WX_ENUM_MEMBER( wxFONTENCODING_EUC_JP )
+	WX_ENUM_MEMBER( wxFONTENCODING_UNICODE )
+WX_END_ENUM( wxFontEncoding )
+#endif
+
 // ----------------------------------------------------------------------------
 // constants
 // ----------------------------------------------------------------------------
diff --git a/src/common/object.cpp b/src/common/object.cpp
index 2c5530169c..b66a33ab71 100644
--- a/src/common/object.cpp
+++ b/src/common/object.cpp
@@ -53,19 +53,21 @@
 
 #if wxUSE_EXTENDED_RTTI
 const wxClassInfo* wxObject::sm_classParentswxObject[] = { NULL } ; 
- wxObject* wxVariantToObjectConverterwxObject ( const wxxVariant &data ) 
+ wxObject* wxVariantToObjectConverterwxObject ( wxxVariant &data ) 
 { return data.Get<wxObject*>() ; } 
+ wxObject* wxVariantOfPtrToObjectConverterwxObject ( wxxVariant &data ) 
+{ return &data.Get<wxObject>() ; } 
  wxxVariant wxObjectToVariantConverterwxObject ( wxObject *data ) 
  { return wxxVariant( dynamic_cast<wxObject*> (data)  ) ; }
  wxClassInfo wxObject::sm_classwxObject(sm_classParentswxObject , wxT("") , wxT("wxObject"),   
             (int) sizeof(wxObject),                              \
             (wxObjectConstructorFn) 0   ,   
 			(wxPropertyInfo*) NULL,(wxHandlerInfo*) NULL,0 , 0 ,     
-			0 , wxVariantToObjectConverterwxObject , wxObjectToVariantConverterwxObject);    
+			0 , wxVariantOfPtrToObjectConverterwxObject , wxVariantToObjectConverterwxObject , wxObjectToVariantConverterwxObject);    
  template<> void wxStringReadValue(const wxString & , wxObject * & ){assert(0) ;}
  template<> void wxStringWriteValue(wxString & , wxObject* const & ){assert(0) ;}
  template<> const wxTypeInfo* wxGetTypeInfo( wxObject ** )
- { static wxClassTypeInfo s_typeInfo(&wxObject::sm_classwxObject) ; return &s_typeInfo ; }
+ { static wxClassTypeInfo s_typeInfo(wxT_OBJECT_PTR , &wxObject::sm_classwxObject) ; return &s_typeInfo ; }
 #else
 wxClassInfo wxObject::sm_classwxObject( wxT("wxObject"), 0, 0,
                                         (int) sizeof(wxObject),
diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp
index 3650a7b5b7..87b68bee76 100644
--- a/src/common/sizer.cpp
+++ b/src/common/sizer.cpp
@@ -43,7 +43,38 @@ IMPLEMENT_CLASS(wxNotebookSizer, wxSizer)
 
 WX_DEFINE_EXPORTED_LIST( wxSizerItemList );
 
-
+/*
+	TODO PROPERTIES
+	  sizeritem
+	    object
+		object_ref
+		  minsize
+		  option
+		  flag
+		  border
+     spacer
+		option
+		flag
+		borfder
+	boxsizer
+	   orient
+    staticboxsizer
+	   orient
+	   label
+	gridsizer
+	   rows
+	   cols
+	   vgap
+	   hgap
+	flexgridsizer
+	   rows
+	   cols
+	   vgap
+	   hgap
+	   growablerows
+	   growablecols
+    minsize
+*/
 //---------------------------------------------------------------------------
 // wxSizerItem
 //---------------------------------------------------------------------------
diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp
index 151ad01887..2d3ad5a929 100644
--- a/src/generic/dirctrlg.cpp
+++ b/src/generic/dirctrlg.cpp
@@ -430,6 +430,13 @@ bool wxDirItemData::HasFiles(const wxString& WXUNUSED(spec)) const
 
 IMPLEMENT_DYNAMIC_CLASS(wxGenericDirCtrl, wxControl)
 
+/*
+TODO PROPERTIES
+	defaultfolder string
+	filter string
+	(long) defaultfilter)
+*/
+
 BEGIN_EVENT_TABLE(wxGenericDirCtrl, wxControl)
   EVT_TREE_ITEM_EXPANDING     (-1, wxGenericDirCtrl::OnExpandItem)
   EVT_TREE_ITEM_COLLAPSED     (-1, wxGenericDirCtrl::OnCollapseItem)
diff --git a/src/generic/panelg.cpp b/src/generic/panelg.cpp
index 3bc06cc3be..e7d762317b 100644
--- a/src/generic/panelg.cpp
+++ b/src/generic/panelg.cpp
@@ -47,6 +47,7 @@
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxPanel, wxWindow,"wx/panel.h")
 
 WX_BEGIN_PROPERTIES_TABLE(wxPanel)
+// style wxTAB_TRAVERSAL
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxPanel)
diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp
index a138011f0e..726b6c1935 100644
--- a/src/generic/scrlwing.cpp
+++ b/src/generic/scrlwing.cpp
@@ -61,6 +61,11 @@
 
 IMPLEMENT_CLASS(wxScrolledWindow, wxGenericScrolledWindow)
 
+/*
+	TODO PROPERTIES
+		style wxHSCROLL | wxVSCROLL
+*/
+
 // ----------------------------------------------------------------------------
 // wxScrollHelperEvtHandler: intercept the events from the window and forward
 // them to wxScrollHelper
diff --git a/src/generic/splitter.cpp b/src/generic/splitter.cpp
index a0e8532498..46e4c888f5 100644
--- a/src/generic/splitter.cpp
+++ b/src/generic/splitter.cpp
@@ -48,6 +48,16 @@ DEFINE_EVENT_TYPE(wxEVT_COMMAND_SPLITTER_DOUBLECLICKED)
 DEFINE_EVENT_TYPE(wxEVT_COMMAND_SPLITTER_UNSPLIT)
 
 IMPLEMENT_DYNAMIC_CLASS(wxSplitterWindow, wxWindow)
+
+/*
+	TODO PROPERTIES
+		style wxSP_3D
+		sashpos (long , 0 )
+		minsize (long -1 )
+		object, object_ref
+		orientation
+*/
+
 IMPLEMENT_DYNAMIC_CLASS(wxSplitterEvent, wxNotifyEvent)
 
 BEGIN_EVENT_TABLE(wxSplitterWindow, wxWindow)
diff --git a/src/generic/wizard.cpp b/src/generic/wizard.cpp
index 988d7bcf87..329399e221 100644
--- a/src/generic/wizard.cpp
+++ b/src/generic/wizard.cpp
@@ -93,6 +93,14 @@ BEGIN_EVENT_TABLE(wxWizard, wxDialog)
 END_EVENT_TABLE()
 
 IMPLEMENT_DYNAMIC_CLASS(wxWizard, wxDialog)
+
+/*
+	TODO PROPERTIES :
+	wxWizard
+		extstyle
+		title
+*/
+
 IMPLEMENT_ABSTRACT_CLASS(wxWizardPage, wxPanel)
 IMPLEMENT_DYNAMIC_CLASS(wxWizardPageSimple, wxWizardPage)
 IMPLEMENT_DYNAMIC_CLASS(wxWizardEvent, wxNotifyEvent)
diff --git a/src/msw/bmpbuttn.cpp b/src/msw/bmpbuttn.cpp
index c249267f04..7ff6769e77 100644
--- a/src/msw/bmpbuttn.cpp
+++ b/src/msw/bmpbuttn.cpp
@@ -32,6 +32,16 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmapButton, wxButton)
 
+/*
+TODO PROPERTIES :
+
+long "style" , wxBU_AUTODRAW
+bool "default" , 0
+bitmap "selected" ,
+bitmap "focus" ,
+bitmap "disabled" ,
+*/
+
 #define BUTTON_HEIGHT_FACTOR (EDIT_CONTROL_FACTOR * 1.1)
 
 bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
diff --git a/src/msw/button.cpp b/src/msw/button.cpp
index 4e93fe7cd8..34b8445f00 100644
--- a/src/msw/button.cpp
+++ b/src/msw/button.cpp
@@ -51,6 +51,7 @@ IMPLEMENT_DYNAMIC_CLASS_XTI(wxButton, wxControl,"wx/button.h")
 
 WX_BEGIN_PROPERTIES_TABLE(wxButton)
 	WX_DELEGATE( OnClick , wxEVT_COMMAND_BUTTON_CLICKED , wxCommandEvent )
+	// default
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxButton)
diff --git a/src/msw/checkbox.cpp b/src/msw/checkbox.cpp
index 8dfdd9fd0e..dfc0c6baad 100644
--- a/src/msw/checkbox.cpp
+++ b/src/msw/checkbox.cpp
@@ -49,6 +49,12 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxCheckBox, wxControl)
 
+/*
+TODO PROPERTIES :
+
+bool "checked" , 0
+*/
+
 // ----------------------------------------------------------------------------
 // wxCheckBox
 // ----------------------------------------------------------------------------
diff --git a/src/msw/checklst.cpp b/src/msw/checklst.cpp
index df2f156ce3..90bf234dc1 100644
--- a/src/msw/checklst.cpp
+++ b/src/msw/checklst.cpp
@@ -69,6 +69,11 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox)
 
+/*
+TODO PROPERTIES
+	list content
+		item , checked (no)
+*/
 // ----------------------------------------------------------------------------
 // declaration and implementation of wxCheckListBoxItem class
 // ----------------------------------------------------------------------------
diff --git a/src/msw/choice.cpp b/src/msw/choice.cpp
index f9629adaab..57631408b6 100644
--- a/src/msw/choice.cpp
+++ b/src/msw/choice.cpp
@@ -42,6 +42,13 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxChoice, wxControl)
 
+/*
+	TODO PROPERTIES
+		selection (long)
+		content (list)
+			item
+*/
+
 // ============================================================================
 // implementation
 // ============================================================================
diff --git a/src/msw/colour.cpp b/src/msw/colour.cpp
index b41790d4df..7ea51be97c 100644
--- a/src/msw/colour.cpp
+++ b/src/msw/colour.cpp
@@ -25,7 +25,22 @@
 
 #include <string.h>
 
+#if wxUSE_EXTENDED_RTTI
+IMPLEMENT_DYNAMIC_CLASS_WITH_COPY_XTI( wxColour , wxObject , "wx/colour.h" ) 
+
+WX_BEGIN_PROPERTIES_TABLE(wxColour)
+	WX_READONLY_PROPERTY( Red, unsigned char , Red , 0 )
+	WX_READONLY_PROPERTY( Green, unsigned char  , Green , 0 ) 
+	WX_READONLY_PROPERTY( Blue, unsigned char , Blue , 0 )
+WX_END_PROPERTIES_TABLE()
+
+WX_CONSTRUCTOR_3( wxColour , unsigned char , Red , unsigned char , Green , unsigned char , Blue )  
+
+WX_BEGIN_HANDLERS_TABLE(wxColour)
+WX_END_HANDLERS_TABLE()
+#else
 IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
+#endif
 
 // Colour
 
diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp
index e296bf6ca6..402acea13e 100644
--- a/src/msw/combobox.cpp
+++ b/src/msw/combobox.cpp
@@ -55,6 +55,14 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
 
+/* 
+	TODO PROPERTIES
+		selection (long¨)
+		content
+			value
+			item
+*/
+
 // ----------------------------------------------------------------------------
 // function prototypes
 // ----------------------------------------------------------------------------
diff --git a/src/msw/dialog.cpp b/src/msw/dialog.cpp
index 8c5390cc5c..c26ab68062 100644
--- a/src/msw/dialog.cpp
+++ b/src/msw/dialog.cpp
@@ -70,6 +70,13 @@ static wxWindowList wxModalDialogs;
 
 IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
 
+/*
+	TODO PROPERTIES
+
+		style (wxDEFAULT_DIALOG_STYLE)
+		centered (bool, false )
+*/
+
 BEGIN_EVENT_TABLE(wxDialog, wxDialogBase)
     EVT_BUTTON(wxID_OK, wxDialog::OnOK)
     EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index db290f0362..ad1c6ae5b3 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -44,7 +44,51 @@
 
 #include "wx/tokenzr.h"
 
-IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
+#if wxUSE_EXTENDED_RTTI
+
+WX_BEGIN_ENUM( wxFontFamily )
+	WX_ENUM_MEMBER( wxDEFAULT )
+	WX_ENUM_MEMBER( wxDECORATIVE )
+	WX_ENUM_MEMBER( wxROMAN )
+	WX_ENUM_MEMBER( wxSCRIPT )
+	WX_ENUM_MEMBER( wxSWISS )
+	WX_ENUM_MEMBER( wxMODERN )
+	WX_ENUM_MEMBER( wxTELETYPE )
+WX_END_ENUM( wxFontFamily )
+
+WX_BEGIN_ENUM( wxFontStyle )
+	WX_ENUM_MEMBER( wxNORMAL )
+	WX_ENUM_MEMBER( wxITALIC )
+	WX_ENUM_MEMBER( wxSLANT )
+WX_END_ENUM( wxFontStyle )
+
+WX_BEGIN_ENUM( wxFontWeight )
+	WX_ENUM_MEMBER( wxNORMAL )
+	WX_ENUM_MEMBER( wxLIGHT )
+	WX_ENUM_MEMBER( wxBOLD )
+WX_END_ENUM( wxFontWeight )
+
+IMPLEMENT_DYNAMIC_CLASS_WITH_COPY_XTI(wxFont, wxGDIObject,"wx/font.h")
+
+WX_BEGIN_PROPERTIES_TABLE(wxFont)
+	WX_PROPERTY( Size,int, SetPointSize, GetPointSize, 12 )
+	WX_PROPERTY( Family, int  , SetFamily, GetFamily, (int)wxDEFAULT ) // wxFontFamily
+	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( Encoding, wxFontEncoding , SetEncoding, GetEncoding, wxFONTENCODING_DEFAULT )
+WX_END_PROPERTIES_TABLE()
+
+WX_CONSTRUCTOR_6( wxFont , int , Size , int , Family , int , Style , int , Weight , bool , Underlined , wxString , Face )  
+
+WX_BEGIN_HANDLERS_TABLE(wxFont)
+WX_END_HANDLERS_TABLE()
+
+#else
+	IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
+#endif
+
 
 // ----------------------------------------------------------------------------
 // constants
diff --git a/src/msw/frame.cpp b/src/msw/frame.cpp
index 62e85fbec7..96f74340ea 100644
--- a/src/msw/frame.cpp
+++ b/src/msw/frame.cpp
@@ -83,6 +83,12 @@ END_EVENT_TABLE()
 IMPLEMENT_DYNAMIC_CLASS_XTI(wxFrame, wxTopLevelWindow,"wx/frame.h")
 
 WX_BEGIN_PROPERTIES_TABLE(wxFrame)
+/*
+	TODO PROPERTIES
+
+		style (wxDEFAULT_FRAME_STYLE)
+		centered (bool, false )
+*/
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxFrame)
diff --git a/src/msw/gauge95.cpp b/src/msw/gauge95.cpp
index 7df84ca373..fa515196ac 100644
--- a/src/msw/gauge95.cpp
+++ b/src/msw/gauge95.cpp
@@ -68,6 +68,14 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxGauge95, wxControl)
 
+/*
+	TODO PROPERTIES
+		range (long)
+		value (long)
+		shadow (ShadowWidth)
+		bezel (BezelFace)
+*/
+
 // ============================================================================
 // implementation
 // ============================================================================
diff --git a/src/msw/listbox.cpp b/src/msw/listbox.cpp
index 247ae933c8..f54a04bd96 100644
--- a/src/msw/listbox.cpp
+++ b/src/msw/listbox.cpp
@@ -49,6 +49,13 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxListBox, wxControl)
 
+/*
+TODO PROPERTIES
+	selection
+	content
+		item
+*/
+
 // ============================================================================
 // list box item declaration and implementation
 // ============================================================================
diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp
index ca6ab1b99c..5b60b5d6a3 100644
--- a/src/msw/menu.cpp
+++ b/src/msw/menu.cpp
@@ -115,6 +115,23 @@ UINT GetMenuState(HMENU hMenu, UINT id, UINT flags)
 IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxWindow)
 
+/*
+	TODO PROPERTIES
+		wxMenu
+			label
+			help
+
+		separator
+		break
+		label
+		accel
+		radio
+		checkable
+		help
+		bitmap
+		wxMenuItem
+*/
+
 // ---------------------------------------------------------------------------
 // wxMenu construction, adding and removing menu items
 // ---------------------------------------------------------------------------
diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp
index 9f8021bf01..cb9d37a573 100644
--- a/src/msw/notebook.cpp
+++ b/src/msw/notebook.cpp
@@ -68,6 +68,16 @@
 #include "wx/panel.h"
 #endif
 
+/*
+	notebookpage
+		object
+		object_ref
+		label
+		selected
+		style
+		usenotebooksizer
+*/
+
 // ----------------------------------------------------------------------------
 // macros
 // ----------------------------------------------------------------------------
diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp
index bbb4333cf9..39e4d068f6 100644
--- a/src/msw/radiobox.cpp
+++ b/src/msw/radiobox.cpp
@@ -49,6 +49,14 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxRadioBox, wxControl)
 
+/*
+	selection
+	content
+		label
+		dimension
+		item
+*/
+
 // there are two possible ways to create the radio buttons: either as children
 // of the radiobox or as siblings of it - allow playing with both variants for
 // now, eventually we will choose the best one for our purposes
diff --git a/src/msw/radiobut.cpp b/src/msw/radiobut.cpp
index 4cff6cf1e3..4b51cbc2d8 100644
--- a/src/msw/radiobut.cpp
+++ b/src/msw/radiobut.cpp
@@ -49,6 +49,13 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxRadioButton, wxControl)
 
+/*
+	TODO PROPERTIES
+
+		label
+		value (bool , 0 )
+*/
+
 void wxRadioButton::Init()
 {
     m_focusJustSet = FALSE;
diff --git a/src/msw/scrolbar.cpp b/src/msw/scrolbar.cpp
index c4fbe72399..739bf843cc 100644
--- a/src/msw/scrolbar.cpp
+++ b/src/msw/scrolbar.cpp
@@ -31,6 +31,14 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxScrollBar, wxControl)
 
+/*
+	TODO PROPERTIES
+		value (long,0)
+		thumbsize(long,1)
+		range( long , 10 )
+		pagesize( long , 1)
+*/
+
 BEGIN_EVENT_TABLE(wxScrollBar, wxControl)
 #if WXWIN_COMPATIBILITY
   EVT_SCROLL(wxScrollBar::OnScroll)
diff --git a/src/msw/slider95.cpp b/src/msw/slider95.cpp
index 7afdc6357f..2f35fc9e19 100644
--- a/src/msw/slider95.cpp
+++ b/src/msw/slider95.cpp
@@ -39,6 +39,18 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxSlider95, wxControl)
 
+/*
+	TODO PROPERTIES
+		value wxSL_DEFAULT_VALUE
+		min wxSL_DEFAULT_MIN
+		max wxSL_DEFAULT_MAX
+		tickfreq (long , 0 )
+		pagesize ( long )
+		linesize (long)
+		thumg (long)
+		tick (long)
+		selmin / selmax (long)
+*/
 // Slider
 wxSlider95::wxSlider95()
 {
diff --git a/src/msw/spinbutt.cpp b/src/msw/spinbutt.cpp
index 3547df37d0..ff06c69136 100644
--- a/src/msw/spinbutt.cpp
+++ b/src/msw/spinbutt.cpp
@@ -57,6 +57,16 @@ IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent)
 
 IMPLEMENT_DYNAMIC_CLASS(wxSpinButton, wxControl)
 
+/*
+	TODO PROPERTIES
+
+		style wxSP_VERTICAL | wxSP_ARROW_KEYS
+		value wxSP_DEFAULT_VALUE
+		min wxSP_DEFAULT_MIN
+		max wxSP_DEFAULT_MAX
+
+*/
+
 // ----------------------------------------------------------------------------
 // wxSpinButton
 // ----------------------------------------------------------------------------
diff --git a/src/msw/spinctrl.cpp b/src/msw/spinctrl.cpp
index 406afce629..c1aa0182d7 100644
--- a/src/msw/spinctrl.cpp
+++ b/src/msw/spinctrl.cpp
@@ -52,6 +52,15 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
 
+/*
+	TODO PROPERTIES
+		style wxSP_ARROW_KEYS
+		value wxSP_DEFAULT_VALUE
+		min wxSP_DEFAULT_MIN
+		max wxSP_DEFAULT_MAX
+
+*/
+
 BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton)
     EVT_CHAR(wxSpinCtrl::OnChar)
 
diff --git a/src/msw/statbmp.cpp b/src/msw/statbmp.cpp
index 07f6dfe1a9..604f6be4e0 100644
--- a/src/msw/statbmp.cpp
+++ b/src/msw/statbmp.cpp
@@ -46,6 +46,11 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl)
 
+/*
+	TODO PROPERTIES :
+		bitmap
+*/
+
 // ===========================================================================
 // implementation
 // ===========================================================================
diff --git a/src/msw/statbox.cpp b/src/msw/statbox.cpp
index 2689d61fc9..6c89c3d1d7 100644
--- a/src/msw/statbox.cpp
+++ b/src/msw/statbox.cpp
@@ -44,6 +44,10 @@
 // ----------------------------------------------------------------------------
 
 IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl)
+/*
+	TODO PROPERTIES :
+		label
+*/
 
 // ============================================================================
 // implementation
diff --git a/src/msw/statline.cpp b/src/msw/statline.cpp
index 510292b151..a86e0ad0a6 100644
--- a/src/msw/statline.cpp
+++ b/src/msw/statline.cpp
@@ -47,6 +47,10 @@
 // ============================================================================
 
 IMPLEMENT_DYNAMIC_CLASS(wxStaticLine, wxControl)
+/*
+	TODO PROPERTIES :
+		style (wxLI_HORIZONTAL)
+*/
 
 // ----------------------------------------------------------------------------
 // wxStaticLine
diff --git a/src/msw/stattext.cpp b/src/msw/stattext.cpp
index 5bfc2f0e92..4c2521c468 100644
--- a/src/msw/stattext.cpp
+++ b/src/msw/stattext.cpp
@@ -33,6 +33,10 @@
 #include <stdio.h>
 
 IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl)
+/*
+	TODO PROPERTIES :
+		label
+*/
 
 bool wxStaticText::Create(wxWindow *parent,
                           wxWindowID id,
diff --git a/src/msw/tbar95.cpp b/src/msw/tbar95.cpp
index 7276787ba4..94305d7af8 100644
--- a/src/msw/tbar95.cpp
+++ b/src/msw/tbar95.cpp
@@ -109,6 +109,25 @@
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl)
 
+/*
+	TOOLBAR PROPERTIES
+		tool
+			bitmap
+			bitmap2
+			tooltip
+			longhelp
+			radio (bool)
+			toggle (bool)
+		separator
+		style ( wxNO_BORDER | wxTB_HORIZONTAL)
+		bitmapsize
+		margins
+		packing
+		separation
+
+		dontattachtoframe
+*/
+
 BEGIN_EVENT_TABLE(wxToolBar, wxToolBarBase)
     EVT_MOUSE_EVENTS(wxToolBar::OnMouseEvent)
     EVT_SYS_COLOUR_CHANGED(wxToolBar::OnSysColourChanged)
diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp
index 9951c9ba36..1a4228d9a4 100644
--- a/src/msw/textctrl.cpp
+++ b/src/msw/textctrl.cpp
@@ -117,6 +117,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxRichEditModule, wxModule)
 // ----------------------------------------------------------------------------
 
 IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
+/*
+	TODO PROPERTIES :
+		value
+*/
 
 BEGIN_EVENT_TABLE(wxTextCtrl, wxControl)
     EVT_CHAR(wxTextCtrl::OnChar)
diff --git a/src/msw/window.cpp b/src/msw/window.cpp
index c5d1f8275b..c8efb9e912 100644
--- a/src/msw/window.cpp
+++ b/src/msw/window.cpp
@@ -233,12 +233,26 @@ static inline void wxBringWindowToTop(HWND hwnd)
 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,  )
 	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, wxDefaultPosition )
-	WX_PROPERTY_SET_BY_REF( Size,wxSize, SetSize, GetSize, wxDefaultSize )
+	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( 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_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( Shown , bool , Show , IsShown , wxxVariant((bool)true) )
 WX_END_PROPERTIES_TABLE()
 
 WX_BEGIN_HANDLERS_TABLE(wxWindow)
-- 
2.47.2