Vuo  1.2.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | List of all members
VuoRendererTypecastPort Class Reference

Description

Renders a typecast port.

Public Member Functions

 VuoRendererTypecastPort (VuoRendererNode *uncollapsedTypecastNode, VuoRendererPort *replacedPort, VuoRendererSignaler *signaler)
 Creates a typecast port.
 
QRectF boundingRect (void) const
 Returns a rectangle containing the rendered typecast port.
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 Displays the typecast port.
 
VuoRendererNodegetUncollapsedTypecastNode (void) const
 Returns the uncollapsed typecast node from which this typecast port was derived.
 
VuoRendererPortgetChildPort (void) const
 Returns the port of the left side of the collapsed typecast port (the original typecast node's input port).
 
VuoRendererPortgetReplacedPort (void) const
 Returns the target port that was replaced by this collapsed typecast.
 
qreal getChildPortXOffset (void) const
 Returns the number of pixels between the center of basePort and childPort.
 
QPainterPath getPortPath (bool includeNormalPort, bool includeFlag, QPainterPath *outsetPath) const
 Returns a closed path representing the collapsed typecast port's frame.
 
QRectF getPortConstantTextRect (void) const
 Returns a rect enclosing the string representation of the port's typecast title.
 
- Public Member Functions inherited from VuoRendererPort
 VuoRendererPort (VuoPort *basePort, VuoRendererSignaler *signaler, bool isOutput, bool isRefreshPort, bool isFunctionPort)
 Creates a renderer detail for the specified base port.
 
QRectF boundingRect (void) const
 Returns the bounding rectangle of this port (and its optional name and plug).
 
QRectF getNameRect (void) const
 Returns the cached bounding box of the port's label.
 
bool hasPortAction (void) const
 Returns true if this port has a port action.
 
QRectF getActionIndicatorRect (void) const
 Returns the bounding rectangle of the port action symbol.
 
QPainterPath shape (void) const
 Returns the shape of the rendered port, for use in collision detection, hit tests, and QGraphicsScene::items() functions.
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
 Draws an input or output port (both standard ports and refresh/function ports).
 
bool getEligibleForSelection (void)
 Returns a boolean indicating whether this port has been deemed eligible for selection based on its proximity to the cursor.
 
bool isEligibleForConnection (void)
 Returns a boolean indicating whether this port is eligible for direct or typecast-assisted connection to the cable currently being dragged between ports.
 
void setEligibleForDirectConnection (bool eligible)
 Sets the boolean indicating whether this port is eligible for direct connection to the cable currently being dragged between ports.
 
void setEligibleForConnectionViaTypecast (bool eligible)
 Sets the boolean indicating whether this port is eligible for typecast-assisted connection to the cable currently being dragged between ports.
 
void extendedHoverEnterEvent (bool cableDragUnderway=false, bool disableConnectedCableHighlight=false)
 Handle mouse hover start events generated by custom code making use of an extended hover range.
 
void extendedHoverMoveEvent (bool cableDragUnderway=false, bool disableConnectedCableHighlight=false)
 Handle mouse hover move events generated by custom code making use of an extended hover range.
 
void extendedHoverLeaveEvent ()
 Handle mouse hover leave events generated by custom code making use of an extended hover range.
 
bool canConnectDirectlyWithoutSpecializationTo (VuoRendererPort *toPort, bool eventOnlyConnection)
 Returns a boolean indicating whether there may be a cable attached directly from this port to toPort, taking into account the respective port types (input vs.
 
bool canConnectDirectlyWithSpecializationTo (VuoRendererPort *toPort, bool eventOnlyConnection)
 Returns a boolean indicating whether there may be a cable attached directly from this port to toPort, taking into account the respective port types (input vs.
 
bool canConnectDirectlyWithSpecializationTo (VuoRendererPort *toPort, bool eventOnlyConnection, VuoRendererPort **portToSpecialize, string &specializedTypeName)
 Returns a boolean indicating whether there may be a cable attached directly from this port to toPort, taking into account the respective port types (input vs.
 
VuoCablegetCableConnectedTo (VuoRendererPort *toPort)
 Returns the cable connecting this port to toPort, or NULL if not applicable.
 
bool getInput (void) const
 Returns a boolean indicating whether this port is an input port.
 
bool getOutput (void) const
 Returns a boolean indicating whether this port is an output port.
 
bool getRefreshPort (void) const
 Returns true if this port is a refresh port.
 
bool getFunctionPort (void) const
 Returns true if this port is a function port.
 
void updateNameRect (void)
 Updates the cached bounding box of the port's label.
 
void updateGeometry ()
 Schedules a redraw of this port.
 
QVariant itemChange (GraphicsItemChange change, const QVariant &value)
 Updates the port to reflect changes in state.
 
qreal getInset (void) const
 Returns the inset that should be passed to getPortPath.
 
QPainterPath getPortPath (qreal inset) const
 Returns a closed path representing the port's circle/triangle.
 
void updatePortConstantPath ()
 Calculates and updates the cached constant path for this port based on its current attributes.
 
VuoRendererInputDrawergetAttachedInputDrawer (void) const
 Returns the input drawer that is rendered as if it is attached to this port (whether or not it is in the underlying composition), or NULL if none.
 
VuoTypegetDataType (void) const
 Returns the data type associated with this port, or NULL if there is no associated data type.
 
bool isConstant (void) const
 Returns true if this port has a constant data value.
 
bool effectivelyHasConnectedDataCable (bool includePublishedCables) const
 Returns true if this port has a connected cable that effectively carries data.
 
string getConstantAsString (void) const
 Returns the string representation of this port's constant data value, or an empty string if it has none.
 
string getConstantAsStringToRender (void) const
 Returns the string representation of this port's constant data value as it should be rendered in its constant data flag, or an empty string if it has no currently assigned constant data value.
 
string getStringForRealValue (double value) const
 Given a real number, returns the string representation of the number as it should be rendered within a constant data flag.
 
void setConstant (string constantValue)
 Sets this port's constant data value to that represented by the provided constantValue string.
 
string getPortNameToRender () const
 Returns the name of the port as it should be rendered.
 
string getPortNameToRenderWhenDisplayed () const
 Returns the name of the port as it should be rendered when it is to be rendered at all.
 
void setPortNameToRender (string name)
 Sets the name of the port as it should be rendered.
 
bool getPublishable () const
 Returns a boolean indicating whether this port is publishable.
 
vector
< VuoRendererPublishedPort * > 
getPublishedPorts () const
 Returns a vector of pointers to the externally visible published ports connected to this port.
 
vector
< VuoRendererPublishedPort * > 
getPublishedPortsConnectedByDataCarryingCables (void) const
 Returns a vector of pointers to the externally visible published ports connected to this port by data-carrying cables.
 
VuoNode::TintColor getPortTint () const
 Returns the tint color to be used in rendering the port shape.
 
VuoRendererNodegetUnderlyingParentNode (void) const
 Returns a pointer to the node to which this port belongs in the underlying Graphviz (.dot/.vuo) representation of the composition.
 
VuoRendererNodegetRenderedParentNode (void) const
 Returns a pointer to the node currently rendered as this port's parent.
 
set< VuoRendererInputAttachment * > getAllUnderlyingUpstreamInputAttachments (void) const
 Returns a set containing the input attachments connected directly or indirectly to this port in the underlying composition.
 
set< VuoRendererPort * > getPortsConnectedWirelessly (bool includePublishedCables) const
 Returns the set of ports that have antennas connected by wireless cable to this one.
 
VuoRendererPortgetTypecastParentPort () const
 Returns this port's typecast parent port, or NULL if it has none.
 
void setTypecastParentPort (VuoRendererPort *typecastParentPort)
 Sets this port's typecast parent port.
 
bool supportsDisconnectionByDragging (void)
 Returns a boolean indicating whether this port supports cable disconnection by dragging from the port.
 
void resetTimeLastEventFired ()
 Resets the time that the last event was fired to a value that causes the port to be painted as if activity-rendering were disabled.
 
void setFiredEvent ()
 Updates the port's state to indicate that it has just fired an event.
 
void setFadePercentageSinceEventFired (qreal percentage)
 Updates the port's state to indicate that it fired an event at such a time that its fade percentage should now be equal to percentage.
 
void setCacheModeForPortAndChildren (QGraphicsItem::CacheMode mode)
 Sets the cache mode of this port, and any child ports, to mode.
 
vector< QGraphicsItemAnimation * > getAnimations ()
 Returns the 'Show Events'-mode animations associated with this port.
 
void setAnimated (bool animated)
 Sets the boolean indicating whether this port is an animation, and not itself a component of the base composition.
 
- Public Member Functions inherited from VuoBaseDetail< VuoPort >
 VuoBaseDetail (string description, VuoPort *base)
 Creates a VuoNode detail class.
 
VuoPortgetBase (void) const
 Returns the VuoNode detail class instance's base class instance.
 
void setBase (VuoPort *base)
 Sets the VuoNode detail class instance's base class instance.
 

Static Public Member Functions

static QString getTypecastTitleForPorts (QString typecastSourcePort, QString typecastDestinationPort, bool inMenu)
 Returns the title string for a typecast node having the provided typecastSourceType and typecastDestinationType port class names.
 
- Static Public Member Functions inherited from VuoRendererPort
static QPainterPath getPortConstantPath (QRectF innerPortRect, QString text, QPainterPath *outsetPath, bool isTypecast=false)
 Returns a path representing the frame of a port constant.
 
static QRectF getPortRect (void)
 Returns a rectangle encompassing the port's circle.
 
static QString getPortIdentifierRegExp ()
 Returns a string representation of the regular expression that describes valid port identifiers.
 
static QString sanitizePortIdentifier (QString portID)
 Sanitizes the provided portID to meet the requirements of a valid port identifier.
 
- Static Public Member Functions inherited from VuoRendererItem
static void setSnapToGrid (bool snap)
 Specifies whether graphics items should be snapped to a grid.
 
static void setDrawBoundingRects (bool drawBoundingRects)
 Specifies whether bounding rects will be shown the next time the QGraphicsScene is rendered.
 
static void drawRect (QPainter *painter, QRectF rect)
 Draws a rect, for debugging.
 
static bool getSnapToGrid ()
 Retrieves the boolean indicating whether graphics items should be snapped to a grid.
 

Additional Inherited Members

- Public Types inherited from VuoRendererItem
enum  activityState { notTrackingActivity = -1, activityInProgress = 0 }
 Special composition component activity states. More...
 
- Static Public Attributes inherited from VuoRendererPort
static const qreal portRadius = VuoRendererFonts::thickPenWidth*0.3625
 Radius, in pixels at 1:1 zoom, of a circular port.
 
static const qreal portSpacing = VuoRendererFonts::thickPenWidth*3.0/4.0
 Vertical distance, in pixels at 1:1 zoom, between the center points of two ports.
 
static const qreal portContainerMargin = VuoRendererFonts::thickPenWidth / 6.
 Vertical distance, in pixels at 1:1 zoom, between the outer edge of the first/last port and the node frame rect.
 
static const qreal portInset = 1.4
 The vertical and horizontal inset used when rendering a circular or refresh port shape within its outer port rect.
 
static const qreal portInsetTriangular = 2.4
 The vertical and horizontal inset used when rendering a triangular port shape (in the node body) within its outer port rect.
 
static const qreal constantFlagHeight = VuoRendererFonts::thickPenWidth*0.6
 Height, in pixels at 1:1 zoom, of a constant flag.
 
- Protected Member Functions inherited from VuoRendererPort
void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event)
 Handle mouse double-click events.
 
void keyPressEvent (QKeyEvent *event)
 Handle key-press events.
 
bool portNameRenderingEnabled (void) const
 Returns a boolean indicating whether the port name should be rendered along with this port, taking into account the port's own attributes as well as whether the port will be rendered within a published port sidebar.
 
void updateEnabledStatus ()
 Determines whether this port will accept mouse events based on the port's current attributes.
 
VuoRendererInputDrawergetAttachedInputDrawerRenderedWithHostPort (const VuoRendererPort *port) const
 Returns the input drawer that is rendered as if it is attached to targetHostPort (whether or not it is in the underlying composition), or NULL if none.
 
VuoRendererInputAttachmentgetUnderlyingInputAttachment (void) const
 Returns the input drawer attached to this port in the underlying composition (whether or not it is rendered as if it is), or NULL if none.
 
QRectF getEventBarrierRect (void) const
 Returns a rectangle encompassing the port's event barrier.
 
QPainterPath getFunctionPortGlyph (void) const
 Returns a path representing the glyph for function ports.
 
virtual QPainterPath getWirelessAntennaPath () const
 Returns the path of the antenna that represents any connected wireless cables, or an empty path if not applicable.
 
bool hasConnectedWirelessDataCable (bool includePublishedCables) const
 Returns true if this port has a connected data+event cable that should currently be rendered wirelessly.
 
bool hasConnectedWirelessEventCable (bool includePublishedCables) const
 Returns true if this port has a connected event-only cable that should currently be rendered wirelessly.
 
VuoNode::TintColor getWirelessAntennaTint () const
 Returns the tint color of the wireless antenna.
 
void paintPortName (QPainter *painter, VuoRendererColors *colors)
 Paints the port's label.
 
void paintEventBarrier (QPainter *painter, VuoRendererColors *colors)
 Paints the port's event wall or door.
 
void paintActionIndicator (QPainter *painter, VuoRendererColors *colors)
 Draws the port action symbol (a triangle to the right of the port name) if this port has a port action.
 
void paintWirelessAntenna (QPainter *painter, VuoRendererColors *colors)
 Draws the wireless antenna to represent any wireless cables connected to this port.
 
string getDefaultPortNameToRender ()
 Returns the default display name of the port.
 
string getPointStringForCoords (QList< double >) const
 Given a list of coordinates, returns the string representation of the point consisting of those coordinate values as it should be rendered within a constant data flag.
 
- Static Protected Member Functions inherited from VuoRendererPort
static QRectF getPortConstantTextRectForText (QString text)
 Returns a rect enclosing the specified text.
 
static QPainterPath getPortPath (qreal inset, VuoPortClass::PortType portType, bool isInputPort, bool carriesData)
 Returns a closed path representing the circle/triangle for a port with type portType.
 
- Protected Attributes inherited from VuoRendererPort
bool isRefreshPort
 Is this port a refresh port?
 
QRectF nameRect
 The bounding box of the port's label when rendered on the canvas.
 
string customizedPortName
 The name of the port as it should be rendered.
 
VuoRendererSignalersignaler
 The Qt signaler used by this port.
 

Constructor & Destructor Documentation

VuoRendererTypecastPort::VuoRendererTypecastPort ( VuoRendererNode uncollapsedTypecastNode,
VuoRendererPort replacedPort,
VuoRendererSignaler signaler 
)

Creates a typecast port.

Parameters
uncollapsedTypecastNodeThe uncollapsed typecast node that this collapsed typecast port represents.
replacedPortThe host input port replaced by this collapsed typecast.
signalerThe signaler object, for sending Qt change notifications.

Member Function Documentation

QRectF VuoRendererTypecastPort::boundingRect ( void  ) const

Returns a rectangle containing the rendered typecast port.

VuoRendererPort * VuoRendererTypecastPort::getChildPort ( void  ) const

Returns the port of the left side of the collapsed typecast port (the original typecast node's input port).

qreal VuoRendererTypecastPort::getChildPortXOffset ( void  ) const

Returns the number of pixels between the center of basePort and childPort.

QRectF VuoRendererTypecastPort::getPortConstantTextRect ( void  ) const
virtual

Returns a rect enclosing the string representation of the port's typecast title.

Reimplemented from VuoRendererPort.

QPainterPath VuoRendererTypecastPort::getPortPath ( bool  includeNormalPort,
bool  includeFlag,
QPainterPath *  outsetPath 
) const

Returns a closed path representing the collapsed typecast port's frame.

VuoRendererPort * VuoRendererTypecastPort::getReplacedPort ( void  ) const

Returns the target port that was replaced by this collapsed typecast.

QString VuoRendererTypecastPort::getTypecastTitleForPorts ( QString  typecastSourcePort,
QString  typecastDestinationPort,
bool  inMenu 
)
static

Returns the title string for a typecast node having the provided typecastSourceType and typecastDestinationType port class names.

If inMenu is true, returns the title as it should be rendered in a menu of typecast options. Otherwise, returns the title as it should be rendered on canvas.

VuoRendererNode * VuoRendererTypecastPort::getUncollapsedTypecastNode ( void  ) const

Returns the uncollapsed typecast node from which this typecast port was derived.

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

Displays the typecast port.


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