Vuo
1.2.0
|
A published input or output port.
Public Member Functions | |
VuoRendererPublishedPort (VuoPublishedPort *basePublishedPort, bool isPublishedOutput) | |
Creates a renderer detail for the specified base published port. | |
void | setName (string name) |
Sets the published port's name. | |
bool | canAccommodateInternalPort (VuoRendererPort *internalPort, bool eventOnlyConnection) |
Returns a boolean indicating whether a new internalPort may be attached to/from this externally visible published port without displacing any currently connected internal data ports. | |
bool | isCompatibleAliasWithoutSpecializationForInternalPort (VuoRendererPort *port, bool eventOnlyConnection) |
Returns a boolean indicating whether a cable may be attached directly between this externally visible published port and the input internalPort , taking into account the respective port types (input vs. | |
bool | isCompatibleAliasWithSpecializationForInternalPort (VuoRendererPort *port, bool eventOnlyConnection) |
Returns a boolean indicating whether there may be a cable attached directly between this externally visible published port and the input internalPort , taking into account the respective port types (input vs. | |
bool | isCompatibleAliasWithSpecializationForInternalPort (VuoRendererPort *internalPort, bool eventOnlyConnection, VuoRendererPort **portToSpecialize, string &specializedTypeName) |
Returns a boolean indicating whether the provided cable may be attached directly between this externally visible published port and the input internalPort , taking into account the respective port types (input vs. | |
bool | canBeMergedWith (VuoPublishedPort *otherExternalPort, bool mergeWillAddData) |
Returns a boolean indicating whether the otherExternalPort may be merged with this one, taking into account the respective port types (event-only vs. | |
QPoint | getCompositionViewportPos (void) const |
Returns the location of the rendered sidebar published port, in coordinates relative to the composition viewport. | |
void | setCompositionViewportPos (QPoint pos) |
Sets the location of the rendered sidebar published port, in coordinates relative to the composition viewport. | |
void | setCurrentlyActive (bool active) |
Sets a boolean indicating whether this published port will be painted against an active item background within the published port sidebar. | |
bool | getCurrentlyActive () |
Returns the boolean indicating whether this published port will be painted against an active item background within the published port sidebar. | |
![]() | |
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. | |
VuoCable * | getCableConnectedTo (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. | |
VuoRendererInputDrawer * | getAttachedInputDrawer (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. | |
virtual QRectF | getPortConstantTextRect (void) const |
Returns a rect enclosing the string representation of the port's constant value. | |
VuoType * | getDataType (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. | |
VuoRendererNode * | getUnderlyingParentNode (void) const |
Returns a pointer to the node to which this port belongs in the underlying Graphviz (.dot/.vuo) representation of the composition. | |
VuoRendererNode * | getRenderedParentNode (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. | |
VuoRendererPort * | getTypecastParentPort () 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. | |
![]() | |
VuoBaseDetail (string description, VuoPort *base) | |
Creates a VuoNode detail class. | |
VuoPort * | getBase (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. | |
Protected Member Functions | |
QPainterPath | getWirelessAntennaPath () const |
Returns the path of the antenna that represents any connected wireless cables, or an empty path if not applicable. | |
![]() | |
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. | |
VuoRendererInputDrawer * | getAttachedInputDrawerRenderedWithHostPort (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. | |
VuoRendererInputAttachment * | getUnderlyingInputAttachment (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. | |
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. | |
![]() | |
void | drawBoundingRect (QPainter *painter) |
Draws this item's bounding rect, for debugging. | |
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. | |
bool | getRenderHiddenCables () const |
Retrieves the composition-wide boolean indicating whether hidden ("wireless") cables should be rendered as if they were not hidden. | |
QGraphicsItem::CacheMode | getCurrentDefaultCacheMode () const |
Returns the current default cache mode for components of this composition. | |
Additional Inherited Members | |
![]() | |
enum | activityState { notTrackingActivity = -1, activityInProgress = 0 } |
Special composition component activity states. More... | |
![]() | |
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 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. | |
![]() | |
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 . | |
![]() | |
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. | |
VuoRendererSignaler * | signaler |
The Qt signaler used by this port. | |
VuoRendererPublishedPort::VuoRendererPublishedPort | ( | VuoPublishedPort * | basePublishedPort, |
bool | isPublishedOutput | ||
) |
Creates a renderer detail for the specified base published port.
bool VuoRendererPublishedPort::canAccommodateInternalPort | ( | VuoRendererPort * | internalPort, |
bool | eventOnlyConnection | ||
) |
Returns a boolean indicating whether a new internalPort
may be attached to/from this externally visible published port without displacing any currently connected internal data ports.
If eventOnlyConnection
is true, the potential connection will be evaluated as an event-only connection, regardless of whether the connected ports themselves carry data.
bool VuoRendererPublishedPort::canBeMergedWith | ( | VuoPublishedPort * | otherExternalPort, |
bool | mergeWillAddData | ||
) |
Returns a boolean indicating whether the otherExternalPort
may be merged with this one, taking into account the respective port types (event-only vs.
event+data; respective data types), without displacing any currently connected internal data ports. The mergeWillAddData
input should indicate whether the otherExternalPort
is expected to have connected data sources.
Assumes that the provided externalOtherPort
is of the same input/output type as this port, since published ports of mismatched input/output types would never be merged.
QPoint VuoRendererPublishedPort::getCompositionViewportPos | ( | void | ) | const |
Returns the location of the rendered sidebar published port, in coordinates relative to the composition viewport.
bool VuoRendererPublishedPort::getCurrentlyActive | ( | ) |
Returns the boolean indicating whether this published port will be painted against an active item background within the published port sidebar.
|
protectedvirtual |
Returns the path of the antenna that represents any connected wireless cables, or an empty path if not applicable.
Reimplemented from VuoRendererPort.
bool VuoRendererPublishedPort::isCompatibleAliasWithoutSpecializationForInternalPort | ( | VuoRendererPort * | internalPort, |
bool | eventOnlyConnection | ||
) |
Returns a boolean indicating whether a cable may be attached directly between this externally visible published port and the input internalPort
, taking into account the respective port types (input vs.
output; event-only vs. event+data; respective data types).
If eventOnlyConnection
is true, the potential connection will be evaluated as an event-only connection, regardless of whether the connected ports themselves carry data.
If the connection would require one or both ports to be specialized, returns false. (But see VuoRendererPublishedPort::isCompatibleAliasWithSpecializationForInternalPort
(...).)
bool VuoRendererPublishedPort::isCompatibleAliasWithSpecializationForInternalPort | ( | VuoRendererPort * | internalPort, |
bool | eventOnlyConnection | ||
) |
Returns a boolean indicating whether there may be a cable attached directly between this externally visible published port and the input internalPort
, taking into account the respective port types (input vs.
output; event-only vs. event+data; respective data types), and the possibility that one port may be specialized in preparation for the connection.
If eventOnlyConnection
is true, the potential connection will be evaluated as an event-only connection, regardless of whether the connected ports themselves carry data.
Convenience function for VuoRendererPublishedPort::isCompatibleAliasWithSpecializationForInternalPort(VuoRendererPort *internalPort, VuoRendererPort **portToSpecialize, string &specializedTypeName), for use when only the returned boolean and none of the other output parameter values are needed.
bool VuoRendererPublishedPort::isCompatibleAliasWithSpecializationForInternalPort | ( | VuoRendererPort * | internalPort, |
bool | eventOnlyConnection, | ||
VuoRendererPort ** | portToSpecialize, | ||
string & | specializedTypeName | ||
) |
Returns a boolean indicating whether the provided cable
may be attached directly between this externally visible published port and the input internalPort
, taking into account the respective port types (input vs.
output; event-only vs. event+data; respective data types), and the possibility that one port may be specialized in preparation for the connection.
If eventOnlyConnection
is true, the potential connection will be evaluated as an event-only connection, regardless of whether the connected ports themselves carry data.
void VuoRendererPublishedPort::setCompositionViewportPos | ( | QPoint | pos | ) |
Sets the location of the rendered sidebar published port, in coordinates relative to the composition viewport.
void VuoRendererPublishedPort::setCurrentlyActive | ( | bool | active | ) |
Sets a boolean indicating whether this published port will be painted against an active item background within the published port sidebar.
void VuoRendererPublishedPort::setName | ( | string | name | ) |
Sets the published port's name.