/////////////////////////////////////////////////////////////////////////////
-// 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$
// 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"
#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)
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();
}
{
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")));
+ 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
}
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)