]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_toolb.cpp
fix warnings about hiding virtual wxGraphicsContext::DrawText() overloads by using...
[wxWidgets.git] / src / xrc / xh_toolb.cpp
index 7c1f0fa055483f260242088e3b80819ce24aa09c..c1bda2419fb6301ed9c082b157d57cd56930004c 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        src/xrc/xh_toolb.cpp
-// Purpose:     XRC resource for wxBoxSizer
+// Purpose:     XRC resource for wxToolBar
 // Author:      Vaclav Slavik
 // Created:     2000/08/11
 // RCS-ID:      $Id$
 
 #ifndef WX_PRECOMP
     #include "wx/frame.h"
+    #include "wx/toolbar.h"
 #endif
 
-#include "wx/toolbar.h"
-
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler)
 
 wxToolBarXmlHandler::wxToolBarXmlHandler()
@@ -41,6 +40,12 @@ wxToolBarXmlHandler::wxToolBarXmlHandler()
     XRC_ADD_STYLE(wxTB_NOALIGN);
     XRC_ADD_STYLE(wxTB_HORZ_LAYOUT);
     XRC_ADD_STYLE(wxTB_HORZ_TEXT);
+
+    XRC_ADD_STYLE(wxTB_TOP);
+    XRC_ADD_STYLE(wxTB_LEFT);
+    XRC_ADD_STYLE(wxTB_RIGHT);
+    XRC_ADD_STYLE(wxTB_BOTTOM);
+
     AddWindowStyles();
 }
 
@@ -50,40 +55,26 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
     {
         wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
 
-        if (GetPosition() != wxDefaultPosition)
+        wxItemKind kind = wxITEM_NORMAL;
+        if (GetBool(wxT("radio")))
+            kind = wxITEM_RADIO;
+        if (GetBool(wxT("toggle")))
         {
-            m_toolbar->AddTool(GetID(),
-                               GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
-                               GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
-                               GetBool(wxT("toggle")),
-                               GetPosition().x,
-                               GetPosition().y,
-                               NULL,
-                               GetText(wxT("tooltip")),
-                               GetText(wxT("longhelp")));
-        }
-        else
-        {
-            wxItemKind kind = wxITEM_NORMAL;
-            if (GetBool(wxT("radio")))
-                kind = wxITEM_RADIO;
-            if (GetBool(wxT("toggle")))
-            {
-                wxASSERT_MSG( kind == wxITEM_NORMAL,
-                              _T("can't have both toggleable and radion button at once") );
-                kind = wxITEM_CHECK;
-            }
-            m_toolbar->AddTool(GetID(),
-                               GetText(wxT("label")),
-                               GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
-                               GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
-                               kind,
-                               GetText(wxT("tooltip")),
-                               GetText(wxT("longhelp")));
-
-            if ( GetBool(wxT("disabled")) )
-                m_toolbar->EnableTool(GetID(), false);
+            wxASSERT_MSG( kind == wxITEM_NORMAL,
+                          _T("can't have both toggle and radio button at once") );
+            kind = wxITEM_CHECK;
         }
+        m_toolbar->AddTool(GetID(),
+                           GetText(wxT("label")),
+                           GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
+                           GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
+                           kind,
+                           GetText(wxT("tooltip")),
+                           GetText(wxT("longhelp")));
+
+        if ( GetBool(wxT("disabled")) )
+            m_toolbar->EnableTool(GetID(), false);
+
         return m_toolbar; // must return non-NULL
     }
 
@@ -109,6 +100,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
                          GetSize(),
                          style,
                          GetName());
+        SetupWindow(toolbar);
 
         wxSize bmpsize = GetSize(wxT("bitmapsize"));
         if (!(bmpsize == wxDefaultSize))
@@ -122,8 +114,6 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
         long separation = GetLong(wxT("separation"), -1);
         if (separation != -1)
             toolbar->SetToolSeparation(separation);
-        if (HasParam(wxT("bg")))
-            toolbar->SetBackgroundColour(GetColour(wxT("bg")));
 
         wxXmlNode *children_node = GetParamNode(wxT("object"));
         if (!children_node)