summaryrefslogtreecommitdiff
path: root/MainWindow.h
diff options
context:
space:
mode:
authorDaniel Jones <admin@danieljon.es>2020-06-25 11:36:46 +0930
committerDaniel Jones <admin@danieljon.es>2020-06-25 11:36:46 +0930
commitc40dfb1f7e12f3d127ff8851dc3c7276840a5b81 (patch)
treef7993638ababbf5e2b76e6ddf92befb7b3d690b2 /MainWindow.h
parente554f9c170ef9ce2a3d3b9445be249ad8e33b52e (diff)
downloadfoxlogicgates-c40dfb1f7e12f3d127ff8851dc3c7276840a5b81.tar.gz
foxlogicgates-c40dfb1f7e12f3d127ff8851dc3c7276840a5b81.zip
functionality: added ability to save to xml file in preperations for loading.
Diffstat (limited to 'MainWindow.h')
-rw-r--r--MainWindow.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/MainWindow.h b/MainWindow.h
index e1ee01e..a27db71 100644
--- a/MainWindow.h
+++ b/MainWindow.h
@@ -27,6 +27,7 @@
#include <fxkeys.h>
#include "Gate.h"
#include "icons.h"
+#include "pugixml.hpp" // saving/loading
class MainWindow : public FXMainWindow
{
@@ -55,6 +56,8 @@ class MainWindow : public FXMainWindow
ID_BUTTON_XOR,
ID_BUTTON_XNOR,
ID_BUTTON_NOT,
+
+ ID_BUTTON_SAVE,
};
/* Event handlers */
@@ -75,7 +78,10 @@ class MainWindow : public FXMainWindow
long xor_button_press(FXObject*,FXSelector,void* ptr);
long xnor_button_press(FXObject*,FXSelector,void* ptr);
long not_button_press(FXObject*,FXSelector,void* ptr);
-
+
+ /* options */
+ long save_button_press(FXObject*,FXSelector,void* ptr);
+
/* selected gate */
Gate *selected_gate = nullptr;
@@ -93,6 +99,8 @@ class MainWindow : public FXMainWindow
Gate *find_gate_at(int x, int y);
Gate *find_gate_by_id(int id);
+ bool save_file();
+
FXHorizontalFrame *contents;
FXVerticalFrame *canvasFrame;
FXVerticalFrame *toolsFrame;
@@ -147,6 +155,9 @@ class MainWindow : public FXMainWindow
/* general */
std::vector<std::unique_ptr<Gate>> gates;
+ /* saving/loading */
+ std::string file_name = "";
+
};
#endif // MAINWINDOW_H