2 #include <Process/TimeValue.hpp>
3 #include <Process/ZoomHelper.hpp>
5 #include <score/model/Identifier.hpp>
7 #include <QGraphicsItem>
10 #include <score_lib_process_export.h>
13 struct DocumentContext;
15 class QGraphicsPixmapToggle;
34 ,
public QGraphicsItem
39 QGraphicsItem* parent);
43 void setParentDuration(
TimeVal r);
44 void setPlayPercentage(
float f,
TimeVal parent_dur);
46 qreal width()
const noexcept;
52 void createWithDecorations();
53 void createContentItem();
55 void createWithoutDecorations();
56 void createCustomContentItem();
58 void updateZoomRatio()
const noexcept;
60 void setSize(QSizeF sz);
62 bool isInSelectionCorner(QPointF f, QRectF r)
const;
63 void paint(QPainter* painter,
const QStyleOptionGraphicsItem* option, QWidget* widget)
66 void mousePressEvent(QGraphicsSceneMouseEvent* event)
override;
67 void mouseMoveEvent(QGraphicsSceneMouseEvent* event)
override;
68 void mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
override;
69 void contextMenuEvent(QGraphicsSceneContextMenuEvent* event)
override;
71 void hoverEnterEvent(QGraphicsSceneHoverEvent* event)
override;
72 void hoverMoveEvent(QGraphicsSceneHoverEvent* event)
override;
73 void hoverLeaveEvent(QGraphicsSceneHoverEvent* event)
override;
75 void keyPressEvent(QKeyEvent* event)
override;
76 void keyReleaseEvent(QKeyEvent* event)
override;
81 QSizeF size()
const noexcept;
83 void setSelected(
bool s);
85 void updateTitlePos();
86 QRectF boundingRect()
const final override;
88 double minimalContentWidth()
const noexcept;
89 double minimalContentHeight()
const noexcept;
90 static void paintNode(QPainter* painter,
bool selected,
bool hovered, QRectF rect);
93 QGraphicsItem* m_uiButton{};
94 QGraphicsItem* m_presetButton{};
97 QSizeF m_contentSize{};
102 QGraphicsItem* m_fx{};
106 std::vector<Dataflow::PortItem*> m_inlets, m_outlets;
110 double m_playPercentage{};
113 bool m_selected{
false};
Definition: LayerPresenter.hpp:34
Definition: NodeItem.hpp:35
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
The id_base_t class.
Definition: Identifier.hpp:57
Definition: QGraphicsPixmapToggle.hpp:18
Definition: TextItem.hpp:28
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Definition: ProcessContext.hpp:12
Definition: TimeValue.hpp:21