aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base_tab/BaseTab.cpp24
-rw-r--r--src/base_tab/BaseTab.hpp13
-rw-r--r--src/base_tab/GameBase.cpp1
-rw-r--r--src/base_tab/GameBase.hpp5
-rw-r--r--src/base_tab/gamebase/GameBase.hpp10
-rw-r--r--src/base_tab/gamebase/PGNGameBase.cpp5
-rw-r--r--src/base_tab/gamebase/PGNGameBase.hpp10
7 files changed, 56 insertions, 12 deletions
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 <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();
+
+ }
+ }
+} \ 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