QElectroTech  0.8-dev
changeelementinformationcommand.h
Go to the documentation of this file.
1 /*
2  Copyright 2006-2020 The QElectroTech Team
3  This file is part of QElectroTech.
4 
5  QElectroTech is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 2 of the License, or
8  (at your option) any later version.
9 
10  QElectroTech 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 General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef CHANGEELEMENTINFORMATIONCOMMAND_H
19 #define CHANGEELEMENTINFORMATIONCOMMAND_H
20 
21 #include <QUndoCommand>
22 #include "diagramcontext.h"
23 
24 class Element;
25 
30 class ChangeElementInformationCommand : public QUndoCommand
31 {
32  public:
34  Element *elmt,
35  DiagramContext &old_info,
36  DiagramContext &new_info,
37  QUndoCommand *parent = nullptr);
38 
39  int id() const override {return 1;}
40  bool mergeWith(const QUndoCommand *other) override;
41  void undo() override;
42  void redo() override;
43 
44  private:
45  void updateProjectDB();
46 
47  private:
51 };
52 
53 #endif // CHANGEELEMENTINFORMATIONCOMMAND_H
QETProject::dataBase
projectDataBase * dataBase()
QETProject::dataBase.
Definition: qetproject.cpp:124
QetGraphicsItem::diagram
Diagram * diagram() const
Definition: qetgraphicsitem.cpp:40
ChangeElementInformationCommand::redo
void redo() override
ChangeElementInformationCommand::redo.
Definition: changeelementinformationcommand.cpp:66
changeelementinformationcommand.h
ChangeElementInformationCommand::updateProjectDB
void updateProjectDB()
Definition: changeelementinformationcommand.cpp:71
ChangeElementInformationCommand::mergeWith
bool mergeWith(const QUndoCommand *other) override
Definition: changeelementinformationcommand.cpp:45
Diagram::project
QETProject * project() const
Diagram::project.
Definition: diagram.cpp:2326
ChangeElementInformationCommand::m_new_info
DiagramContext m_new_info
Definition: changeelementinformationcommand.h:50
projectDataBase::elementInfoChanged
void elementInfoChanged(Element *element)
projectDataBase::elementInfoChanged
Definition: projectdatabase.cpp:136
element.h
Element
Definition: element.h:41
ChangeElementInformationCommand::ChangeElementInformationCommand
ChangeElementInformationCommand(Element *elmt, DiagramContext &old_info, DiagramContext &new_info, QUndoCommand *parent=nullptr)
ChangeElementInformationCommand::ChangeElementInformationCommand Default constructor.
Definition: changeelementinformationcommand.cpp:31
ChangeElementInformationCommand::undo
void undo() override
ChangeElementInformationCommand::undo.
Definition: changeelementinformationcommand.cpp:58
ChangeElementInformationCommand
The ChangeElementInformationCommand class This class manage undo/redo to change the element informati...
Definition: changeelementinformationcommand.h:31
diagramcontext.h
ChangeElementInformationCommand::id
int id() const override
Definition: changeelementinformationcommand.h:39
ChangeElementInformationCommand::m_old_info
DiagramContext m_old_info
Definition: changeelementinformationcommand.h:49
QET::Icons::tr
QIcon tr
Definition: qeticons.cpp:206
DiagramContext
Definition: diagramcontext.h:56
diagram.h
ChangeElementInformationCommand::m_element
Element * m_element
Definition: changeelementinformationcommand.h:48