diff options
Diffstat (limited to 'src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h')
-rw-r--r-- | src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h index b028e94d..179292c9 100644 --- a/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h +++ b/src/Authoring/Qt3DStudio/Palettes/TimelineGraphicsView/ui/RowTree.h @@ -33,8 +33,9 @@ #include "TimelineConstants.h" #include "RowTypes.h" #include "StudioObjectTypes.h" -#include "RowTreeLabelItem.h" +#include "RowTreeLabel.h" #include "Qt3DSDMHandles.h" +#include "Bindings/ITimelineItem.h" #include <QtCore/qpropertyanimation.h> #include <QtCore/qparallelanimationgroup.h> @@ -93,14 +94,15 @@ public: void removeChild(RowTree *child); void setDnDState(DnDState state, DnDState onlyIfState = DnDState::Any, bool recursive = false); void setActionStates(ActionStates states); + void setActivateActions(ITimelineItem::ActivateActions activateActions); void setTreeWidth(double w); void setBinding(ITimelineItemBinding *binding); void setPropBinding(ITimelineItemProperty *binding); // for property rows void selectLabel(); - void togglePropertyExpanded(); - void setPropertyExpanded(bool expand); + void togglePropertyExpanded(const QPointF &scenePos = {}); void showDataInputSelector(const QString &propertyname, const QPoint &pos); ITimelineItemProperty *propBinding(); + void refreshPropBinding(bool forceSync = false); TreeControlType getClickedControl(const QPointF &scenePos); bool shy() const; bool visible() const; @@ -152,11 +154,14 @@ public: void updateFilter(); void updateLock(bool state); void updateSubpresentations(int updateParentsOnlyVal = 0); + int rightDividerX() const; int clipX() const; qt3dsdm::Qt3DSDMInstanceHandle instance() const; protected: void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override; + void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override; + void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override; private: void initialize(); @@ -183,7 +188,8 @@ private: bool m_visible = true; bool m_locked = false; bool m_isProperty = false; - bool m_isPropertyExpanded = false; + bool m_propGraphExpanded = false; + int m_propGraphHeight = TimelineConstants::ROW_GRAPH_H; bool m_master = false; bool m_filtered = false; bool m_arrowVisible = false; @@ -192,25 +198,32 @@ private: bool m_onMasterSlide = false; DnDState m_dndState = DnDState::None; ActionStates m_actionStates = ActionState::None; + ITimelineItem::ActivateActions m_activateActions = ITimelineItem::ActivateAction::None; bool m_hasSubpresentation = false; int m_numDescendantSubpresentations = 0; ExpandState m_expandState = ExpandState::HiddenCollapsed; TimelineGraphicsScene *m_scene; - RowTreeLabelItem m_labelItem; + RowTreeLabel m_labelItem; EStudioObjectType m_objectType = OBJTYPE_UNKNOWN; - QString m_propertyType; // for property rows QString m_label; QList<RowTree *> m_childRows; QList<RowTree *> m_childProps; QStringList m_variantsGroups; ITimelineItemBinding *m_binding = nullptr; ITimelineItemProperty *m_PropBinding = nullptr; // for property rows + QRect *m_hoveredRect = nullptr; QRect m_rectArrow; QRect m_rectShy; QRect m_rectVisible; QRect m_rectLocked; QRect m_rectType; + QRect m_rectMaximizePropGraph; + QRect m_rectFitPropGraph; + QRect m_rectColorGradient; + QVector<QRect> m_rectChannels; + QVector<bool> m_activeChannels; + QParallelAnimationGroup m_expandAnimation; QPropertyAnimation *m_expandHeightAnimation; |