aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/base_tab/BaseGameTab.cpp25
-rw-r--r--src/base_tab/BaseGameTab.hpp4
-rw-r--r--src/base_tab/GameListManager.cpp24
-rw-r--r--src/base_tab/GameListManager.hpp11
4 files changed, 46 insertions, 18 deletions
diff --git a/src/base_tab/BaseGameTab.cpp b/src/base_tab/BaseGameTab.cpp
index a652478..c5b3958 100644
--- a/src/base_tab/BaseGameTab.cpp
+++ b/src/base_tab/BaseGameTab.cpp
@@ -9,13 +9,7 @@ BaseGameTab::BaseGameTab(wxFrame *parent, std::string base_file, TabInfos *main_
: TabBase_TabGames(parent), base_file(base_file),
base(NULL),main_tab(main_tab) {
- game_list->InsertColumn(0, L"id", wxLIST_FORMAT_LEFT, 50);
- game_list->InsertColumn(1, L"White", wxLIST_FORMAT_LEFT, 200);
- game_list->InsertColumn(2, L"Black", wxLIST_FORMAT_LEFT, 200);
- game_list->InsertColumn(3, L"Event", wxLIST_FORMAT_LEFT, 150);
- game_list->InsertColumn(4, L"Round", wxLIST_FORMAT_LEFT, 100);
- game_list->InsertColumn(5, L"Result", wxLIST_FORMAT_LEFT, 200);
- game_list->InsertColumn(6, L"ECO", wxLIST_FORMAT_LEFT, 200);
+ glm=new GameListManager(game_list);
this->Bind(wxEVT_BUTTON, &BaseGameTab::OnDelete, this, ID_DELETE_BUTTON);
this->Bind(wxEVT_BUTTON, &BaseGameTab::OnSave, this, ID_SAVE_BUTTON);
@@ -130,17 +124,14 @@ void BaseGameTab::LoadFile() {
}
if (base != NULL) {
- long id = 0;
while (base->NextGame()) {
- long index =
- game_list->InsertItem(0, std::to_string(id)); // want this for col. 1
- game_list->SetItem(index, 1, base->GetTag("White"));
- game_list->SetItem(index, 2, base->GetTag("Black"));
- game_list->SetItem(index, 3, base->GetTag("Event"));
- game_list->SetItem(index, 4, base->GetTag("Round"));
- game_list->SetItem(index, 5, base->GetTag("Result"));
- game_list->SetItem(index, 6, base->GetTag("ECO"));
- id++;
+ glm->AddGame(
+ base->GetTag("White"),
+ base->GetTag("Black"),
+ base->GetTag("Event"),
+ base->GetTag("Round"),
+ base->GetTag("Result"),
+ base->GetTag("ECO"));
}
}
diff --git a/src/base_tab/BaseGameTab.hpp b/src/base_tab/BaseGameTab.hpp
index 4c338cf..45cc552 100644
--- a/src/base_tab/BaseGameTab.hpp
+++ b/src/base_tab/BaseGameTab.hpp
@@ -1,7 +1,7 @@
#include "gamebase/GameBase.hpp"
#include "gamebase/PGNGameBase.hpp"
-#include "ochess.hpp"
+#include "GameListManager.hpp"
// Foreign events
wxDECLARE_EVENT(OPEN_GAME_EVENT, wxCommandEvent);
@@ -14,9 +14,11 @@ class BaseGameTab : public TabBase_TabGames {
std::unordered_map<long, std::shared_ptr<Game>> edited;
std::string base_file;
TabInfos *main_tab;
+ GameListManager *glm;
public:
BaseGameTab(wxFrame *parent, std::string base_file, TabInfos *main_tab);
+ ~BaseGameTab() {delete(glm);};
void ApplyPreferences();
void LoadFile();
diff --git a/src/base_tab/GameListManager.cpp b/src/base_tab/GameListManager.cpp
new file mode 100644
index 0000000..7595088
--- /dev/null
+++ b/src/base_tab/GameListManager.cpp
@@ -0,0 +1,24 @@
+#include "GameListManager.hpp"
+
+
+GameListManager::GameListManager(wxListCtrl *game_list): game_list(game_list), game_counter(0) {
+ game_list->InsertColumn(0, L"Id", wxLIST_FORMAT_LEFT, 50);
+ game_list->InsertColumn(1, L"White", wxLIST_FORMAT_LEFT, 200);
+ game_list->InsertColumn(2, L"Black", wxLIST_FORMAT_LEFT, 200);
+ game_list->InsertColumn(3, L"Event", wxLIST_FORMAT_LEFT, 150);
+ game_list->InsertColumn(4, L"Round", wxLIST_FORMAT_LEFT, 100);
+ game_list->InsertColumn(5, L"Result", wxLIST_FORMAT_LEFT, 200);
+ game_list->InsertColumn(6, L"ECO", wxLIST_FORMAT_LEFT, 200);
+}
+
+void GameListManager::AddGame(CType W,CType B,CType Evt,CType Rnd, CType Res, CType Eco){
+ long index =
+ game_list->InsertItem(0, std::to_string(game_counter)); // want this for col. 1
+ game_list->SetItem(index, 1, W);
+ game_list->SetItem(index, 2, B);
+ game_list->SetItem(index, 3, Evt);
+ game_list->SetItem(index, 4, Rnd);
+ game_list->SetItem(index, 5, Res);
+ game_list->SetItem(index, 6, Eco);
+ game_counter++;
+}
diff --git a/src/base_tab/GameListManager.hpp b/src/base_tab/GameListManager.hpp
new file mode 100644
index 0000000..6f8aa06
--- /dev/null
+++ b/src/base_tab/GameListManager.hpp
@@ -0,0 +1,11 @@
+#include "ochess.hpp"
+
+typedef std::string CType;
+
+class GameListManager {
+ wxListCtrl *game_list;
+ long game_counter;
+public:
+ GameListManager(wxListCtrl *game_list);
+ void AddGame(CType W,CType B,CType Evt,CType Rnd, CType Res, CType Eco);
+}; \ No newline at end of file