]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_toolb.cpp
Use type safe list for model notifiers, sample corrected
[wxWidgets.git] / src / xrc / xh_toolb.cpp
index 53c5088d4fcf1047b3f3b29adff752d75455c2e6..7e78d22156bbb41661c4f75597740613b6f894b6 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        xh_toolb.cpp
-// Purpose:     XRC resource for wxBoxSizer
+// Name:        src/xrc/xh_toolb.cpp
+// Purpose:     XRC resource for wxToolBar
 // Author:      Vaclav Slavik
 // Created:     2000/08/11
 // RCS-ID:      $Id$
 // Author:      Vaclav Slavik
 // Created:     2000/08/11
 // RCS-ID:      $Id$
@@ -8,10 +8,6 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "xh_toolb.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #if wxUSE_XRC && wxUSE_TOOLBAR
 
 #include "wx/xrc/xh_toolb.h"
 #if wxUSE_XRC && wxUSE_TOOLBAR
 
 #include "wx/xrc/xh_toolb.h"
-#include "wx/toolbar.h"
-#include "wx/frame.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/frame.h"
+    #include "wx/toolbar.h"
+#endif
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler)
 
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler)
 
@@ -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_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();
 }
 
     AddWindowStyles();
 }
 
@@ -70,7 +75,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
             if (GetBool(wxT("toggle")))
             {
                 wxASSERT_MSG( kind == wxITEM_NORMAL,
             if (GetBool(wxT("toggle")))
             {
                 wxASSERT_MSG( kind == wxITEM_NORMAL,
-                              _T("can't have both toggleable and radion button at once") );
+                              _T("can't have both toggle and radio button at once") );
                 kind = wxITEM_CHECK;
             }
             m_toolbar->AddTool(GetID(),
                 kind = wxITEM_CHECK;
             }
             m_toolbar->AddTool(GetID(),
@@ -80,6 +85,9 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
                                kind,
                                GetText(wxT("tooltip")),
                                GetText(wxT("longhelp")));
                                kind,
                                GetText(wxT("tooltip")),
                                GetText(wxT("longhelp")));
+
+            if ( GetBool(wxT("disabled")) )
+                m_toolbar->EnableTool(GetID(), false);
         }
         return m_toolbar; // must return non-NULL
     }
         }
         return m_toolbar; // must return non-NULL
     }
@@ -119,6 +127,8 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
         long separation = GetLong(wxT("separation"), -1);
         if (separation != -1)
             toolbar->SetToolSeparation(separation);
         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)
 
         wxXmlNode *children_node = GetParamNode(wxT("object"));
         if (!children_node)