Update BaseTab implementation

This commit is contained in:
Loic Guegan 2022-02-24 11:50:16 +01:00
parent bdfc577a3b
commit 32a0b3e31f
7 changed files with 56 additions and 12 deletions

View file

@ -0,0 +1,24 @@
#include "BaseTab.hpp"
#include <wx/filename.h>
BaseTab::BaseTab(wxFrame *parent)
: BasePanelBF(parent), TabInfos(TabInfos::BASE), base(NULL) {
LoadFile("/home/loic/text.PGn");
}
void BaseTab::ApplyPreferences() {}
void BaseTab::LoadFile(std::string path) {
wxFileName file(path);
wxString ext = file.GetExt().Lower();
if (ext == "pgn") {
base = new PGNGameBase(path);
}
if (base != NULL) {
while(base->HasNextGame()){
Game *g=base->GetNextGame();
}
}
}

View file

@ -1,12 +1,13 @@
#include "ochess.hpp"
#include "BasePanelBF.h"
#include "gamebase/GameBase.hpp"
#include "gamebase/PGNGameBase.hpp"
class BaseTab : public BasePanelBF, public TabInfos {
GameBase *base;
public:
BaseTab(wxFrame *parent) : BasePanelBF(parent),TabInfos(TabInfos::BASE) {}
void ApplyPreferences(){
}
BaseTab(wxFrame *parent);
void ApplyPreferences();
void LoadFile(std::string path);
};

View file

@ -1 +0,0 @@
#include "GameBase.hpp"

View file

@ -1,5 +0,0 @@
#pragma once
class GameBase {
};

View file

@ -0,0 +1,10 @@
#pragma once
#include "game_tab/Game.hpp"
class GameBase {
public:
virtual bool HasNextGame() = 0;
virtual Game *GetGame(std::uint32_t id) = 0;
virtual Game *GetNextGame() = 0;
};

View file

@ -0,0 +1,5 @@
#include "PGNGameBase.hpp"
PGNGameBase::PGNGameBase(std::string pgn_file) {
}

View file

@ -0,0 +1,10 @@
#include "GameBase.hpp"
class PGNGameBase : public GameBase {
public:
PGNGameBase(std::string pgn_file);
bool HasNextGame() { return (false); }
Game *GetGame(std::uint32_t id) { return (new Game()); };
Game *GetNextGame() { return (new Game()); };
};