QElectroTech  0.70
rotatetextscommand.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 ROTATETEXTSCOMMAND_H
19 #define ROTATETEXTSCOMMAND_H
20 
21 #include <QUndoCommand>
22 #include <QPointer>
23 
24 class ConductorTextItem;
25 class Diagram;
26 class QParallelAnimationGroup;
27 
33 class RotateTextsCommand : public QUndoCommand
34 {
35  public:
36  RotateTextsCommand(Diagram *diagram, QUndoCommand *parent=nullptr);
37 
38  void undo() override;
39  void redo() override;
40 
41  private:
42  void openDialog();
43  void setupAnimation(QObject *target, const QByteArray &propertyName, const QVariant& start, const QVariant& end);
44 
45  private:
46  QPointer<Diagram> m_diagram;
47  QHash<ConductorTextItem *, bool> m_cond_texts;
48  qreal m_rotation=0;
49  QParallelAnimationGroup *m_anim_group = nullptr;
50 };
51 
52 #endif // ROTATETEXTSCOMMAND_H
QHash< ConductorTextItem *, bool > m_cond_texts
void setupAnimation(QObject *target, const QByteArray &propertyName, const QVariant &start, const QVariant &end)
QPointer< Diagram > m_diagram
The RotateTextsCommand class Open a dialog for edit the rotation of the current selected texts and te...
QParallelAnimationGroup * m_anim_group
RotateTextsCommand(Diagram *diagram, QUndoCommand *parent=nullptr)
RotateTextsCommand::RotateTextsCommand.