diff options
author | Daniel Jones <admin@danieljon.es> | 2020-06-25 11:36:46 +0930 |
---|---|---|
committer | Daniel Jones <admin@danieljon.es> | 2020-06-25 11:36:46 +0930 |
commit | c40dfb1f7e12f3d127ff8851dc3c7276840a5b81 (patch) | |
tree | f7993638ababbf5e2b76e6ddf92befb7b3d690b2 /MainWindow.h | |
parent | e554f9c170ef9ce2a3d3b9445be249ad8e33b52e (diff) | |
download | foxlogicgates-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.h | 13 |
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 |