#include "ochess.hpp"
#include "MainWindow.hpp"

bool MyApp::OnInit() {
  wxImage::AddHandler(new wxPNGHandler);

  MainWindow *frame = new MainWindow();
  frame->Show(true);
  return true;
}

std::vector<TabInfos *> MyApp::ListTabInfos() {
  std::vector<TabInfos *> tinfos;
  wxAuiNotebook *notebook=((MainWindow *)this->GetTopWindow())->notebook;
  for (int i = 0; i < notebook->GetPageCount(); i++) {
    tinfos.push_back(dynamic_cast<TabInfos *>(notebook->GetPage(i)));
  }
  return (tinfos);
}

wxIMPLEMENT_APP(MyApp);

void Abort(std::string msg) {
  wxMessageDialog *dial = new wxMessageDialog(NULL, wxString(msg), wxT("Error"),
                                              wxOK | wxICON_ERROR);
  dial->ShowModal();
  wxLogFatalError(wxString(msg));
}

long TabInfos::tab_count=0;
void TabInfos::Link(TabInfos *tab){
  this->is_linked=true;
  this->linked_id=tab->id;
}