QGIS API Documentation  2.0.1-Dufour
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgscomposermultiframecommand.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscomposermultiframecommand.h
3  ------------------------------
4  begin : 2012-08-02
5  copyright : (C) 2012 by Marco Hugentobler
6  email : marco dot hugentobler at sourcepole dot ch
7 ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSCOMPOSERMULTIFRAMECOMMAND_H
19 #define QGSCOMPOSERMULTIFRAMECOMMAND_H
20 
21 #include <QUndoCommand>
22 #include <QDomDocument>
23 
25 
26 class CORE_EXPORT QgsComposerMultiFrameCommand: public QUndoCommand
27 {
28  public:
29  QgsComposerMultiFrameCommand( QgsComposerMultiFrame* multiFrame, const QString& text, QUndoCommand* parent = 0 );
31 
32  void undo();
33  void redo();
34 
35  void savePreviousState();
36  void saveAfterState();
37 
39  bool containsChange() const;
40 
41  private:
43 
44  QDomDocument mPreviousState;
45  QDomDocument mAfterState;
46 
47  bool mFirstRun;
48 
49  QgsComposerMultiFrameCommand(); //forbidden
50  void saveState( QDomDocument& stateDoc );
51  void restoreState( QDomDocument& stateDoc );
52  bool checkFirstRun();
53 };
54 
55 #endif // QGSCOMPOSERMULTIFRAMECOMMAND_H