Tyro/src/widgets/TabContainer.cpp

72 lines
1.2 KiB
C++
Raw Normal View History

/**
* 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
*/
void TabContainer::AddTab()
{
untitled_document_count++;
wxString caption;
2015-04-10 15:11:15 -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-21 17:06:21 -04:00
/**
* Open an existing document
*
* @param wxString filePath
* @return void
*/
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-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
this->SetPageToolTip(this->GetPageIndex(this->GetCurrentPage()), fileName.GetFullPath());
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();
}