2015-04-02 18:00:50 -04:00
|
|
|
/**
|
|
|
|
* Wrapper around wxAuiNotebook
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "TabContainer.h"
|
|
|
|
|
|
|
|
static unsigned long untitled_document_count = 0;
|
|
|
|
|
|
|
|
TabContainer::TabContainer(
|
|
|
|
wxWindow* parent,
|
|
|
|
wxWindowID id,
|
|
|
|
const wxPoint& pos,
|
|
|
|
const wxSize& size,
|
|
|
|
long style
|
|
|
|
) : wxAuiNotebook(parent, id, pos, size, style)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
TabContainer::~TabContainer() {}
|
|
|
|
|
2015-04-21 17:06:21 -04:00
|
|
|
/**
|
|
|
|
* Add a new blank document
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
2015-04-02 18:00:50 -04:00
|
|
|
void TabContainer::AddTab()
|
|
|
|
{
|
|
|
|
untitled_document_count++;
|
2015-04-13 09:30:56 -04:00
|
|
|
|
2015-04-02 18:00:50 -04:00
|
|
|
wxString caption;
|
2015-04-10 15:11:15 -04:00
|
|
|
|
2015-04-02 18:00:50 -04:00
|
|
|
caption.Printf("Untitled %lu", untitled_document_count);
|
2015-04-10 15:11:15 -04:00
|
|
|
|
2015-04-09 11:45:19 -04:00
|
|
|
EditPane *editor = new EditPane(this, wxID_ANY);
|
2015-04-10 15:11:15 -04:00
|
|
|
|
2015-04-15 12:17:25 -04:00
|
|
|
this->AddPage(editor, caption, true);
|
2015-04-02 18:00:50 -04:00
|
|
|
}
|
|
|
|
|
2015-04-21 17:06:21 -04:00
|
|
|
/**
|
|
|
|
* Open an existing document
|
|
|
|
*
|
|
|
|
* @param wxString filePath
|
|
|
|
* @return void
|
|
|
|
*/
|
2015-04-02 18:00:50 -04:00
|
|
|
void TabContainer::AddTab(wxString filePath)
|
|
|
|
{
|
2015-04-10 15:11:15 -04:00
|
|
|
wxFileName fileName(filePath);
|
|
|
|
|
|
|
|
wxString caption= fileName.GetFullName();
|
2015-04-09 11:45:19 -04:00
|
|
|
EditPane *editor = new EditPane(this, wxID_ANY);
|
2015-04-02 18:00:50 -04:00
|
|
|
|
2015-04-17 16:55:48 -04:00
|
|
|
if (editor->Load(filePath))
|
2015-04-10 15:11:15 -04:00
|
|
|
{
|
2015-04-15 12:17:25 -04:00
|
|
|
this->AddPage(editor, caption, true);
|
2015-04-17 16:55:48 -04:00
|
|
|
|
|
|
|
return;
|
2015-04-10 15:11:15 -04:00
|
|
|
}
|
2015-04-17 16:55:48 -04:00
|
|
|
|
|
|
|
wxLogDebug("Failed to load file!?");
|
2015-04-09 11:45:19 -04:00
|
|
|
}
|
|
|
|
|
2015-04-21 17:06:21 -04:00
|
|
|
/**
|
|
|
|
* Get the EditPane control in the current tab
|
|
|
|
*
|
|
|
|
* @return *EditPane
|
|
|
|
*/
|
2015-04-09 13:27:30 -04:00
|
|
|
EditPane *TabContainer::GetCurrentEditor()
|
2015-04-09 11:45:19 -04:00
|
|
|
{
|
2015-04-09 13:27:30 -04:00
|
|
|
return (EditPane *) this->GetCurrentPage();
|
2015-04-16 17:03:27 -04:00
|
|
|
}
|