Base class for all OpenTwin GraphicsItems GraphicsItems should be created by the GraphicsFactory and be setup from the corresponding configuration. More...
#include "GraphicsItem.h"
Public Types | |
enum | GraphicsItemEvent { ItemMoved , ItemResized } |
The GraphicsItemEvent is used to describe the type of an event that occured. More... | |
Public Types inherited from ot::GraphicsElement | |
enum | GraphicsElementState { NoState = 0x00 , HoverState = 0x01 , SelectedState = 0x02 } |
The GraphicsElementState is used to describe the current state of a GraphicsElement. More... | |
typedef Flags< GraphicsElementState > | GraphicsElementStateFlags |
Public Member Functions | |
GraphicsItem (GraphicsItemCfg *_configuration) | |
Constructor. | |
virtual | ~GraphicsItem () |
Destructor. | |
virtual void | callPaint (QPainter *_painter, const QStyleOptionGraphicsItem *_opt, QWidget *_widget)=0 |
Calls QGraphicsItem::paint(). | |
virtual QGraphicsLayoutItem * | getQGraphicsLayoutItem (void)=0 |
Returns the QGraphicsLayoutItem. | |
virtual void | prepareGraphicsItemGeometryChange (void)=0 |
Calls QGraphicsLayoutItem::prepareGeometryChange(). | |
virtual QSizeF | graphicsItemSizeHint (Qt::SizeHint _hint, const QSizeF &_constrains) const =0 |
Calls QGraphicsLayoutItem::sizeHint(). | |
virtual bool | setupFromConfig (const GraphicsItemCfg *_cfg) |
Will setup the item from the provided configuration and store a copy. The previously stored configuration will be destroyed. Default 0. | |
virtual void | graphicsItemEventHandler (GraphicsItem *_sender, GraphicsItemEvent _event) |
Will be called when this item was registered as an event handler and the child raised an event. | |
virtual void | graphicsItemFlagsChanged (const GraphicsItemCfg::GraphicsItemFlags &_flags) |
Will be called whenever the GraphicsItem flags have changed. | |
virtual void | graphicsItemConfigurationChanged (const GraphicsItemCfg *_config) |
Will be called whenever the GraphicsItem configuration has changed. | |
virtual ot::GraphicsItem * | findItem (const std::string &_itemName) |
Will return any child item that matches the _itemName. | |
virtual void | removeAllConnections (void) |
Removes all connections to or from this item. | |
virtual bool | graphicsItemRequiresHover (void) const |
virtual void | finalizeGraphicsItem (void) |
Will be called after setupFromConfig (i.e. if the item is completely created). Here the item structure is complete and the item may adjust settings that depend on parent items (e.g. Text reference for GraphicsTextItem). Container items must override this method to forward the call to their child items. | |
void | handleMousePressEvent (QGraphicsSceneMouseEvent *_event) |
bool | handleMouseMoveEvent (QGraphicsSceneMouseEvent *_event) |
General event handler for mouse move events. | |
void | handleMouseReleaseEvent (QGraphicsSceneMouseEvent *_event) |
void | handleHoverEnterEvent (QGraphicsSceneHoverEvent *_event) |
void | handleToolTip (QGraphicsSceneHoverEvent *_event) |
void | handleHoverLeaveEvent (QGraphicsSceneHoverEvent *_event) |
QSizeF | handleGetGraphicsItemSizeHint (Qt::SizeHint _hint, const QSizeF &_sizeHint) const |
Will expand the size according to the margins. | |
QRectF | handleGetGraphicsItemBoundingRect (const QRectF &_rect) const |
Calculates the actual bounding rect including margins and requested size. | |
void | handleItemChange (QGraphicsItem::GraphicsItemChange _change, const QVariant &_value) |
Handles general item updates. The selected state will be forwarded to the GraphicsHighlightItem. Position updates will update the connections and call GraphicsItem::graphicsItemEventHandler() with GraphicsItem::ItemMoved. | |
void | handleSetItemGeometry (const QRectF &_geom) |
void | raiseEvent (ot::GraphicsItem::GraphicsItemEvent _event) |
virtual qreal | calculateShortestDistanceToPoint (const QPointF &_pt) const override |
Calculates and returns the shortest distance to the given point. Returns -1 if the distance is invalid (e.g. maximum distance exceeded). | |
QRectF | calculatePaintArea (const QSizeF &_innerSize) |
Calculates the draw rect for the item The inner rect takes into account the item geometry, alignment, margins and the actual inner size. | |
virtual GraphicsScene * | getGraphicsScene (void) const override |
Returns the GraphicsScene this item is placed at. | |
GraphicsItem * | getRootItem (void) |
const GraphicsItem * | getRootItem (void) const |
void | setConfiguration (GraphicsItemCfg *_config) |
Replaces the current configuration with the configuration prvided. The item takes ownership of the configuration. | |
const GraphicsItemCfg *const | getConfiguration (void) const |
Returns the current configuration. | |
void | setGraphicsItemPos (const QPointF &_pos) |
This function will update the position in the configuration and call QGraphicsItem::setPos. | |
void | setGraphicsItemPos (const Point2DD &_pos) |
This function will update the position in the configuration and call QGraphicsItem::setPos. | |
const Point2DD & | getGraphicsItemPos (void) const |
Returns the current position set in the configuration. | |
virtual void | setParentGraphicsItem (GraphicsItem *_itm) |
GraphicsItem * | getParentGraphicsItem (void) const |
void | setGraphicsItemFlag (ot::GraphicsItemCfg::GraphicsItemFlag _flag, bool _active=true) |
Sets the provided flag. | |
void | setGraphicsItemFlags (ot::GraphicsItemCfg::GraphicsItemFlags _flags) |
Replaces the flags with the flags provided. | |
const GraphicsItemCfg::GraphicsItemFlags & | getGraphicsItemFlags (void) const |
Returns the current GraphicsItemFlags set. | |
void | setGraphicsItemUid (const ot::UID &_uid) |
Sets the GraphicsItem UID. | |
const ot::UID & | getGraphicsItemUid (void) const |
virtual void | setGraphicsItemName (const std::string &_name) |
const std::string & | getGraphicsItemName (void) const |
void | setGraphicsItemToolTip (const std::string &_toolTip) |
const std::string & | getGraphicsItemToolTip (void) const |
void | setAdditionalTriggerDistance (const ot::MarginsD &_distance) |
const ot::MarginsD & | getAdditionalTriggerDistance (void) const |
virtual double | getMaxAdditionalTriggerDistance (void) const |
Returns the maximum trigger distance in any direction of this item and its childs. | |
void | setGraphicsItemMinimumSize (double _width, double _height) |
void | setGraphicsItemMinimumSize (const QSizeF &_size) |
QSizeF | getGraphicsItemMinimumSize (void) const |
void | setGraphicsItemMaximumSize (double _width, double _height) |
void | setGraphicsItemMaximumSize (const QSizeF &_size) |
QSizeF | getGraphicsItemMaximumSize (void) const |
void | setGraphicsItemSizePolicy (ot::SizePolicy _policy) |
ot::SizePolicy | getGraphicsItemSizePolicy (void) const |
void | setGraphicsItemAlignment (ot::Alignment _align) |
ot::Alignment | getGraphicsItemAlignment (void) const |
void | setGraphicsItemMargins (const ot::MarginsD &_margins) |
const ot::MarginsD & | getGraphicsItemMargins (void) const |
void | setConnectionDirection (ot::ConnectionDirection _direction) |
ot::ConnectionDirection | getConnectionDirection (void) const |
void | setStringMap (const std::map< std::string, std::string > &_map) |
const std::map< std::string, std::string > & | getStringMap (void) const |
void | setGraphicsItemTransform (const Transform &_transform) |
const Transform & | getGraphicsItemTransform (void) const |
void | setForwardSizeChanges (bool _forward) |
bool | getForwardSizeChanges (void) const |
void | storeConnection (GraphicsConnectionItem *_connection) |
void | forgetConnection (GraphicsConnectionItem *_connection) |
Removes the collection from the list (item will not be destroyed) | |
void | addGraphicsItemEventHandler (ot::GraphicsItem *_handler) |
void | removeGraphicsItemEventHandler (ot::GraphicsItem *_handler) |
QSizeF | applyGraphicsItemMargins (const QSizeF &_size) const |
QSizeF | removeGraphicsItemMargins (const QSizeF &_size) const |
virtual void | setGraphicsItemRequestedSize (const QSizeF &_size) |
const QSizeF & | graphicsItemRequestedSize (void) const |
std::list< ot::GraphicsConnectionCfg > | getConnectionCfgs () |
void | setGraphicsItemSelected (bool _selected) |
bool | getGraphicsItemSelected (void) const |
void | setBlockFlagNotifications (bool _block) |
bool | getBlockFlagNotifications (void) const |
If enabled the item will not call graphicsItemFlagsChanged() when the flags have changed. | |
void | setBlockConfigurationNotifications (bool _block) |
bool | getBlockConfigurationNotifications (void) const |
If enabled the item will not call graphicsItemConfigurationChanged() when the flags have changed. | |
void | setCurrentPosAsMoveStart (void) |
Sets the current item position as move start point. | |
void | notifyMoveIfRequired (void) |
Notifies the view if the items current position changed relative to the move start point. | |
void | parentItemTransformChanged (const QTransform &_parentTransform) |
QRectF | getTriggerBoundingRect (void) const |
Returns the bounding rect in scene coordinates which was expanded by the additional trigger distance according to the config. | |
Public Member Functions inherited from ot::GraphicsElement | |
GraphicsElement () | |
virtual | ~GraphicsElement () |
virtual QGraphicsItem * | getQGraphicsItem (void)=0 |
Returns the QGraphicsItem. | |
virtual const QGraphicsItem * | getQGraphicsItem (void) const =0 |
Returns the const QGraphicsItem. | |
virtual void | setGraphicsScene (GraphicsScene *_scene) |
Set the GraphicsScene this element is placed at. | |
void | setGraphicsElementState (GraphicsElementState _state, bool _active=true) |
Sets the provided state flag. | |
void | setGraphicsElementStateFlags (const GraphicsElementStateFlags &_state) |
Replaces the flags with the flags provided. | |
const GraphicsElementStateFlags & | getGraphicsElementState (void) const |
Returns the current GraphicsItemStateFlags set. | |
virtual std::list< GraphicsElement * > | getAllGraphicsElements (void) |
Returns all graphics elements nested in this element. The result contains this element and all of its childs. | |
virtual std::list< GraphicsElement * > | getAllDirectChildElements (void) |
Static Public Member Functions | |
static Painter2D * | createSelectionBorderPainter (void) |
Creates a StyleRefPainter2D painter referencing ot::ColorStyleValueEntry::GraphicsItemSelectionBorder. The caller takes ownership of the painter. | |
static Painter2D * | createHoverBorderPainter (void) |
Creates a StyleRefPainter2D painter referencing ot::ColorStyleValueEntry::GraphicsItemHoverBorder. The caller takes ownership of the painter. | |
Protected Member Functions | |
virtual void | graphicsElementStateChanged (const GraphicsElementStateFlags &_state) override |
template<class T > | |
T * | getItemConfiguration (void) |
Returns the configuration for the current item. The configuration may be modified. The function will cast the current configuration to the type provided. The method will return 0 if the cast failed. | |
template<class T > | |
const T * | getItemConfiguration (void) const |
Returns the configuration for the current item. The configuration may be modified. The function will cast the current configuration to the type provided. The method will return 0 if the cast failed. | |
virtual void | applyGraphicsItemTransform (void) |
virtual void | notifyChildsAboutTransformChange (const QTransform &_newTransform) |
Base class for all OpenTwin GraphicsItems GraphicsItems should be created by the GraphicsFactory and be setup from the corresponding configuration.
ot::GraphicsItem::GraphicsItem | ( | GraphicsItemCfg * | _configuration | ) |
Constructor.
_configuration | Initial configuration |
_stateFlags | Initial state flags. |
|
virtual |
Destructor.
void ot::GraphicsItem::addGraphicsItemEventHandler | ( | ot::GraphicsItem * | _handler | ) |
QSizeF ot::GraphicsItem::applyGraphicsItemMargins | ( | const QSizeF & | _size | ) | const |
|
protectedvirtual |
QRectF ot::GraphicsItem::calculatePaintArea | ( | const QSizeF & | _innerSize | ) |
Calculates the draw rect for the item The inner rect takes into account the item geometry, alignment, margins and the actual inner size.
|
overridevirtual |
Calculates and returns the shortest distance to the given point. Returns -1 if the distance is invalid (e.g. maximum distance exceeded).
_pt | Point in scene coordinates. |
Reimplemented from ot::GraphicsElement.
|
pure virtual |
Calls QGraphicsItem::paint().
Implemented in ot::CustomGraphicsItem, ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
|
static |
Creates a StyleRefPainter2D painter referencing ot::ColorStyleValueEntry::GraphicsItemHoverBorder. The caller takes ownership of the painter.
|
static |
Creates a StyleRefPainter2D painter referencing ot::ColorStyleValueEntry::GraphicsItemSelectionBorder. The caller takes ownership of the painter.
|
inlinevirtual |
Will be called after setupFromConfig (i.e. if the item is completely created). Here the item structure is complete and the item may adjust settings that depend on parent items (e.g. Text reference for GraphicsTextItem). Container items must override this method to forward the call to their child items.
Reimplemented in ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, ot::GraphicsStackItem, and ot::GraphicsTextItem.
|
virtual |
Will return any child item that matches the _itemName.
_itemName | The name of the item to find. |
Reimplemented in ot::GraphicsGroupItem, ot::GraphicsLayoutItem, and ot::GraphicsStackItem.
void ot::GraphicsItem::forgetConnection | ( | GraphicsConnectionItem * | _connection | ) |
Removes the collection from the list (item will not be destroyed)
const ot::MarginsD & ot::GraphicsItem::getAdditionalTriggerDistance | ( | void | ) | const |
|
inline |
If enabled the item will not call graphicsItemConfigurationChanged() when the flags have changed.
|
inline |
If enabled the item will not call graphicsItemFlagsChanged() when the flags have changed.
|
inline |
Returns the current configuration.
std::list< ot::GraphicsConnectionCfg > ot::GraphicsItem::getConnectionCfgs | ( | ) |
ot::ConnectionDirection ot::GraphicsItem::getConnectionDirection | ( | void | ) | const |
|
inline |
ot::Alignment ot::GraphicsItem::getGraphicsItemAlignment | ( | void | ) | const |
const ot::GraphicsItemCfg::GraphicsItemFlags & ot::GraphicsItem::getGraphicsItemFlags | ( | void | ) | const |
Returns the current GraphicsItemFlags set.
const ot::MarginsD & ot::GraphicsItem::getGraphicsItemMargins | ( | void | ) | const |
QSizeF ot::GraphicsItem::getGraphicsItemMaximumSize | ( | void | ) | const |
QSizeF ot::GraphicsItem::getGraphicsItemMinimumSize | ( | void | ) | const |
const std::string & ot::GraphicsItem::getGraphicsItemName | ( | void | ) | const |
const ot::Point2DD & ot::GraphicsItem::getGraphicsItemPos | ( | void | ) | const |
Returns the current position set in the configuration.
bool ot::GraphicsItem::getGraphicsItemSelected | ( | void | ) | const |
ot::SizePolicy ot::GraphicsItem::getGraphicsItemSizePolicy | ( | void | ) | const |
const std::string & ot::GraphicsItem::getGraphicsItemToolTip | ( | void | ) | const |
const ot::Transform & ot::GraphicsItem::getGraphicsItemTransform | ( | void | ) | const |
const ot::UID & ot::GraphicsItem::getGraphicsItemUid | ( | void | ) | const |
|
overridevirtual |
Returns the GraphicsScene this item is placed at.
Reimplemented from ot::GraphicsElement.
|
protected |
Returns the configuration for the current item. The configuration may be modified. The function will cast the current configuration to the type provided. The method will return 0 if the cast failed.
|
protected |
Returns the configuration for the current item. The configuration may be modified. The function will cast the current configuration to the type provided. The method will return 0 if the cast failed.
|
virtual |
Returns the maximum trigger distance in any direction of this item and its childs.
Reimplemented in ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
|
inline |
|
pure virtual |
Returns the QGraphicsLayoutItem.
Implemented in ot::CustomGraphicsItem, ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
ot::GraphicsItem * ot::GraphicsItem::getRootItem | ( | void | ) |
const ot::GraphicsItem * ot::GraphicsItem::getRootItem | ( | void | ) | const |
const std::map< std::string, std::string > & ot::GraphicsItem::getStringMap | ( | void | ) | const |
QRectF ot::GraphicsItem::getTriggerBoundingRect | ( | void | ) | const |
Returns the bounding rect in scene coordinates which was expanded by the additional trigger distance according to the config.
|
overrideprotectedvirtual |
Reimplemented from ot::GraphicsElement.
Reimplemented in ot::CustomGraphicsItem, ot::GraphicsGroupItem, ot::GraphicsLayoutItem, and ot::GraphicsStackItem.
|
virtual |
Will be called whenever the GraphicsItem configuration has changed.
Reimplemented in ot::GraphicsLayoutItem.
|
inlinevirtual |
Will be called when this item was registered as an event handler and the child raised an event.
Reimplemented in ot::GraphicsStackItem.
|
virtual |
Will be called whenever the GraphicsItem flags have changed.
Reimplemented in ot::GraphicsLayoutItem.
|
inline |
|
virtual |
|
pure virtual |
Calls QGraphicsLayoutItem::sizeHint().
Implemented in ot::GraphicsStackItem, ot::CustomGraphicsItem, ot::GraphicsBoxLayoutItem, ot::GraphicsGridLayoutItem, ot::GraphicsGroupItem, and ot::GraphicsLayoutItemWrapper.
QRectF ot::GraphicsItem::handleGetGraphicsItemBoundingRect | ( | const QRectF & | _rect | ) | const |
Calculates the actual bounding rect including margins and requested size.
_rect | The default item rect (the size should be the prefferred item size) |
QSizeF ot::GraphicsItem::handleGetGraphicsItemSizeHint | ( | Qt::SizeHint | _hint, |
const QSizeF & | _sizeHint ) const |
Will expand the size according to the margins.
void ot::GraphicsItem::handleHoverEnterEvent | ( | QGraphicsSceneHoverEvent * | _event | ) |
void ot::GraphicsItem::handleHoverLeaveEvent | ( | QGraphicsSceneHoverEvent * | _event | ) |
void ot::GraphicsItem::handleItemChange | ( | QGraphicsItem::GraphicsItemChange | _change, |
const QVariant & | _value ) |
Handles general item updates. The selected state will be forwarded to the GraphicsHighlightItem. Position updates will update the connections and call GraphicsItem::graphicsItemEventHandler() with GraphicsItem::ItemMoved.
bool ot::GraphicsItem::handleMouseMoveEvent | ( | QGraphicsSceneMouseEvent * | _event | ) |
General event handler for mouse move events.
void ot::GraphicsItem::handleMousePressEvent | ( | QGraphicsSceneMouseEvent * | _event | ) |
void ot::GraphicsItem::handleMouseReleaseEvent | ( | QGraphicsSceneMouseEvent * | _event | ) |
void ot::GraphicsItem::handleSetItemGeometry | ( | const QRectF & | _geom | ) |
void ot::GraphicsItem::handleToolTip | ( | QGraphicsSceneHoverEvent * | _event | ) |
|
inlineprotectedvirtual |
Reimplemented in ot::GraphicsGroupItem, ot::GraphicsLayoutItem, and ot::GraphicsStackItem.
void ot::GraphicsItem::notifyMoveIfRequired | ( | void | ) |
Notifies the view if the items current position changed relative to the move start point.
void ot::GraphicsItem::parentItemTransformChanged | ( | const QTransform & | _parentTransform | ) |
|
pure virtual |
Calls QGraphicsLayoutItem::prepareGeometryChange().
Implemented in ot::CustomGraphicsItem, ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
void ot::GraphicsItem::raiseEvent | ( | ot::GraphicsItem::GraphicsItemEvent | _event | ) |
|
virtual |
Removes all connections to or from this item.
Reimplemented in ot::GraphicsGroupItem, ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
void ot::GraphicsItem::removeGraphicsItemEventHandler | ( | ot::GraphicsItem * | _handler | ) |
QSizeF ot::GraphicsItem::removeGraphicsItemMargins | ( | const QSizeF & | _size | ) | const |
void ot::GraphicsItem::setAdditionalTriggerDistance | ( | const ot::MarginsD & | _distance | ) |
|
inline |
|
inline |
void ot::GraphicsItem::setConfiguration | ( | GraphicsItemCfg * | _config | ) |
Replaces the current configuration with the configuration prvided. The item takes ownership of the configuration.
void ot::GraphicsItem::setConnectionDirection | ( | ot::ConnectionDirection | _direction | ) |
void ot::GraphicsItem::setCurrentPosAsMoveStart | ( | void | ) |
Sets the current item position as move start point.
|
inline |
void ot::GraphicsItem::setGraphicsItemAlignment | ( | ot::Alignment | _align | ) |
void ot::GraphicsItem::setGraphicsItemFlag | ( | ot::GraphicsItemCfg::GraphicsItemFlag | _flag, |
bool | _active = true ) |
Sets the provided flag.
_flag | Flag to set. |
_active | If true will set the flag, otherwise unset it. |
void ot::GraphicsItem::setGraphicsItemFlags | ( | ot::GraphicsItemCfg::GraphicsItemFlags | _flags | ) |
Replaces the flags with the flags provided.
_flags | Flags to set. |
void ot::GraphicsItem::setGraphicsItemMargins | ( | const ot::MarginsD & | _margins | ) |
void ot::GraphicsItem::setGraphicsItemMaximumSize | ( | const QSizeF & | _size | ) |
|
inline |
void ot::GraphicsItem::setGraphicsItemMinimumSize | ( | const QSizeF & | _size | ) |
|
inline |
|
virtual |
Reimplemented in ot::GraphicsLayoutItem.
void ot::GraphicsItem::setGraphicsItemPos | ( | const Point2DD & | _pos | ) |
This function will update the position in the configuration and call QGraphicsItem::setPos.
void ot::GraphicsItem::setGraphicsItemPos | ( | const QPointF & | _pos | ) |
This function will update the position in the configuration and call QGraphicsItem::setPos.
|
virtual |
Reimplemented in ot::GraphicsLayoutItem, ot::GraphicsLayoutItemWrapper, and ot::GraphicsStackItem.
void ot::GraphicsItem::setGraphicsItemSelected | ( | bool | _selected | ) |
void ot::GraphicsItem::setGraphicsItemSizePolicy | ( | ot::SizePolicy | _policy | ) |
void ot::GraphicsItem::setGraphicsItemToolTip | ( | const std::string & | _toolTip | ) |
void ot::GraphicsItem::setGraphicsItemTransform | ( | const Transform & | _transform | ) |
void ot::GraphicsItem::setGraphicsItemUid | ( | const ot::UID & | _uid | ) |
Sets the GraphicsItem UID.
_uid | UID to set. |
|
inlinevirtual |
Reimplemented in ot::GraphicsLayoutItem.
void ot::GraphicsItem::setStringMap | ( | const std::map< std::string, std::string > & | _map | ) |
|
virtual |
Will setup the item from the provided configuration and store a copy. The previously stored configuration will be destroyed. Default 0.
_cfg | GraphicsItem configuration (Copy will be stored). |
Reimplemented in ot::CustomGraphicsItem, ot::GraphicsArcItem, ot::GraphicsBoxLayoutItem, ot::GraphicsEllipseItem, ot::GraphicsGridLayoutItem, ot::GraphicsGroupItem, ot::GraphicsHBoxLayoutItem, ot::GraphicsInvisibleItem, ot::GraphicsLayoutItem, ot::GraphicsLineItem, ot::GraphicsPixmapItem, ot::GraphicsPolygonItem, ot::GraphicsRectangularItem, ot::GraphicsShapeItem, ot::GraphicsStackItem, ot::GraphicsTextItem, ot::GraphicsTriangleItem, and ot::GraphicsVBoxLayoutItem.
void ot::GraphicsItem::storeConnection | ( | GraphicsConnectionItem * | _connection | ) |