TestMain.h
Code: Select all
class MainPanel;
class MyTextCtrl;
class TestFrame: public wxFrame
{
public:
TestFrame(wxFrame *frame, const wxString& title);
~TestFrame();
private:
enum
{
idToolBarButton = 1000,
};
wxToolBar *m_toolBar;
MainPanel *m_mainPanel;
void AddPi(wxCommandEvent& event);
};
class MainPanel : public wxPanel
{
public:
MainPanel(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size);
virtual ~MainPanel();
void AddPi();
private:
MyTextCtrl *m_textCtrl;
};
class MyTextCtrl : public wxRichTextCtrl
{
public:
MyTextCtrl(wxWindow* parent,
wxWindowID id,// = -1,
const wxString& value,// = wxEmptyString,
const wxPoint& pos,// = wxDefaultPosition,
const wxSize& size,// = wxDefaultSize,
long style,// = wxRE_MULTILINE,
const wxValidator& validator,// = wxDefaultValidator,
const wxString& name );// = wxTextCtrlNameStr););
virtual ~MyTextCtrl();
void AddPi();
};
Code: Select all
////Test Frame//////////////////////////////
TestFrame::TestFrame(wxFrame *frame, const wxString& title)
: wxFrame(frame, -1, title)
{
wxImage::AddHandler(new wxPNGHandler);
wxBitmap bitmap(wxT("Resource/toolbar.png"),wxBITMAP_TYPE_PNG);
m_toolBar = CreateToolBar();
m_toolBar->AddTool(idToolBarButton,wxT(""), bitmap);
m_toolBar->Realize();
m_mainPanel = new MainPanel(this, wxID_ANY, wxDefaultPosition, wxSize(300,300));
m_toolBar->Connect(idToolBarButton, wxEVT_COMMAND_TOOL_CLICKED,
wxCommandEventHandler(TestFrame::AddPi));
}
TestFrame::~TestFrame()
{}
void TestFrame::AddPi(wxCommandEvent& event)
{
m_mainPanel->AddPi();
}
////Main Panel//////////////////////////////
MainPanel::MainPanel(wxWindow *parent,
wxWindowID id,
const wxPoint& pos,
const wxSize& size) :
wxPanel(parent, id, pos, size)
{
m_textCtrl = new MyTextCtrl(this,
wxID_ANY,
wxT(""),
wxDefaultPosition,
wxSize(300,300),
wxRE_MULTILINE,
wxDefaultValidator,
"tc");
}
MainPanel::~MainPanel()
{}
void MainPanel::AddPi()
{
std::cout << "gets here" << std::endl;
m_textCtrl->AddPi();
}
////Text Ctrl//////////////////////////////
MyTextCtrl::MyTextCtrl(wxWindow* parent,
wxWindowID id,
const wxString& value,
const wxPoint& pos,
const wxSize& size,
long style,
const wxValidator& validator,
const wxString& name ):
wxRichTextCtrl(parent, id, value, pos, size, style, validator, name)
{
}
MyTextCtrl::~MyTextCtrl()
{}
void MyTextCtrl::AddPi()
{
std::cout << "but not here" << std::endl;
AppendText(wxString("pi"));
}
J