projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
compilation fix for PCH-less compilation after the last change
[wxWidgets.git]
/
src
/
xrc
/
xh_toolb.cpp
diff --git
a/src/xrc/xh_toolb.cpp
b/src/xrc/xh_toolb.cpp
index 40fc9246df9891200836849962e6571156d72376..7e78d22156bbb41661c4f75597740613b6f894b6 100644
(file)
--- a/
src/xrc/xh_toolb.cpp
+++ b/
src/xrc/xh_toolb.cpp
@@
-1,16
+1,12
@@
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
-// Name: xh_toolb.cpp
-// Purpose: XRC resource for wx
BoxSize
r
+// Name:
src/xrc/
xh_toolb.cpp
+// Purpose: XRC resource for wx
ToolBa
r
// Author: Vaclav Slavik
// Created: 2000/08/11
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// Author: Vaclav Slavik
// Created: 2000/08/11
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
-#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"
@@
-19,16
+15,19
@@
#pragma hdrstop
#endif
#pragma hdrstop
#endif
+#if wxUSE_XRC && wxUSE_TOOLBAR
+
#include "wx/xrc/xh_toolb.h"
#include "wx/xrc/xh_toolb.h"
-#include "wx/toolbar.h"
-#include "wx/frame.h"
-#if wxUSE_TOOLBAR
+#ifndef WX_PRECOMP
+ #include "wx/frame.h"
+ #include "wx/toolbar.h"
+#endif
IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler)
IMPLEMENT_DYNAMIC_CLASS(wxToolBarXmlHandler, wxXmlResourceHandler)
-wxToolBarXmlHandler::wxToolBarXmlHandler()
-: wxXmlResourceHandler(), m_isInside(
FALSE
), m_toolbar(NULL)
+wxToolBarXmlHandler::wxToolBarXmlHandler()
+: wxXmlResourceHandler(), m_isInside(
false
), m_toolbar(NULL)
{
XRC_ADD_STYLE(wxTB_FLAT);
XRC_ADD_STYLE(wxTB_DOCKABLE);
{
XRC_ADD_STYLE(wxTB_FLAT);
XRC_ADD_STYLE(wxTB_DOCKABLE);
@@
-39,14
+38,23
@@
wxToolBarXmlHandler::wxToolBarXmlHandler()
XRC_ADD_STYLE(wxTB_NOICONS);
XRC_ADD_STYLE(wxTB_NODIVIDER);
XRC_ADD_STYLE(wxTB_NOALIGN);
XRC_ADD_STYLE(wxTB_NOICONS);
XRC_ADD_STYLE(wxTB_NODIVIDER);
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();
}
wxObject *wxToolBarXmlHandler::DoCreateResource()
}
wxObject *wxToolBarXmlHandler::DoCreateResource()
-{
+{
if (m_class == wxT("tool"))
{
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
if (m_class == wxT("tool"))
{
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
-
+
if (GetPosition() != wxDefaultPosition)
{
m_toolbar->AddTool(GetID(),
if (GetPosition() != wxDefaultPosition)
{
m_toolbar->AddTool(GetID(),
@@
-60,16
+68,16
@@
wxObject *wxToolBarXmlHandler::DoCreateResource()
GetText(wxT("longhelp")));
}
else
GetText(wxT("longhelp")));
}
else
- {
+ {
wxItemKind kind = wxITEM_NORMAL;
if (GetBool(wxT("radio")))
kind = wxITEM_RADIO;
if (GetBool(wxT("toggle")))
{
wxASSERT_MSG( kind == wxITEM_NORMAL,
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 toggle
able and radion
button at once") );
+ _T("can't have both toggle
and radio
button at once") );
kind = wxITEM_CHECK;
kind = wxITEM_CHECK;
- }
+ }
m_toolbar->AddTool(GetID(),
GetText(wxT("label")),
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
m_toolbar->AddTool(GetID(),
GetText(wxT("label")),
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
@@
-77,17
+85,20
@@
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
}
-
+
else if (m_class == wxT("separator"))
{
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: separator not within a toolbar!"));
m_toolbar->AddSeparator();
return m_toolbar; // must return non-NULL
}
else if (m_class == wxT("separator"))
{
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: separator not within a toolbar!"));
m_toolbar->AddSeparator();
return m_toolbar; // must return non-NULL
}
-
+
else /*<object class="wxToolBar">*/
{
int style = GetStyle(wxT("style"), wxNO_BORDER | wxTB_HORIZONTAL);
else /*<object class="wxToolBar">*/
{
int style = GetStyle(wxT("style"), wxNO_BORDER | wxTB_HORIZONTAL);
@@
-96,7
+107,7
@@
wxObject *wxToolBarXmlHandler::DoCreateResource()
#endif
XRC_MAKE_INSTANCE(toolbar, wxToolBar)
#endif
XRC_MAKE_INSTANCE(toolbar, wxToolBar)
-
+
toolbar->Create(m_parentAsWindow,
GetID(),
GetPosition(),
toolbar->Create(m_parentAsWindow,
GetID(),
GetPosition(),
@@
-116,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)
@@
-123,14
+136,14
@@
wxObject *wxToolBarXmlHandler::DoCreateResource()
if (children_node == NULL) return toolbar;
if (children_node == NULL) return toolbar;
- m_isInside =
TRUE
;
+ m_isInside =
true
;
m_toolbar = toolbar;
wxXmlNode *n = children_node;
while (n)
{
m_toolbar = toolbar;
wxXmlNode *n = children_node;
while (n)
{
- if ((n->GetType() == wxXML_ELEMENT_NODE) &&
+ if ((n->GetType() == wxXML_ELEMENT_NODE) &&
(n->GetName() == wxT("object") || n->GetName() == wxT("object_ref")))
{
wxObject *created = CreateResFromNode(n, toolbar, NULL);
(n->GetName() == wxT("object") || n->GetName() == wxT("object_ref")))
{
wxObject *created = CreateResFromNode(n, toolbar, NULL);
@@
-143,7
+156,7
@@
wxObject *wxToolBarXmlHandler::DoCreateResource()
n = n->GetNext();
}
n = n->GetNext();
}
- m_isInside =
FALSE
;
+ m_isInside =
false
;
m_toolbar = NULL;
toolbar->Realize();
m_toolbar = NULL;
toolbar->Realize();
@@
-162,8
+175,8
@@
wxObject *wxToolBarXmlHandler::DoCreateResource()
bool wxToolBarXmlHandler::CanHandle(wxXmlNode *node)
{
return ((!m_isInside && IsOfClass(node, wxT("wxToolBar"))) ||
bool wxToolBarXmlHandler::CanHandle(wxXmlNode *node)
{
return ((!m_isInside && IsOfClass(node, wxT("wxToolBar"))) ||
- (m_isInside && IsOfClass(node, wxT("tool"))) ||
+ (m_isInside && IsOfClass(node, wxT("tool"))) ||
(m_isInside && IsOfClass(node, wxT("separator"))));
}
(m_isInside && IsOfClass(node, wxT("separator"))));
}
-#endif
+#endif
// wxUSE_XRC && wxUSE_TOOLBAR