UpdateCommand.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3 This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5 TerraLib is free software: you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9 
10 TerraLib is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU Lesser General Public License for more details.
14 
15 You should have received a copy of the GNU Lesser General Public License
16 along with TerraLib. See COPYING. If not, write to
17 TerraLib Team at <terralib-team@terralib.org>.
18 */
19 
20 /*!
21 \file UpdateCommand.h
22 
23 \brief
24 
25 \ingroup edit
26 */
27 
28 #ifndef __TERRALIB_EDIT_QT_INTERNAL_UPDATE_COMMAND_H
29 #define __TERRALIB_EDIT_QT_INTERNAL_UPDATE_COMMAND_H
30 
31 // TerraLib
32 #include "../../../../qt/widgets/canvas/MapDisplay.h"
33 #include "../../Config.h"
34 #include "../UndoStackManager.h"
35 #include "../../../Feature.h"
36 
37 // Qt
38 #include <QUndoCommand>
39 #include <QString>
40 #include <QPointF>
41 
42 namespace te
43 {
44  namespace edit
45  {
46  /*!
47  \brief Undo/Redo for Update one components.
48 
49  */
50  class TEEDITQTEXPORT UpdateCommand : public QUndoCommand
51  {
52  public:
53  // Pass all parameters that the command need to fulfill its task in the constructor
54  UpdateCommand(std::vector<Feature*> items, te::qt::widgets::MapDisplay* display, const te::map::AbstractLayerPtr& layer, QUndoCommand *parent = 0);
55 
56  /*!
57  \brief Destructor
58  */
59  virtual ~UpdateCommand();
60 
61  /*!
62  \brief Reimplemented from QUndoCommand
63  */
64  virtual void undo();
65 
66  /*!
67  \brief Reimplemented from QUndoCommand
68  */
69  virtual void redo();
70 
71  private:
72 
75  std::vector<Feature*> m_updateItems;
76  QString createCommandString(QString oid);
77  void draw(const int commandType);
78 
81  const int m_redoCommandType;
82  const int m_undoCommandType;
83 
84  };
85  }
86 }
87 
88 #endif
#define TEEDITQTEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:60
te::qt::widgets::MapDisplay * m_display
Definition: UpdateCommand.h:73
Undo/Redo for Update one components.
Definition: UpdateCommand.h:50
A widget to control the display of a set of layers.
Definition: MapDisplay.h:66
URI C++ Library.
std::vector< Feature * > m_updateItems
Definition: UpdateCommand.h:75
te::map::AbstractLayerPtr m_layer
Definition: UpdateCommand.h:74
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr