updated wxToolBar handler to support new wxToolBar features
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18813 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -32,6 +32,11 @@ wxToolBarXmlHandler::wxToolBarXmlHandler()
|
|||||||
XRC_ADD_STYLE(wxTB_DOCKABLE);
|
XRC_ADD_STYLE(wxTB_DOCKABLE);
|
||||||
XRC_ADD_STYLE(wxTB_VERTICAL);
|
XRC_ADD_STYLE(wxTB_VERTICAL);
|
||||||
XRC_ADD_STYLE(wxTB_HORIZONTAL);
|
XRC_ADD_STYLE(wxTB_HORIZONTAL);
|
||||||
|
XRC_ADD_STYLE(wxTB_3DBUTTONS);
|
||||||
|
XRC_ADD_STYLE(wxTB_TEXT);
|
||||||
|
XRC_ADD_STYLE(wxTB_NOICONS);
|
||||||
|
XRC_ADD_STYLE(wxTB_NODIVIDER);
|
||||||
|
XRC_ADD_STYLE(wxTB_NOALIGN);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxObject *wxToolBarXmlHandler::DoCreateResource()
|
wxObject *wxToolBarXmlHandler::DoCreateResource()
|
||||||
@@ -39,6 +44,9 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
|||||||
if (m_class == wxT("tool"))
|
if (m_class == wxT("tool"))
|
||||||
{
|
{
|
||||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
|
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
|
||||||
|
|
||||||
|
if (GetPosition() != wxDefaultPosition)
|
||||||
|
{
|
||||||
m_toolbar->AddTool(GetID(),
|
m_toolbar->AddTool(GetID(),
|
||||||
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
|
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
|
||||||
GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
|
GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
|
||||||
@@ -48,6 +56,26 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
|||||||
NULL,
|
NULL,
|
||||||
GetText(wxT("tooltip")),
|
GetText(wxT("tooltip")),
|
||||||
GetText(wxT("longhelp")));
|
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")));
|
||||||
|
}
|
||||||
return m_toolbar; // must return non-NULL
|
return m_toolbar; // must return non-NULL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -32,6 +32,11 @@ wxToolBarXmlHandler::wxToolBarXmlHandler()
|
|||||||
XRC_ADD_STYLE(wxTB_DOCKABLE);
|
XRC_ADD_STYLE(wxTB_DOCKABLE);
|
||||||
XRC_ADD_STYLE(wxTB_VERTICAL);
|
XRC_ADD_STYLE(wxTB_VERTICAL);
|
||||||
XRC_ADD_STYLE(wxTB_HORIZONTAL);
|
XRC_ADD_STYLE(wxTB_HORIZONTAL);
|
||||||
|
XRC_ADD_STYLE(wxTB_3DBUTTONS);
|
||||||
|
XRC_ADD_STYLE(wxTB_TEXT);
|
||||||
|
XRC_ADD_STYLE(wxTB_NOICONS);
|
||||||
|
XRC_ADD_STYLE(wxTB_NODIVIDER);
|
||||||
|
XRC_ADD_STYLE(wxTB_NOALIGN);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxObject *wxToolBarXmlHandler::DoCreateResource()
|
wxObject *wxToolBarXmlHandler::DoCreateResource()
|
||||||
@@ -39,6 +44,9 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
|||||||
if (m_class == wxT("tool"))
|
if (m_class == wxT("tool"))
|
||||||
{
|
{
|
||||||
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
|
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!"));
|
||||||
|
|
||||||
|
if (GetPosition() != wxDefaultPosition)
|
||||||
|
{
|
||||||
m_toolbar->AddTool(GetID(),
|
m_toolbar->AddTool(GetID(),
|
||||||
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
|
GetBitmap(wxT("bitmap"), wxART_TOOLBAR),
|
||||||
GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
|
GetBitmap(wxT("bitmap2"), wxART_TOOLBAR),
|
||||||
@@ -48,6 +56,26 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
|
|||||||
NULL,
|
NULL,
|
||||||
GetText(wxT("tooltip")),
|
GetText(wxT("tooltip")),
|
||||||
GetText(wxT("longhelp")));
|
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")));
|
||||||
|
}
|
||||||
return m_toolbar; // must return non-NULL
|
return m_toolbar; // must return non-NULL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user