QGIS API Documentation
2.4.0-Chugiak
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
core
composer
qgsaddremovemultiframecommand.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsaddremovemultiframecommand.cpp
3
---------------------------------
4
begin : 2012-07-31
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
#include "
qgsaddremovemultiframecommand.h
"
19
#include "
qgscomposermultiframe.h
"
20
#include "
qgscomposition.h
"
21
#include "
qgsproject.h
"
22
23
24
QgsAddRemoveMultiFrameCommand::QgsAddRemoveMultiFrameCommand
(
State
s,
QgsComposerMultiFrame
* multiFrame,
QgsComposition
* c,
const
QString& text, QUndoCommand* parent ):
25
QUndoCommand( text, parent ), mMultiFrame( multiFrame ), mComposition( c ), mState( s ), mFirstRun( true )
26
{
27
}
28
29
QgsAddRemoveMultiFrameCommand::QgsAddRemoveMultiFrameCommand
(): mMultiFrame( 0 ), mComposition( 0 )
30
{
31
}
32
33
QgsAddRemoveMultiFrameCommand::~QgsAddRemoveMultiFrameCommand
()
34
{
35
if
(
mState
==
Removed
)
36
{
37
delete
mMultiFrame
;
38
}
39
}
40
41
void
QgsAddRemoveMultiFrameCommand::redo
()
42
{
43
if
(
checkFirstRun
() )
44
{
45
return
;
46
}
47
switchState
();
48
}
49
50
void
QgsAddRemoveMultiFrameCommand::undo
()
51
{
52
if
(
checkFirstRun
() )
53
{
54
return
;
55
}
56
switchState
();
57
}
58
59
void
QgsAddRemoveMultiFrameCommand::switchState
()
60
{
61
if
(
mComposition
)
62
{
63
if
(
mState
==
Added
)
64
{
65
mComposition
->
removeMultiFrame
(
mMultiFrame
);
66
mState
=
Removed
;
67
}
68
else
69
{
70
mComposition
->
addMultiFrame
(
mMultiFrame
);
71
mState
=
Added
;
72
}
73
QgsProject::instance
()->
dirty
(
true
);
74
}
75
}
76
77
bool
QgsAddRemoveMultiFrameCommand::checkFirstRun
()
78
{
79
if
(
mFirstRun
)
80
{
81
mFirstRun
=
false
;
82
return
true
;
83
}
84
else
85
{
86
return
false
;
87
}
88
}
qgsproject.h
QgsAddRemoveMultiFrameCommand::mComposition
QgsComposition * mComposition
Definition:
qgsaddremovemultiframecommand.h:49
qgsaddremovemultiframecommand.h
QgsAddRemoveMultiFrameCommand::Removed
Definition:
qgsaddremovemultiframecommand.h:33
qgscomposermultiframe.h
qgscomposition.h
QgsAddRemoveMultiFrameCommand::switchState
void switchState()
Definition:
qgsaddremovemultiframecommand.cpp:59
QgsAddRemoveMultiFrameCommand::mState
State mState
Definition:
qgsaddremovemultiframecommand.h:50
QgsAddRemoveMultiFrameCommand::mFirstRun
bool mFirstRun
Definition:
qgsaddremovemultiframecommand.h:51
QgsAddRemoveMultiFrameCommand::mMultiFrame
QgsComposerMultiFrame * mMultiFrame
Definition:
qgsaddremovemultiframecommand.h:48
QgsAddRemoveMultiFrameCommand::redo
void redo()
Definition:
qgsaddremovemultiframecommand.cpp:41
QgsComposerMultiFrame
Abstract base class for composer entries with the ability to distribute the content to several frames...
Definition:
qgscomposermultiframe.h:32
QgsComposition
Graphics scene for map printing.
Definition:
qgscomposition.h:66
QgsComposition::removeMultiFrame
void removeMultiFrame(QgsComposerMultiFrame *multiFrame)
Removes multi frame (but does not delete it)
Definition:
qgscomposition.cpp:2111
QgsAddRemoveMultiFrameCommand::State
State
Definition:
qgsaddremovemultiframecommand.h:30
QgsAddRemoveMultiFrameCommand::undo
void undo()
Definition:
qgsaddremovemultiframecommand.cpp:50
QgsProject::instance
static QgsProject * instance()
access to canonical QgsProject instance
Definition:
qgsproject.cpp:362
QgsAddRemoveMultiFrameCommand::checkFirstRun
bool checkFirstRun()
Definition:
qgsaddremovemultiframecommand.cpp:77
QgsAddRemoveMultiFrameCommand::~QgsAddRemoveMultiFrameCommand
~QgsAddRemoveMultiFrameCommand()
Definition:
qgsaddremovemultiframecommand.cpp:33
QgsAddRemoveMultiFrameCommand::Added
Definition:
qgsaddremovemultiframecommand.h:32
QgsComposition::addMultiFrame
void addMultiFrame(QgsComposerMultiFrame *multiFrame)
Adds multiframe.
Definition:
qgscomposition.cpp:2104
QgsAddRemoveMultiFrameCommand::QgsAddRemoveMultiFrameCommand
QgsAddRemoveMultiFrameCommand()
Definition:
qgsaddremovemultiframecommand.cpp:29
QgsProject::dirty
void dirty(bool b)
Definition:
qgsproject.cpp:396
Generated on Wed Mar 18 2015 11:40:11 for QGIS API Documentation by
1.8.9.1