diff --git a/src/base_tab/BaseTab.cpp b/src/base_tab/BaseTab.cpp index e69de29..9c46d9b 100644 --- a/src/base_tab/BaseTab.cpp +++ b/src/base_tab/BaseTab.cpp @@ -0,0 +1,24 @@ +#include "BaseTab.hpp" +#include + +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(); + + } + } +} \ No newline at end of file diff --git a/src/base_tab/BaseTab.hpp b/src/base_tab/BaseTab.hpp index 56d254c..30d839a 100644 --- a/src/base_tab/BaseTab.hpp +++ b/src/base_tab/BaseTab.hpp @@ -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); }; \ No newline at end of file diff --git a/src/base_tab/GameBase.cpp b/src/base_tab/GameBase.cpp deleted file mode 100644 index d833d62..0000000 --- a/src/base_tab/GameBase.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "GameBase.hpp" \ No newline at end of file diff --git a/src/base_tab/GameBase.hpp b/src/base_tab/GameBase.hpp deleted file mode 100644 index cc9327d..0000000 --- a/src/base_tab/GameBase.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -class GameBase { - -}; \ No newline at end of file diff --git a/src/base_tab/gamebase/GameBase.hpp b/src/base_tab/gamebase/GameBase.hpp new file mode 100644 index 0000000..9982a7d --- /dev/null +++ b/src/base_tab/gamebase/GameBase.hpp @@ -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; +}; \ No newline at end of file diff --git a/src/base_tab/gamebase/PGNGameBase.cpp b/src/base_tab/gamebase/PGNGameBase.cpp new file mode 100644 index 0000000..09d87d8 --- /dev/null +++ b/src/base_tab/gamebase/PGNGameBase.cpp @@ -0,0 +1,5 @@ +#include "PGNGameBase.hpp" + +PGNGameBase::PGNGameBase(std::string pgn_file) { + +} \ No newline at end of file diff --git a/src/base_tab/gamebase/PGNGameBase.hpp b/src/base_tab/gamebase/PGNGameBase.hpp new file mode 100644 index 0000000..2aa0840 --- /dev/null +++ b/src/base_tab/gamebase/PGNGameBase.hpp @@ -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()); }; +}; \ No newline at end of file