#else // __WXMSW__
#if wxUSE_EXTENDED_RTTI
-IMPLEMENT_DYNAMIC_CLASS_XTI(wxWindow, wxWindowBase,"wx/window.h")
+// windows that are created from a parent window during its Create method, eg. spin controls in a calendar controls
+// must never been streamed out separately otherwise chaos occurs. Right now easiest is to test for negative ids, as
+// windows with negative ids never can be recreated anyway
+
+bool wxWindowStreamingCallback( const wxObject *object, wxWriter * , wxPersister * , wxxVariantArray & )
+{
+ const wxWindow * win = dynamic_cast<const wxWindow*>(object) ;
+ if ( win && win->GetId() < 0 )
+ return false ;
+ return true ;
+}
+
+IMPLEMENT_DYNAMIC_CLASS_XTI_CALLBACK(wxWindow, wxWindowBase,"wx/window.h", wxWindowStreamingCallback)
// make wxWindowList known before the property is used
template<> void wxCollectionToVariantArray( wxWindowList const &theList, wxxVariantArray &value)
{
- wxListCollectionToVariantArray( theList , value ) ;
-}
+ wxListCollectionToVariantArray<wxWindowList::compatibility_iterator>( theList , value ) ;
+}
+
+WX_DEFINE_FLAGS( wxWindowStyle )
+
+WX_BEGIN_FLAGS( wxWindowStyle )
+ // new style border flags, we put them first to
+ // use them for streaming out
+ WX_FLAGS_MEMBER(wxBORDER_SIMPLE)
+ WX_FLAGS_MEMBER(wxBORDER_SUNKEN)
+ WX_FLAGS_MEMBER(wxBORDER_DOUBLE)
+ WX_FLAGS_MEMBER(wxBORDER_RAISED)
+ WX_FLAGS_MEMBER(wxBORDER_STATIC)
+ WX_FLAGS_MEMBER(wxBORDER_NONE)
+
+ // old style border flags
+ WX_FLAGS_MEMBER(wxSIMPLE_BORDER)
+ WX_FLAGS_MEMBER(wxSUNKEN_BORDER)
+ WX_FLAGS_MEMBER(wxDOUBLE_BORDER)
+ WX_FLAGS_MEMBER(wxRAISED_BORDER)
+ WX_FLAGS_MEMBER(wxSTATIC_BORDER)
+ WX_FLAGS_MEMBER(wxNO_BORDER)
+
+ // standard window styles
+ WX_FLAGS_MEMBER(wxTAB_TRAVERSAL)
+ WX_FLAGS_MEMBER(wxCLIP_CHILDREN)
+ WX_FLAGS_MEMBER(wxTRANSPARENT_WINDOW)
+ WX_FLAGS_MEMBER(wxWANTS_CHARS)
+ WX_FLAGS_MEMBER(wxNO_FULL_REPAINT_ON_RESIZE)
+ WX_FLAGS_MEMBER(wxALWAYS_SHOW_SB )
+ WX_FLAGS_MEMBER(wxVSCROLL)
+ WX_FLAGS_MEMBER(wxHSCROLL)
+
+WX_END_FLAGS( wxWindowStyle )
WX_BEGIN_PROPERTIES_TABLE(wxWindow)
// Always constructor Properties first