aboutsummaryrefslogtreecommitdiff
path: root/src/game_tab
diff options
context:
space:
mode:
Diffstat (limited to 'src/game_tab')
-rw-r--r--src/game_tab/GameTab.cpp6
-rw-r--r--src/game_tab/GameTab.hpp7
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.cpp2
-rw-r--r--src/game_tab/left_panel/GameTabLeftPanel.hpp4
-rw-r--r--src/game_tab/right_panel/GameTabRightPanel.cpp2
-rw-r--r--src/game_tab/right_panel/GameTabRightPanel.hpp4
6 files changed, 10 insertions, 15 deletions
diff --git a/src/game_tab/GameTab.cpp b/src/game_tab/GameTab.cpp
index 769681c..55d7848 100644
--- a/src/game_tab/GameTab.cpp
+++ b/src/game_tab/GameTab.cpp
@@ -3,7 +3,7 @@
wxDEFINE_EVENT(GAME_CHANGE, wxCommandEvent);
-GameTab::GameTab(wxFrame *parent, Game *game)
+GameTab::GameTab(wxFrame *parent, std::shared_ptr<Game> game)
: wxPanel(parent), game(game), TabInfos(TabInfos::GAME) {
// Splitter
wxSplitterWindow *splitter = new wxSplitterWindow(this, wxID_ANY);
@@ -30,10 +30,6 @@ GameTab::GameTab(wxFrame *parent, Game *game)
Bind(GAME_CHANGE, &GameTab::OnGameChange, this, wxID_ANY);
}
-GameTab::~GameTab() {
- delete game;
-}
-
void GameTab::OnGameChange(wxCommandEvent &event) {
board_panel->Notify();
editor_panel->Notify();
diff --git a/src/game_tab/GameTab.hpp b/src/game_tab/GameTab.hpp
index 15f0514..6b24473 100644
--- a/src/game_tab/GameTab.hpp
+++ b/src/game_tab/GameTab.hpp
@@ -16,16 +16,15 @@ wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
class GameTab : public wxPanel, public TabInfos {
GameTabRightPanel *editor_panel;
GameTabLeftPanel *board_panel;
- Game *game;
+ std::shared_ptr<Game> game;
void RefreshLabel();
void OnRefreshTabTitle(wxCommandEvent &event);
void OnGameChange(wxCommandEvent &event);
public:
- GameTab(wxFrame *parent, Game *game);
- ~GameTab();
+ GameTab(wxFrame *parent, std::shared_ptr<Game> game);
void ApplyPreferences();
- void *GetGame() { return (game); }
+ std::shared_ptr<Game> GetGame() { return (std::shared_ptr<Game>(game)); }
void *GetBase() { return (NULL); };
};
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.cpp b/src/game_tab/left_panel/GameTabLeftPanel.cpp
index d4c415d..a32ab23 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.cpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.cpp
@@ -1,7 +1,7 @@
#include "GameTabLeftPanel.hpp"
#include <wx/clipbrd.h>
-GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, Game *game)
+GameTabLeftPanel::GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game)
: TabGameLeftPanel(parent), game(game) {
// Add board
diff --git a/src/game_tab/left_panel/GameTabLeftPanel.hpp b/src/game_tab/left_panel/GameTabLeftPanel.hpp
index c4b58b9..7aeb725 100644
--- a/src/game_tab/left_panel/GameTabLeftPanel.hpp
+++ b/src/game_tab/left_panel/GameTabLeftPanel.hpp
@@ -9,12 +9,12 @@ wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
class GameTabLeftPanel : public TabGameLeftPanel {
- Game *game;
+ std::shared_ptr<Game> game;
BoardCanvas *board_canvas;
void NotifyEditor();
public:
- GameTabLeftPanel(wxFrame *parent, Game *game);
+ GameTabLeftPanel(wxFrame *parent, std::shared_ptr<Game> game);
void Notify();
void OnPlay(wxCommandEvent &event);
void OnGotoMove(wxCommandEvent &event);
diff --git a/src/game_tab/right_panel/GameTabRightPanel.cpp b/src/game_tab/right_panel/GameTabRightPanel.cpp
index f34dd59..569f2c3 100644
--- a/src/game_tab/right_panel/GameTabRightPanel.cpp
+++ b/src/game_tab/right_panel/GameTabRightPanel.cpp
@@ -7,7 +7,7 @@ wxDEFINE_EVENT(SET_AS_MAINLINE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(PREVIOUS_MOVE_EVENT, wxCommandEvent);
wxDEFINE_EVENT(NEXT_MOVE_EVENT, wxCommandEvent);
-GameTabRightPanel::GameTabRightPanel(wxFrame *parent, Game *game)
+GameTabRightPanel::GameTabRightPanel(wxFrame *parent, std::shared_ptr<Game> game)
: TabGameRightPanel(parent), game(game), selected_item(-1),
live_engine(NULL) {
editor_canvas = new EditorCanvas((wxFrame *)editor_page);
diff --git a/src/game_tab/right_panel/GameTabRightPanel.hpp b/src/game_tab/right_panel/GameTabRightPanel.hpp
index 021f755..20593ed 100644
--- a/src/game_tab/right_panel/GameTabRightPanel.hpp
+++ b/src/game_tab/right_panel/GameTabRightPanel.hpp
@@ -16,13 +16,13 @@ wxDECLARE_EVENT(REFRESH_TAB_TITLE, wxCommandEvent);
wxDECLARE_EVENT(GAME_CHANGE, wxCommandEvent);
class GameTabRightPanel : public TabGameRightPanel {
- Game *game;
+ std::shared_ptr<Game> game;
EditorCanvas *editor_canvas;
long selected_item;
LiveEngineDialog *live_engine;
public:
- GameTabRightPanel(wxFrame *parent, Game *game);
+ GameTabRightPanel(wxFrame *parent, std::shared_ptr<Game> game);
void NotifyBoard();
void Notify();
void OnCommentChange(wxCommandEvent &event);