Remove static event tables
This commit is contained in:
parent
946f0699de
commit
dee08adda4
2
Makefile
2
Makefile
@ -8,7 +8,7 @@ PROGRAM_SRC = $(wildcard src/*.cpp src/widgets/*.cpp)
|
|||||||
PROGRAM = build/Tyro
|
PROGRAM = build/Tyro
|
||||||
PROGRAM_OBJECTS = $(patsubst %.cpp,%.o, $(PROGRAM_SRC))
|
PROGRAM_OBJECTS = $(patsubst %.cpp,%.o, $(PROGRAM_SRC))
|
||||||
|
|
||||||
LDLIBS = -ldl $(TARGET) $(shell wx-config --libs all) -lssh2
|
LDLIBS = -ldl $(TARGET) $(shell wx-config --libs base core aui stc) -lssh2
|
||||||
WX_CXXFLAGS = $(shell wx-config --cxxflags)
|
WX_CXXFLAGS = $(shell wx-config --cxxflags)
|
||||||
DEV_CXXFLAGS = -g -Wall -Wextra
|
DEV_CXXFLAGS = -g -Wall -Wextra
|
||||||
CXXFLAGS = -Os -I./src -I./include
|
CXXFLAGS = -Os -I./src -I./include
|
||||||
|
@ -17,6 +17,7 @@ bool TyroApp::OnInit()
|
|||||||
{
|
{
|
||||||
MainFrame* frame = new MainFrame(0L, _("Tyro"));
|
MainFrame* frame = new MainFrame(0L, _("Tyro"));
|
||||||
|
|
||||||
|
frame->Layout();
|
||||||
frame->CenterOnScreen();
|
frame->CenterOnScreen();
|
||||||
frame->Show(true);
|
frame->Show(true);
|
||||||
SetTopWindow(frame);
|
SetTopWindow(frame);
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
#include "EditPane.h"
|
#include "EditPane.h"
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(EditPane, wxStyledTextCtrl)
|
|
||||||
// common
|
|
||||||
/*EVT_SIZE (Edit::OnSize)
|
|
||||||
// edit
|
|
||||||
EVT_MENU (wxID_CLEAR, Edit::OnEditClear)
|
|
||||||
EVT_MENU (wxID_CUT, Edit::OnEditCut)
|
|
||||||
EVT_MENU (wxID_COPY, Edit::OnEditCopy)
|
|
||||||
EVT_MENU (wxID_PASTE, Edit::OnEditPaste)
|
|
||||||
EVT_MENU (myID_INDENTINC, Edit::OnEditIndentInc)
|
|
||||||
EVT_MENU (myID_INDENTRED, Edit::OnEditIndentRed)
|
|
||||||
EVT_MENU (wxID_SELECTALL, Edit::OnEditSelectAll)
|
|
||||||
EVT_MENU (myID_SELECTLINE, Edit::OnEditSelectLine)
|
|
||||||
EVT_MENU (wxID_REDO, Edit::OnEditRedo)
|
|
||||||
EVT_MENU (wxID_UNDO, Edit::OnEditUndo)*/
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
EditPane::EditPane(
|
EditPane::EditPane(
|
||||||
wxWindow *parent, wxWindowID id, const wxPoint &pos,
|
wxWindow *parent, wxWindowID id, const wxPoint &pos,
|
||||||
const wxSize &size, long style
|
const wxSize &size, long style
|
||||||
@ -25,18 +9,3 @@ EditPane::EditPane(
|
|||||||
}
|
}
|
||||||
|
|
||||||
EditPane::~EditPane() {}
|
EditPane::~EditPane() {}
|
||||||
|
|
||||||
void EditPane::OnMenuFileOpen(wxCommandEvent &WXUNUSED(event))
|
|
||||||
{
|
|
||||||
wxFileDialog *OpenDialog = new wxFileDialog(this, _T("Choose a file"), _(""), _(""), _("*.*"), wxFD_OPEN);
|
|
||||||
|
|
||||||
if (OpenDialog->ShowModal() == wxID_OK)
|
|
||||||
{
|
|
||||||
// Load the file into a new notebook tab and styled text control
|
|
||||||
}
|
|
||||||
OpenDialog->Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
void EditPane::OnMenuFileSave(wxCommandEvent &WXUNUSED(event))
|
|
||||||
{
|
|
||||||
}
|
|
@ -19,10 +19,7 @@ public:
|
|||||||
wxVSCROLL
|
wxVSCROLL
|
||||||
);
|
);
|
||||||
~EditPane();
|
~EditPane();
|
||||||
void OnMenuFileOpen(wxCommandEvent &event);
|
|
||||||
void OnMenuFileSave(wxCommandEvent &event);
|
|
||||||
private:
|
private:
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TYRODOC_FRAME_H
|
#endif // TYRODOC_FRAME_H
|
||||||
|
@ -8,38 +8,29 @@
|
|||||||
|
|
||||||
#include "MainFrame.h"
|
#include "MainFrame.h"
|
||||||
|
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MainFrame, wxFrame)
|
|
||||||
EVT_CLOSE(MainFrame::OnClose)
|
|
||||||
EVT_MENU(wxID_NEW, MainFrame::OnMenuFileNew)
|
|
||||||
EVT_MENU(wxID_OPEN, EditPane::OnMenuFileOpen)
|
|
||||||
EVT_MENU(wxID_SAVE, EditPane::OnMenuFileSave)
|
|
||||||
EVT_MENU(wxID_ABOUT, MainFrame::OnAbout)
|
|
||||||
EVT_MENU(wxID_EXIT, MainFrame::OnQuit)
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
MainFrame::MainFrame(wxFrame *frame, const wxString& title)
|
MainFrame::MainFrame(wxFrame *frame, const wxString& title)
|
||||||
: wxFrame(frame, -1, title)
|
: wxFrame(frame, -1, title)
|
||||||
{
|
{
|
||||||
|
// Create menus and bars
|
||||||
this->SetupMenu();
|
this->SetupMenu();
|
||||||
|
|
||||||
// create a status bar with some information about the used wxWidgets version
|
|
||||||
this->SetupStatusBar();
|
this->SetupStatusBar();
|
||||||
|
|
||||||
// create the main toolbar
|
|
||||||
this->SetupToolbar();
|
this->SetupToolbar();
|
||||||
|
|
||||||
|
// Create the tab container
|
||||||
|
notebook = new TabContainer(this);
|
||||||
|
|
||||||
// Set up control layout
|
// Set up control layout
|
||||||
wxBoxSizer *base_sizer = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *base_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
notebook = this->CreateTabContainer();
|
|
||||||
|
|
||||||
base_sizer->Add(notebook, 1, wxEXPAND | wxALL, 5);
|
base_sizer->Add(notebook, 1, wxEXPAND | wxALL, 5);
|
||||||
|
|
||||||
base_sizer->SetContainingWindow(this);
|
base_sizer->SetContainingWindow(this);
|
||||||
base_sizer->SetMinSize(800,600);
|
base_sizer->SetMinSize(800,600);
|
||||||
|
|
||||||
SetSizerAndFit(base_sizer);
|
SetSizerAndFit(base_sizer);
|
||||||
|
|
||||||
|
// Finally, bind events
|
||||||
|
this->BindEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -85,8 +76,8 @@ void MainFrame::SetupToolbar()
|
|||||||
toolBar->AddTool(wxID_OPEN, "Open", bitmaps[1], "Open file");
|
toolBar->AddTool(wxID_OPEN, "Open", bitmaps[1], "Open file");
|
||||||
toolBar->AddTool(wxID_SAVE, "Save", bitmaps[2], "Save file");
|
toolBar->AddTool(wxID_SAVE, "Save", bitmaps[2], "Save file");
|
||||||
toolBar->AddTool(wxID_CLOSE, "Close", bitmaps[3], "Close file");
|
toolBar->AddTool(wxID_CLOSE, "Close", bitmaps[3], "Close file");
|
||||||
toolBar->AddSeparator();
|
//toolBar->AddSeparator();
|
||||||
toolBar->AddTool(wxID_ANY, "Settings", bitmaps[4], "Change Settings");
|
//toolBar->AddTool(wxID_ANY, "Settings", bitmaps[4], "Change Settings");
|
||||||
toolBar->Realize();
|
toolBar->Realize();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,11 +123,12 @@ void MainFrame::SetupMenu()
|
|||||||
SetMenuBar(mbar);
|
SetMenuBar(mbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
TabContainer *MainFrame::CreateTabContainer()
|
void MainFrame::BindEvents()
|
||||||
{
|
{
|
||||||
TabContainer *notebook = new TabContainer(this);
|
Bind(wxEVT_COMMAND_MENU_SELECTED, &MainFrame::OnNew, this, wxID_NEW);
|
||||||
|
Bind(wxEVT_COMMAND_MENU_SELECTED, &MainFrame::OnAbout, this, wxID_ABOUT);
|
||||||
return notebook;
|
Bind(wxEVT_COMMAND_MENU_SELECTED, &MainFrame::OnQuit, this, wxID_EXIT);
|
||||||
|
Bind(wxEVT_COMMAND_MENU_SELECTED, &TabContainer::OnEditSelectAll, notebook, wxID_SELECTALL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainFrame::OnClose(wxCloseEvent &WXUNUSED(event))
|
void MainFrame::OnClose(wxCloseEvent &WXUNUSED(event))
|
||||||
@ -144,7 +136,7 @@ void MainFrame::OnClose(wxCloseEvent &WXUNUSED(event))
|
|||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainFrame::OnMenuFileNew(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnNew(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
notebook->AddTab();
|
notebook->AddTab();
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
class MainFrame: public wxFrame
|
class MainFrame: public wxFrame
|
||||||
{
|
{
|
||||||
|
friend class TabContainer;
|
||||||
public:
|
public:
|
||||||
MainFrame(wxFrame *frame, const wxString &title);
|
MainFrame(wxFrame *frame, const wxString &title);
|
||||||
~MainFrame();
|
~MainFrame();
|
||||||
@ -24,12 +25,11 @@ class MainFrame: public wxFrame
|
|||||||
void SetupMenu();
|
void SetupMenu();
|
||||||
void SetupToolbar();
|
void SetupToolbar();
|
||||||
void SetupStatusBar();
|
void SetupStatusBar();
|
||||||
void OnMenuFileNew(wxCommandEvent &event);
|
void BindEvents();
|
||||||
|
void OnNew(wxCommandEvent &event);
|
||||||
void OnClose(wxCloseEvent &event);
|
void OnClose(wxCloseEvent &event);
|
||||||
void OnQuit(wxCommandEvent &event);
|
void OnQuit(wxCommandEvent &event);
|
||||||
void OnAbout(wxCommandEvent &event);
|
void OnAbout(wxCommandEvent &event);
|
||||||
TabContainer* CreateTabContainer();
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,9 +4,6 @@
|
|||||||
|
|
||||||
#include "TabContainer.h"
|
#include "TabContainer.h"
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(TabContainer, wxAuiNotebook)
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
static unsigned long untitled_document_count = 0;
|
static unsigned long untitled_document_count = 0;
|
||||||
|
|
||||||
TabContainer::TabContainer(
|
TabContainer::TabContainer(
|
||||||
@ -22,11 +19,6 @@ TabContainer::TabContainer(
|
|||||||
|
|
||||||
TabContainer::~TabContainer() {}
|
TabContainer::~TabContainer() {}
|
||||||
|
|
||||||
EditPane *TabContainer::CreateEditor()
|
|
||||||
{
|
|
||||||
return new EditPane(this, wxID_ANY);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabContainer::AddTab()
|
void TabContainer::AddTab()
|
||||||
{
|
{
|
||||||
untitled_document_count++;
|
untitled_document_count++;
|
||||||
@ -34,10 +26,22 @@ void TabContainer::AddTab()
|
|||||||
|
|
||||||
caption.Printf("Untitled %lu", untitled_document_count);
|
caption.Printf("Untitled %lu", untitled_document_count);
|
||||||
|
|
||||||
this->AddPage(CreateEditor(), caption);
|
EditPane *editor = new EditPane(this, wxID_ANY);
|
||||||
|
|
||||||
|
this->AddPage(editor, caption);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabContainer::AddTab(wxString filePath)
|
void TabContainer::AddTab(wxString filePath)
|
||||||
{
|
{
|
||||||
|
wxString caption="";
|
||||||
|
EditPane *editor = new EditPane(this, wxID_ANY);
|
||||||
|
|
||||||
|
this->AddPage(editor, caption);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TabContainer::OnEditSelectAll(wxCommandEvent &WXUNUSED(event))
|
||||||
|
{
|
||||||
|
cout << "Edit select all event called.";
|
||||||
|
//EditPane *editor = (EditPane *) this->GetCurrentPage();
|
||||||
|
//editor->SelectAll();
|
||||||
}
|
}
|
@ -27,9 +27,9 @@ public:
|
|||||||
~TabContainer();
|
~TabContainer();
|
||||||
void AddTab();
|
void AddTab();
|
||||||
void AddTab(wxString filePath);
|
void AddTab(wxString filePath);
|
||||||
|
void OnEditSelectAll(wxCommandEvent &event);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
EditPane *CreateEditor();
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* TABCONTAINER_H */
|
#endif /* TABCONTAINER_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user