1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#include "tool_bar.h"
#include "allocator_mgr.h"
#include <event_notifier.h>
extern const wxEventType wxEVT_PREVIEW_BAR_SELECTED;
ToolBar::ToolBar(wxWindow* parent)
: wxPanel(parent)
, m_wxtb(NULL)
{
wxBoxSizer* sz = new wxBoxSizer(wxVERTICAL);
SetSizer(sz);
}
ToolBar::~ToolBar() {}
void ToolBar::AddToolbar(wxToolBar* tb)
{
GetSizer()->Add(tb, 0, wxEXPAND);
Connect(wxID_ANY, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(ToolBar::OnClick), NULL, this);
m_wxtb = tb;
}
void ToolBar::OnClick(wxCommandEvent& e)
{
e.Skip();
if(m_wxtb) {
wxToolBarToolBase* tool = m_wxtb->FindById(e.GetId());
if(tool) {
wxString label = tool->GetLabel();
wxString s;
s << m_wxtb->GetName() << wxT(":") << label;
wxCommandEvent evt(wxEVT_PREVIEW_BAR_SELECTED);
evt.SetString(s);
evt.SetInt(ID_WXTOOLBAR);
EventNotifier::Get()->AddPendingEvent(evt);
}
}
}
|