]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_sizer.cpp
check that the version of __sync_sub_and_fetch that returns a value is supported...
[wxWidgets.git] / src / xrc / xh_sizer.cpp
index d8652b6113cd67ee56000fbb83c7440d6e0cba0b..9ff053c5b28425d675f869d6c036b57d84f336be 100644 (file)
@@ -76,7 +76,6 @@ wxSizerXmlHandler::wxSizerXmlHandler()
     XRC_ADD_STYLE(wxALIGN_CENTER_VERTICAL);
     XRC_ADD_STYLE(wxALIGN_CENTRE_VERTICAL);
 
     XRC_ADD_STYLE(wxALIGN_CENTER_VERTICAL);
     XRC_ADD_STYLE(wxALIGN_CENTRE_VERTICAL);
 
-    XRC_ADD_STYLE(wxADJUST_MINSIZE);
     XRC_ADD_STYLE(wxFIXED_MINSIZE);
 }
 
     XRC_ADD_STYLE(wxFIXED_MINSIZE);
 }
 
@@ -145,9 +144,9 @@ wxObject* wxSizerXmlHandler::Handle_sizeritem()
         wxWindow *wnd = wxDynamicCast(item, wxWindow);
 
         if (sizer)
         wxWindow *wnd = wxDynamicCast(item, wxWindow);
 
         if (sizer)
-            sitem->SetSizer(sizer);
+            sitem->AssignSizer(sizer);
         else if (wnd)
         else if (wnd)
-            sitem->SetWindow(wnd);
+            sitem->AssignWindow(wnd);
         else
             wxLogError(wxT("Error in resource."));
 
         else
             wxLogError(wxT("Error in resource."));
 
@@ -171,7 +170,7 @@ wxObject* wxSizerXmlHandler::Handle_spacer()
 
     wxSizerItem* sitem = MakeSizerItem();
     SetSizerItemAttributes(sitem);
 
     wxSizerItem* sitem = MakeSizerItem();
     SetSizerItemAttributes(sitem);
-    sitem->SetSpacer(GetSize());
+    sitem->AssignSpacer(GetSize());
     AddSizerItem(sitem);
     return NULL;
 }
     AddSizerItem(sitem);
     return NULL;
 }
@@ -185,18 +184,16 @@ wxObject* wxSizerXmlHandler::Handle_sizer()
 
     wxCHECK_MSG(m_parentSizer != NULL ||
                 (parentNode && parentNode->GetType() == wxXML_ELEMENT_NODE &&
 
     wxCHECK_MSG(m_parentSizer != NULL ||
                 (parentNode && parentNode->GetType() == wxXML_ELEMENT_NODE &&
-                 m_parentAsWindow != NULL &&
-                 (m_parentAsWindow->IsKindOf(CLASSINFO(wxPanel)) ||
-                  m_parentAsWindow->IsKindOf(CLASSINFO(wxFrame)) ||
-                  m_parentAsWindow->IsKindOf(CLASSINFO(wxDialog)))
-                    ), NULL,
-                wxT("Incorrect use of sizer: parent is not 'wxDialog', 'wxFrame' or 'wxPanel'."));
+                 m_parentAsWindow), NULL,
+                wxT("Sizer must have a window parent node"));
 
     if (m_class == wxT("wxBoxSizer"))
         sizer = Handle_wxBoxSizer();
 
 
     if (m_class == wxT("wxBoxSizer"))
         sizer = Handle_wxBoxSizer();
 
+#if wxUSE_STATBOX
     else if (m_class == wxT("wxStaticBoxSizer"))
         sizer = Handle_wxStaticBoxSizer();
     else if (m_class == wxT("wxStaticBoxSizer"))
         sizer = Handle_wxStaticBoxSizer();
+#endif
 
     else if (m_class == wxT("wxGridSizer"))
         sizer = Handle_wxGridSizer();
 
     else if (m_class == wxT("wxGridSizer"))
         sizer = Handle_wxGridSizer();
@@ -255,6 +252,7 @@ wxSizer*  wxSizerXmlHandler::Handle_wxBoxSizer()
     return new wxBoxSizer(GetStyle(wxT("orient"), wxHORIZONTAL));
 }
 
     return new wxBoxSizer(GetStyle(wxT("orient"), wxHORIZONTAL));
 }
 
+#if wxUSE_STATBOX
 wxSizer*  wxSizerXmlHandler::Handle_wxStaticBoxSizer()
 {
     return new wxStaticBoxSizer(
 wxSizer*  wxSizerXmlHandler::Handle_wxStaticBoxSizer()
 {
     return new wxStaticBoxSizer(
@@ -266,6 +264,7 @@ wxSizer*  wxSizerXmlHandler::Handle_wxStaticBoxSizer()
                             GetName()),
             GetStyle(wxT("orient"), wxHORIZONTAL));
 }
                             GetName()),
             GetStyle(wxT("orient"), wxHORIZONTAL));
 }
+#endif // wxUSE_STATBOX
 
 wxSizer*  wxSizerXmlHandler::Handle_wxGridSizer()
 {
 
 wxSizer*  wxSizerXmlHandler::Handle_wxGridSizer()
 {
@@ -362,6 +361,9 @@ void wxSizerXmlHandler::SetSizerItemAttributes(wxSizerItem* sitem)
         gbsitem->SetPos(GetGBPos(wxT("cellpos")));
         gbsitem->SetSpan(GetGBSpan(wxT("cellspan")));
     }
         gbsitem->SetPos(GetGBPos(wxT("cellpos")));
         gbsitem->SetSpan(GetGBSpan(wxT("cellspan")));
     }
+
+    // record the id of the item, if any, for use by XRCSIZERITEM()
+    sitem->SetId(GetID());
 }
 
 void wxSizerXmlHandler::AddSizerItem(wxSizerItem* sitem)
 }
 
 void wxSizerXmlHandler::AddSizerItem(wxSizerItem* sitem)