diff --git a/snapshotmanager.h b/snapshotmanager.h new file mode 100644 --- /dev/null +++ b/snapshotmanager.h @@ -0,0 +1,63 @@ +/* + Copyright © 2015 Hasan Yavuz Özderya + + This file is part of serialplot. + + serialplot is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + serialplot is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with serialplot. If not, see . +*/ + +#ifndef SNAPSHOTMANAGER_H +#define SNAPSHOTMANAGER_H + +#include +#include +#include + +#include "framebuffer.h" +#include "snapshot.h" + +class SnapshotManager : public QObject +{ + Q_OBJECT + +public: + SnapshotManager(QMainWindow* mainWindow, QList* channelBuffers); + ~SnapshotManager(); + + QMenu* menu(); + QAction* takeSnapshotAction(); + +private: + QMainWindow* _mainWindow; + QList* _channelBuffers; + + QList snapshots; + + QMenu _menu; + QAction _takeSnapshotAction; + QAction loadSnapshotAction; + QAction clearAction; + + void addSnapshot(Snapshot* snapshot, bool update_menu=true); + void updateMenu(); + +private slots: + void takeSnapshot(); + void clearSnapshots(); + void deleteSnapshot(Snapshot* snapshot); + void loadSnapshots(); + void loadSnapshotFromFile(QString fileName); +}; + +#endif /* SNAPSHOTMANAGER_H */