Quantum GIS API Documentation
1.7.5-Wroclaw
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
core
qgsvectorlayerundocommand.h
Go to the documentation of this file.
1
2
#ifndef QGSVECTORLAYERUNDOCOMMAND_H
3
#define QGSVECTORLAYERUNDOCOMMAND_H
4
5
#include <QUndoCommand>
6
7
#include <QVariant>
8
#include <QSet>
9
#include <QList>
10
11
#include "
qgsfield.h
"
12
#include "
qgsfeature.h
"
13
14
class
QgsGeometry
;
15
class
QgsVectorLayer
;
16
17
18
// TODO: copied from qgsvectorlayer.h
19
typedef
QList<int>
QgsAttributeList
;
20
typedef
QSet<int>
QgsFeatureIds
;
21
typedef
QSet<int>
QgsAttributeIds
;
22
23
24
28
class
QgsUndoCommand
:
public
QUndoCommand
29
{
30
public
:
31
33
class
AttributeChangeEntry
34
{
35
public
:
36
bool
isFirstChange
;
37
QVariant
original
;
38
QVariant
target
;
39
};
40
41
typedef
QMap<int, AttributeChangeEntry>
AttributeChanges
;
42
44
class
GeometryChangeEntry
45
{
46
public
:
47
GeometryChangeEntry
();
48
~GeometryChangeEntry
();
49
50
void
setOriginalGeometry
(
QgsGeometry
& orig );
51
void
setTargetGeometry
(
QgsGeometry
&
target
);
52
53
QgsGeometry
*
original
;
54
QgsGeometry
*
target
;
55
};
56
57
58
QgsUndoCommand
(
QgsVectorLayer
* layer, QString text );
59
63
void
undo
();
64
68
void
redo
();
69
76
void
storeGeometryChange
(
int
featureId,
QgsGeometry
& original,
QgsGeometry
& target );
77
86
void
storeAttributeChange
(
int
featureId,
int
field, QVariant original, QVariant target,
bool
isFirstChange );
87
92
void
storeFeatureDelete
(
int
featureId );
93
98
void
storeFeatureAdd
(
QgsFeature
& feature );
99
105
void
storeAttributeAdd
(
int
index,
const
QgsField
& value );
106
112
void
storeAttributeDelete
(
int
index,
const
QgsField
& orig );
113
114
private
:
116
bool
mFirstRun
;
117
119
QgsVectorLayer
*
mLayer
;
120
122
QMap<int, GeometryChangeEntry>
mGeometryChange
;
123
125
QMap<int, AttributeChanges>
mAttributeChange
;
126
131
QgsFeatureIds
mDeletedFeatureIdChange
;
132
134
QgsFieldMap
mAddedAttributes
;
135
137
QgsFieldMap
mDeletedAttributes
;
138
142
QgsFeatureList
mAddedFeatures
;
143
144
friend
class
QgsVectorLayer
;
145
};
146
147
#endif
Generated on Thu Sep 19 2013 17:30:55 for Quantum GIS API Documentation by
1.8.4