QElectroTech  0.70
rotateselectioncommand.h
Go to the documentation of this file.
1 /*
2  Copyright 2006-2019 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 ROTATESELECTIONCOMMAND_H
19 #define ROTATESELECTIONCOMMAND_H
20 
21 #include <QUndoCommand>
22 #include <QPointer>
23 
24 class Diagram;
25 class ConductorTextItem;
27 
32 class RotateSelectionCommand : public QUndoCommand
33 {
34  public:
35  RotateSelectionCommand(Diagram *diagram, qreal angle=90, QUndoCommand *parent=nullptr);
36  void undo() override;
37  void redo() override;
38 
39  bool isValid();
40 
41  private:
42  Diagram *m_diagram =nullptr;
43 
44  QList<QPointer<ConductorTextItem>> m_cond_text;
45  QHash<ConductorTextItem *, bool> m_rotate_by_user;
46  QList<QPropertyUndoCommand*> m_undo;
47 
48 };
49 
50 #endif // ROTATESELECTIONCOMMAND_H
The QPropertyUndoCommand class This undo command manage QProperty of a QObject. This undo command can...
void redo() override
RotateSelectionCommand::redo.
QList< QPropertyUndoCommand * > m_undo
bool isValid()
RotateSelectionCommand::isValid.
RotateSelectionCommand(Diagram *diagram, qreal angle=90, QUndoCommand *parent=nullptr)
QList< QPointer< ConductorTextItem > > m_cond_text
QHash< ConductorTextItem *, bool > m_rotate_by_user
The RotateSelectionCommand class Rotate the selected items in the given diagram.
void undo() override
RotateSelectionCommand::undo.