Vuo  2.3.2
Public Member Functions | List of all members
VuoRendererInputListDrawer Class Reference

Description

Represents the resizable, compact form of a "Make List" node.

Definition at line 17 of file VuoRendererInputListDrawer.hh.

Public Member Functions

 VuoRendererInputListDrawer (VuoNode *baseNode, VuoRendererSignaler *signaler)
 Creates a collapsed "Make List" node, which takes the form of an input drawer. More...
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 Draws a collapsed "Make List" node. More...
 
QRectF boundingRect (void) const
 Returns the bounding rectangle of this collapsed "Make List" node. More...
 
QRectF getOuterNodeFrameBoundingRect (void) const
 Returns the bounding rect for just the drawer, not including the drag handle. More...
 
QPainterPath shape () const
 Returns the shape of the rendered "Make List" node, for use in collision detection, hit tests, and QGraphicsScene::items() functions. More...
 
void updateGeometry ()
 Schedules a redraw of this drawer. More...
 
QRectF getExtendedDragHandleRect () const
 Returns a rectangle encompassing the drag handle's extended hover and drag range. More...
 
void setDragInProgress (bool inProgress)
 Sets the boolean indicating whether this node's drag handle is currently being dragged. More...
 
void extendedHoverEnterEvent (QPointF scenePos)
 Handle mouse hover start events. More...
 
void extendedHoverMoveEvent (QPointF scenePos)
 Handle mouse hover move events. More...
 
void extendedHoverLeaveEvent ()
 Handle mouse hover leave events. More...
 
- Public Member Functions inherited from VuoRendererInputDrawer
 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...
 
VuoPortgetUnderlyingHostPort ()
 Returns the input port to which this item is attached in the underlying composition. More...
 
VuoNodegetUnderlyingHostNode ()
 Returns the node to which this item is attached in the underlying composition. More...
 
virtual VuoPortgetRenderedHostPort ()
 Returns the input port to which this item is visually attached in the rendered composition. More...
 
virtual VuoNodegetRenderedHostNode ()
 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...
 
bool isEffectivelySelected (void) override
 Returns a boolean indicating whether the attachment should be rendered as if it is selected. More...
 
- Public Member Functions inherited from VuoRendererNode
 VuoRendererNode (VuoNode *baseNode, VuoRendererSignaler *signaler)
 Creates a renderer detail for the specified base node. 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...
 
VuoRendererNodegetProxyNode (void) const
 Returns this node's rendering proxy. More...
 
VuoRendererTypecastPortgetProxyCollapsedTypecast (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...
 
VuoNodegetBase (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...
 

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 Public Attributes inherited from VuoRendererInputDrawer
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 inherited from VuoRendererInputDrawer
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...
 
- Static Protected Member Functions inherited from VuoRendererInputAttachment
static VuoPortgetUnderlyingHostPortForNode (VuoNode *node)
 Returns the input port to which the provided node is attached in the underlying composition. More...
 
static VuoNodegetUnderlyingHostNodeForNode (VuoNode *node)
 Returns the node to which the provided node is attached in the underlying composition. More...
 
static VuoNodegetListNodeConnectedToInputPort (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...
 
- Protected Attributes inherited from VuoRendererInputDrawer
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
VuoRendererSignalersignaler
 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...
 

Constructor & Destructor Documentation

◆ VuoRendererInputListDrawer()

VuoRendererInputListDrawer::VuoRendererInputListDrawer ( VuoNode baseNode,
VuoRendererSignaler signaler 
)

Creates a collapsed "Make List" node, which takes the form of an input drawer.

Definition at line 17 of file VuoRendererInputListDrawer.cc.

Member Function Documentation

◆ boundingRect()

QRectF VuoRendererInputListDrawer::boundingRect ( void  ) const
virtual

Returns the bounding rectangle of this collapsed "Make List" node.

Reimplemented from VuoRendererNode.

Definition at line 95 of file VuoRendererInputListDrawer.cc.

◆ extendedHoverEnterEvent()

void VuoRendererInputListDrawer::extendedHoverEnterEvent ( QPointF  scenePos)

Handle mouse hover start events.

Definition at line 160 of file VuoRendererInputListDrawer.cc.

◆ extendedHoverLeaveEvent()

void VuoRendererInputListDrawer::extendedHoverLeaveEvent ( )

Handle mouse hover leave events.

Definition at line 180 of file VuoRendererInputListDrawer.cc.

◆ extendedHoverMoveEvent()

void VuoRendererInputListDrawer::extendedHoverMoveEvent ( QPointF  scenePos)

Handle mouse hover move events.

Definition at line 170 of file VuoRendererInputListDrawer.cc.

◆ getExtendedDragHandleRect()

QRectF VuoRendererInputListDrawer::getExtendedDragHandleRect ( ) const

Returns a rectangle encompassing the drag handle's extended hover and drag range.

Definition at line 152 of file VuoRendererInputListDrawer.cc.

◆ getOuterNodeFrameBoundingRect()

QRectF VuoRendererInputListDrawer::getOuterNodeFrameBoundingRect ( void  ) const
virtual

Returns the bounding rect for just the drawer, not including the drag handle.

Reimplemented from VuoRendererNode.

Definition at line 280 of file VuoRendererInputListDrawer.cc.

◆ paint()

void VuoRendererInputListDrawer::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  option,
QWidget *  widget 
)
virtual

Draws a collapsed "Make List" node.

The node is drawn with (0,0) as the top left inner margin, so you should use a QPainter transform if you want to position the node.

Reimplemented from VuoRendererNode.

Definition at line 33 of file VuoRendererInputListDrawer.cc.

◆ setDragInProgress()

void VuoRendererInputListDrawer::setDragInProgress ( bool  inProgress)

Sets the boolean indicating whether this node's drag handle is currently being dragged.

Definition at line 253 of file VuoRendererInputListDrawer.cc.

◆ shape()

QPainterPath VuoRendererInputListDrawer::shape ( void  ) const

Returns the shape of the rendered "Make List" node, for use in collision detection, hit tests, and QGraphicsScene::items() functions.

Definition at line 124 of file VuoRendererInputListDrawer.cc.

◆ updateGeometry()

void VuoRendererInputListDrawer::updateGeometry ( void  )

Schedules a redraw of this drawer.

Definition at line 114 of file VuoRendererInputListDrawer.cc.


The documentation for this class was generated from the following files: