Represents the compact drawer form of a "Make List" node.
Definition at line 20 of file VuoRendererInputDrawer.hh.
Public Member Functions | |
VuoRendererInputDrawer (VuoNode *baseNode, VuoRendererSignaler *signaler) | |
Creates a collapsed "Make List" node that takes the form of an input drawer. More... | |
qreal | getMaxDrawerLabelWidth (void) const |
Returns the maximum width in pixels of the port labels within this drawer. More... | |
qreal | getMaxDrawerChainedLabelWidth (void) const |
Returns the maximum width in pixels of the port labels within this drawer, also accounting for the width of the child port as well as any constant flags or collapsed typecasts attached to the child port. More... | |
vector< VuoRendererPort * > | getDrawerPorts (void) const |
Returns the vector of the input ports whose values will be incorporated into the output list. More... | |
void | setHorizontalDrawerOffset (qreal offset) |
Sets the distance, in pixels, left of its attached port that the rightmost point of this drawer should be rendered. More... | |
Public Member Functions inherited from VuoRendererInputAttachment | |
VuoRendererInputAttachment (VuoNode *baseNode, VuoRendererSignaler *signaler) | |
Creates a node that is rendered as an attachment to another node's input port. More... | |
VuoPort * | getUnderlyingHostPort () |
Returns the input port to which this item is attached in the underlying composition. More... | |
VuoNode * | getUnderlyingHostNode () |
Returns the node to which this item is attached in the underlying composition. More... | |
virtual VuoPort * | getRenderedHostPort () |
Returns the input port to which this item is visually attached in the rendered composition. More... | |
virtual VuoNode * | getRenderedHostNode () |
Returns the node to which this item is visually attached in the composition rendering. More... | |
virtual set< VuoNode * > | getCoattachments (void) |
Returns the set of co-attachments expected to co-exist with this attachment. More... | |
Public Member Functions inherited from VuoRendererNode | |
VuoRendererNode (VuoNode *baseNode, VuoRendererSignaler *signaler) | |
Creates a renderer detail for the specified base node. More... | |
virtual QRectF | boundingRect (void) const |
Returns a rectangle that completely encloses the rendered node (accounting for the thick line width). More... | |
virtual void | paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) |
Draws a standard node, including rectangular frame, and input and output ports. More... | |
virtual QRectF | getOuterNodeFrameBoundingRect (void) const |
Returns the bounding rect for the node's outer frame (excluding ports). More... | |
virtual bool | paintingDisabled (void) const |
Returns a boolean indicating whether painting is currently disabled for this node. More... | |
vector< VuoRendererInputDrawer * > | getAttachedInputDrawers (void) const |
Returns a vector containing all of the drawers attached to any of this node's input ports. More... | |
qreal | getInputDrawerOffset (unsigned int portIndex) const |
Returns the horizontal offset necessary to prevent the drawer at portIndex from overlapping any drawers beneath it. More... | |
void | updateNodeFrameRect (void) |
Calculates and updates the cached inner frame of a node based on its current attributes. More... | |
void | setMissingImplementation (bool missingImplementation) |
Sets whether the node is rendered as though its implementation is missing. More... | |
bool | isMissingImplementation (void) |
Returns whether the node is rendered as though its implementation is missing. More... | |
void | setProxyNode (VuoRendererNode *proxyNode) |
If set, this node will not be drawn; its drawing will be handled by proxyNode . More... | |
VuoRendererNode * | getProxyNode (void) const |
Returns this node's rendering proxy. More... | |
VuoRendererTypecastPort * | getProxyCollapsedTypecast (void) const |
Returns the collapsed typecast port rendered in place of this node, or NULL if none. More... | |
void | setAlwaysDisplayPortNames (bool displayPortNames) |
Sets the boolean indicating whether this node's ports, including unambiguous ones, should always have their names displayed. More... | |
bool | nameDisplayEnabledForPort (const VuoRendererPort *port) |
Returns a boolean indicating whether the name of the provided port should be rendered within the node. More... | |
bool | nameDisplayEnabledForInputPorts () |
Returns a boolean indicating whether the names of input ports should be rendered within the node. More... | |
bool | nameDisplayEnabledForOutputPorts () |
Returns a boolean indicating whether the names of output ports should be rendered within the node. More... | |
VuoRendererColors::HighlightType | getEligibilityHighlight (void) |
Returns the highlight that should be used to indicate whether this node contains ports eligible for the current cable drag. More... | |
void | setEligibilityHighlight (VuoRendererColors::HighlightType eligibility) |
Sets whether this node should be highlighted to indicate that it contains ports eligible for the current cable drag. More... | |
QVariant | itemChange (GraphicsItemChange change, const QVariant &value) |
Updates the node and its connected cables to reflect changes in state. More... | |
void | updateGeometry (void) |
Schedules a redraw of this node. More... | |
void | updateConnectedCableGeometry (void) |
Schedules a redraw of this node's connected cables. More... | |
set< VuoCable * > | getConnectedCables (bool includePublishedCables) |
Returns the set of cables connected to this node. More... | |
set< VuoCable * > | getConnectedInputCables (bool includePublishedCables) |
Returns the set of input cables connected to this node. More... | |
set< VuoCable * > | getConnectedOutputCables (bool includePublishedCables) |
Returns the set of output cables connected to this node. More... | |
vector< VuoRendererPort * > & | getInputPorts (void) |
Returns this node's input ports. More... | |
vector< VuoRendererPort * > & | getOutputPorts (void) |
Returns this node's output ports. More... | |
vector< pair< QString, json_object * > > | getConstantPortValues () |
Returns an ordered list of port name-value pairs for the ports that belong to this node and whose values are currently constant. More... | |
void | replaceInputPort (VuoRendererPort *oldPort, VuoRendererPort *newPort) |
Replaces input port old with new . More... | |
void | addInputPort (VuoRendererPort *newPort) |
Adds input port newPort to the node, relocating it to the end of the input port list if it was already present somewhere within the list. More... | |
bool | hasGenericPort (void) |
Returns a boolean indicating whether this node has any ports with generic data types. More... | |
void | setTitle (string title) |
Sets the title for this node; re-lays-out its ports to accommodate the new name. More... | |
void | resetTimeLastExecuted () |
Resets the time last executed to a value that causes the node to be painted as if activity-rendering were disabled. More... | |
void | setExecutionEnded () |
Updates the node's execution state to indicate that it has just finished executing. More... | |
void | setExecutionBegun () |
Updates the node's execution state to indicate that it is currently executing. More... | |
qint64 | getTimeLastExecutionEnded () |
Returns the time, in ms since epoch, that this node's most recent node execution ended, or if applicable, a special VuoRendererItem::activityState. More... | |
void | layoutConnectedInputDrawers (void) |
Calculates and sets the positions of the node's connected input drawers relative to the node. More... | |
void | layoutConnectedInputDrawersAtAndAbovePort (VuoRendererPort *port) |
Calculates and sets the positions of any input drawers connected to this node's ports beginning with the provided port and iterating through the ports rendered above (i.e., with indices lower than) that port. More... | |
void | setCacheModeForNodeAndPorts (QGraphicsItem::CacheMode mode) |
Sets the cache mode of this node and its child ports to mode . More... | |
void | setCacheModeForConnectedCables (QGraphicsItem::CacheMode mode) |
Sets the cache mode of this node's connected cables to mode . More... | |
Public Member Functions inherited from VuoRendererItem | |
void | setSelectable (bool selectable) |
Enables or disables selection for the item. More... | |
Public Member Functions inherited from VuoBaseDetail< VuoNode > | |
VuoBaseDetail (string description, VuoNode *base) | |
Creates a detail class. More... | |
VuoNode * | getBase (void) const |
Returns the detail class instance's base class instance. More... | |
void | setBase (VuoNode *base) |
Sets the detail class instance's base class instance. More... | |
Static Public Attributes | |
static const qreal | drawerInteriorHorizontalPadding = 20 |
The amount of horizontal padding, in pixels, added to each drawer beyond what its text strictly requires. More... | |
static const qreal | drawerHorizontalSpacing = 2 |
The amount of space, in pixels, left as horizontal padding between underhangs of drawers attached to ports of the same node. More... | |
Static Public Attributes inherited from VuoRendererNode | |
static const qreal | nodeTitleHeight = 18 |
The height of the node's title. More... | |
static const qreal | nodeHeaderYOffset = -nodeTitleHeight - nodeClassHeight |
The vertical offset of the node header's top left corner from the origin. More... | |
static const qreal | cornerRadius = 10 |
The radius of rounded corners. More... | |
Protected Member Functions | |
void | layoutPorts (void) |
Calculates and sets the positions of the node's child ports relative to the node. More... | |
QPainterPath | getDrawerPath (bool includeDragHandle) const |
Returns a path representing the drawer. More... | |
Protected Member Functions inherited from VuoRendererNode | |
virtual void | hoverEnterEvent (QGraphicsSceneHoverEvent *event) |
Handle mouse hover start events. More... | |
virtual void | hoverMoveEvent (QGraphicsSceneHoverEvent *event) |
Handle mouse hover move events. More... | |
virtual void | hoverLeaveEvent (QGraphicsSceneHoverEvent *event) |
Handle mouse hover leave events. More... | |
void | mouseReleaseEvent (QGraphicsSceneMouseEvent *event) |
Handle mouse release events. More... | |
void | mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) |
Handle mouse double-click events. More... | |
void | keyPressEvent (QKeyEvent *event) |
Handle key-press events. More... | |
Protected Member Functions inherited from VuoRendererItem | |
void | drawBoundingRect (QPainter *painter) |
Draws this item's bounding rect, for debugging. More... | |
bool | getRenderActivity () const |
Retrieves the composition-wide boolean indicating whether recent activity (e.g., a node execution or event firing) by this item should be reflected in its rendering. More... | |
bool | getRenderHiddenCables () const |
Retrieves the composition-wide boolean indicating whether hidden ("wireless") cables should be rendered as if they were not hidden. More... | |
QGraphicsItem::CacheMode | getCurrentDefaultCacheMode () const |
Returns the current default cache mode for components of this composition. More... | |
Protected Attributes | |
vector< VuoRendererPort * > | drawerPorts |
The vector of input ports whose values will be incorporated into the output list. More... | |
qreal | horizontalDrawerOffset |
The distance, in pixels, left of its attached port that the rightmost point of this drawer should be rendered. More... | |
qreal | drawerBottomExtensionHeight |
The height, in pixels, of the input drawer (excluding the arm and drag handle). More... | |
Protected Attributes inherited from VuoRendererNode | |
VuoRendererSignaler * | signaler |
The object that sends signals on behalf of this renderer node. More... | |
vector< VuoRendererPort * > | inputPorts |
The list of input renderer ports belonging to this renderer node. More... | |
vector< VuoRendererPort * > | outputPorts |
The list of output renderer ports belonging to this renderer node. More... | |
qint64 | timeLastExecutionEnded |
The time at which this node's running counterpart last completed an execution. More... | |
bool | alwaysDisplayPortNames |
Indicates whether this node's ports, even unambiguous ones, should always have their names displayed. More... | |
Additional Inherited Members | |
Public Types inherited from VuoRendererNode | |
enum | Type { node, detachedConstant, detachedDrawer, detachedTypecast } |
Specifies how this node is graphically represented. More... | |
Public Types inherited from VuoRendererItem | |
enum | activityState { notTrackingActivity = -1, activityInProgress = 0 } |
Special composition component activity states. More... | |
enum | zValues { triggerAnimationZValue = 1, nodeZValue = 0, portZValue = -1, attachmentZValue = -2, cableZValue = -3, errorMarkZValue = -4, commentZValue = -5 } |
Stacking order for canvas elements. More... | |
Static Public Member Functions inherited from VuoRendererNode | |
static QPair< QPainterPath, QPainterPath > | getNodeFrames (QRectF nodeInnerFrameRect) |
Returns the outer and inner node frames, in that order, for a node with the provided nodeInnerFrameRect value. More... | |
static QPainterPath | getSubcompositionIndicatorPath (QRectF nodeInnerFrameRect, bool isSubcomposition) |
Returns the path of the subcomposition icon for a node with the provided nodeInnerFrameRect , or an empty path if isSubcomposition is false. More... | |
Static Public Member Functions inherited from VuoRendererItem | |
static void | setSnapToGrid (bool snap) |
Specifies whether graphics items should be snapped to a grid. More... | |
static void | setDrawBoundingRects (bool drawBoundingRects) |
Specifies whether bounding rects will be shown the next time the QGraphicsScene is rendered. More... | |
static bool | shouldDrawBoundingRects (void) |
Returns whether bounding rects are currently being shown. More... | |
static void | drawRect (QPainter *painter, QRectF rect) |
Draws a rect, for debugging. More... | |
static bool | getSnapToGrid () |
Retrieves the boolean indicating whether graphics items should be snapped to a grid. More... | |
Static Protected Member Functions inherited from VuoRendererInputAttachment | |
static VuoPort * | getUnderlyingHostPortForNode (VuoNode *node) |
Returns the input port to which the provided node is attached in the underlying composition. More... | |
static VuoNode * | getUnderlyingHostNodeForNode (VuoNode *node) |
Returns the node to which the provided node is attached in the underlying composition. More... | |
static VuoNode * | getListNodeConnectedToInputPort (VuoPort *port) |
Returns the collapsed list node attached to the provided input port, or NULL if none. More... | |
Static Protected Member Functions inherited from VuoRendererItem | |
static void | addRoundedCorner (QPainterPath &path, bool drawLine, QPointF sharpCornerPoint, qreal radius, bool isTop, bool isLeft) |
Appends a line (or move) and curve to path , to produce a clockwise-wound rounded corner near sharpCornerPoint . More... | |
VuoRendererInputDrawer::VuoRendererInputDrawer | ( | VuoNode * | baseNode, |
VuoRendererSignaler * | signaler | ||
) |
Creates a collapsed "Make List" node that takes the form of an input drawer.
Definition at line 22 of file VuoRendererInputDrawer.cc.
|
protected |
Returns a path representing the drawer.
Definition at line 131 of file VuoRendererInputDrawer.cc.
vector< VuoRendererPort * > VuoRendererInputDrawer::getDrawerPorts | ( | void | ) | const |
Returns the vector of the input ports whose values will be incorporated into the output list.
Definition at line 123 of file VuoRendererInputDrawer.cc.
qreal VuoRendererInputDrawer::getMaxDrawerChainedLabelWidth | ( | void | ) | const |
Returns the maximum width in pixels of the port labels within this drawer, also accounting for the width of the child port as well as any constant flags or collapsed typecasts attached to the child port.
Definition at line 66 of file VuoRendererInputDrawer.cc.
qreal VuoRendererInputDrawer::getMaxDrawerLabelWidth | ( | void | ) | const |
Returns the maximum width in pixels of the port labels within this drawer.
Definition at line 46 of file VuoRendererInputDrawer.cc.
|
protectedvirtual |
Calculates and sets the positions of the node's child ports relative to the node.
Reimplemented from VuoRendererNode.
Definition at line 92 of file VuoRendererInputDrawer.cc.
void VuoRendererInputDrawer::setHorizontalDrawerOffset | ( | qreal | offset | ) |
Sets the distance, in pixels, left of its attached port that the rightmost point of this drawer should be rendered.
Definition at line 38 of file VuoRendererInputDrawer.cc.
|
protected |
The height, in pixels, of the input drawer (excluding the arm and drag handle).
Definition at line 39 of file VuoRendererInputDrawer.hh.
|
static |
The amount of space, in pixels, left as horizontal padding between underhangs of drawers attached to ports of the same node.
Definition at line 31 of file VuoRendererInputDrawer.hh.
|
static |
The amount of horizontal padding, in pixels, added to each drawer beyond what its text strictly requires.
Definition at line 30 of file VuoRendererInputDrawer.hh.
|
protected |
The vector of input ports whose values will be incorporated into the output list.
Definition at line 37 of file VuoRendererInputDrawer.hh.
|
protected |
The distance, in pixels, left of its attached port that the rightmost point of this drawer should be rendered.
Definition at line 38 of file VuoRendererInputDrawer.hh.