pqAnimationKeyFrame.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 
5 #ifndef pqAnimationKeyFrame_h
6 #define pqAnimationKeyFrame_h
7 
8 #include "pqWidgetsModule.h"
9 
10 #include "vtkParaViewDeprecation.h" // for PARAVIEW_DEPRECATED_IN_5_12_0
11 
12 #include <QGraphicsItem>
13 #include <QIcon>
14 #include <QObject>
15 class pqAnimationTrack;
16 
17 // represents a key frame
20  : public QObject
21  , public QGraphicsItem
22 {
23  Q_OBJECT
27  Q_PROPERTY(double normalizedStartTime READ normalizedStartTime WRITE setNormalizedStartTime)
31  Q_PROPERTY(double normalizedEndTime READ normalizedEndTime WRITE setNormalizedEndTime)
35  Q_PROPERTY(QVariant startValue READ startValue WRITE setStartValue)
39  Q_PROPERTY(QVariant endValue READ endValue WRITE setEndValue)
43  Q_PROPERTY(QIcon icon READ icon WRITE setIcon)
44  Q_INTERFACES(QGraphicsItem)
45 public:
47  ~pqAnimationKeyFrame() override = default;
48 
49  double normalizedStartTime() const;
50  double normalizedEndTime() const;
51  QVariant startValue() const;
52  QVariant endValue() const;
53  QIcon icon() const;
54 
55  QRectF boundingRect() const override;
56 
57 public Q_SLOTS: // NOLINT(readability-redundant-access-specifiers)
58  void setNormalizedStartTime(double t);
59  void setNormalizedEndTime(double t);
60  void setStartValue(const QVariant&);
61  void setEndValue(const QVariant&);
62  void setIcon(const QIcon& icon);
63  void setBoundingRect(const QRectF& r);
64  void adjustRect(double startPos, double endPos);
65 
66 Q_SIGNALS:
67  void startValueChanged();
68  void endValueChanged();
69  void iconChanged();
70 
71 protected:
75  pqAnimationTrack* parentTrack() const;
76 
77  void paint(QPainter* p, const QStyleOptionGraphicsItem* option, QWidget* widget) override;
78 
79 private:
80  double NormalizedStartTime = 0;
81  double NormalizedEndTime = 1;
82  QVariant StartValue;
83  QVariant EndValue;
84  QIcon Icon;
85 
86  QRectF Rect;
87 };
88 
89 #endif // pqAnimationKeyFrame_h
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
#define PQWIDGETS_EXPORT
#define const
Definition: zconf.h:238
pqTimeManagerWidget is the main widget for the Time Manager dock.