+++ /dev/null
-#include <cpBaseQtApplication/Pipeline/Connection.h>\r
-#include <cpBaseQtApplication/Pipeline/Port.h>\r
-\r
-#include <QBrush>\r
-#include <QGraphicsScene>\r
-#include <QPainter>\r
-#include <QPen>\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::Connection::\r
-Connection( QGraphicsItem* parent, QGraphicsScene* scene )\r
- : Superclass( parent, scene )\r
-{\r
- this->setPen( QPen( Qt::black, 2 ) );\r
- this->setBrush( Qt::NoBrush );\r
- this->setZValue( -1 );\r
- this->m_Port1 = NULL;\r
- this->m_Port2 = NULL;\r
- this->setFlag( QGraphicsItem::ItemIsSelectable );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::Connection::\r
-~Connection( )\r
-{\r
- if( this->m_Port1 != NULL )\r
- this->m_Port1->removeConnection( this );\r
- if( this->m_Port2 != NULL )\r
- this->m_Port2->removeConnection( this );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-setPos1( const QPointF& p )\r
-{\r
- this->m_Pos1 = p;\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-setPos2( const QPointF& p )\r
-{\r
- this->m_Pos2 = p;\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-setPort1( OutputPort* p )\r
-{\r
- if( p != NULL )\r
- {\r
- p->connections( ).push_back( this );\r
- this->m_Port1 = p;\r
-\r
- } // fi\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-setPort2( InputPort* p )\r
-{\r
- if( p != NULL )\r
- {\r
- p->setConnection( this );\r
- this->m_Port2 = p;\r
-\r
- } // fi\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-updatePosFromPorts( )\r
-{\r
- if( this->m_Port1 != NULL )\r
- this->m_Pos1 =\r
- this->m_Port1->scenePos( ) +\r
- QPointF( this->m_Port1->radius( ), this->m_Port1->radius( ) );\r
- if( this->m_Port2 != NULL )\r
- this->m_Pos2 =\r
- this->m_Port2->scenePos( ) +\r
- QPointF( this->m_Port2->radius( ), this->m_Port2->radius( ) );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-updatePath( )\r
-{\r
- QPainterPath p;\r
- p.moveTo( this->m_Pos1 );\r
-\r
- qreal dx = this->m_Pos2.x( ) - this->m_Pos1.x( );\r
- qreal dy = this->m_Pos2.y( ) - this->m_Pos1.y( );\r
- QPointF c1( this->m_Pos1.x( ) + dx * 0.25, this->m_Pos1.y( ) + dy * 0.1 );\r
- QPointF c2( this->m_Pos1.x( ) + dx * 0.75, this->m_Pos1.y( ) + dy * 0.9 );\r
- p.cubicTo( c1, c2, this->m_Pos2 );\r
-\r
- this->setPath( p );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::OutputPort*\r
-cpBaseQtApplication::Pipeline::Connection::\r
-port1( ) const\r
-{\r
- return( this->m_Port1 );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-cpBaseQtApplication::Pipeline::InputPort*\r
-cpBaseQtApplication::Pipeline::Connection::\r
-port2( ) const\r
-{\r
- return( this->m_Port2 );\r
-}\r
-\r
-// -------------------------------------------------------------------------\r
-void cpBaseQtApplication::Pipeline::Connection::\r
-paint(\r
- QPainter* painter,\r
- const QStyleOptionGraphicsItem* option,\r
- QWidget* widget\r
- )\r
-{\r
- Q_UNUSED( option );\r
- Q_UNUSED( widget );\r
-\r
- if( this->isSelected( ) )\r
- painter->setPen( QPen( Qt::red, 5 ) );\r
- else\r
- painter->setPen( QPen( Qt::black, 2 ) );\r
- this->setBrush( Qt::NoBrush );\r
- painter->drawPath( this->path( ) );\r
-}\r
-\r
-// eof - $RCSfile$\r