Engauge Digitizer  2
CmdStackShadow.h
Go to the documentation of this file.
1 /******************************************************************************************************
2  * (C) 2014 markummitchell@github.com. This file is part of Engauge Digitizer, which is released *
3  * under GNU General Public License version 2 (GPLv2) or (at your option) any later version. See file *
4  * LICENSE or go to gnu.org/licenses for details. Distribution requires prior written permission. *
5  ******************************************************************************************************/
6 
7 #ifndef CMD_STACK_SHADOW_H
8 #define CMD_STACK_SHADOW_H
9 
10 #include <QList>
11 #include <QObject>
12 
13 class CmdAbstract;
14 class Document;
15 class MainWindow;
16 class QXmlStreamReader;
17 
18 typedef QList<CmdAbstract*> CmdListInternal;
19 
30 class CmdStackShadow : public QObject
31 {
32  Q_OBJECT;
33 
34 public:
37 
39  bool canRedo () const;
40 
42  void loadCommands (MainWindow &mainWindow,
43  Document &document,
44  QXmlStreamReader &reader);
45 
46 public slots:
48  void slotRedo ();
49 
51  void slotUndo ();
52 
53 signals:
55  void signalRedo();
56 
58  void signalUndo();
59 
60 private:
61 
62  MainWindow *m_mainWindow;
63 
64  CmdListInternal m_cmdList;
65 };
66 
67 #endif // CMDSTACKSHADOW_H
CmdStackShadow::CmdStackShadow
CmdStackShadow()
Single constructor.
Definition: CmdStackShadow.cpp:21
CmdStackShadow::loadCommands
void loadCommands(MainWindow &mainWindow, Document &document, QXmlStreamReader &reader)
Load commands from serialized xml.
Definition: CmdStackShadow.cpp:36
CmdStackShadow::signalUndo
void signalUndo()
Signal used to emulate a shift-z undo command from user during testing.
Document
Storage of one imported image and the data attached to that image.
Definition: Document.h:40
MainWindow
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:90
CmdStackShadow::slotRedo
void slotRedo()
Move next command from list to CmdMediator. Noop if there are no more commands.
Definition: CmdStackShadow.cpp:64
CmdStackShadow
Command stack that shadows the CmdMediator command stack at startup when reading commands from an err...
Definition: CmdStackShadow.h:29
CmdStackShadow::slotUndo
void slotUndo()
Throw away every command since trying to reconcile two different command stacks after an undo is too ...
Definition: CmdStackShadow.cpp:103
CmdStackShadow::signalRedo
void signalRedo()
Signal used to emulate a shift-control-z redo command from user during testing.
CmdStackShadow::canRedo
bool canRedo() const
Return true if there is a command available.
Definition: CmdStackShadow.cpp:27
CmdAbstract
Wrapper around QUndoCommand. This simplifies the more complicated feature set of QUndoCommand.
Definition: CmdAbstract.h:18
CmdListInternal
QList< CmdAbstract * > CmdListInternal
Definition: CmdStackShadow.h:15