29 #ifndef INTERFACE_APPLICATION_PORTWIDGET_H
30 #define INTERFACE_APPLICATION_PORTWIDGET_H
32 #include <boost/shared_ptr.hpp>
33 #include <boost/tuple/tuple.hpp>
34 #include <boost/tuple/tuple_comparison.hpp>
35 #include <QGraphicsWidget>
36 #include <QPushButton>
49 class PositionProvider;
50 class ConnectionInProgress;
51 class ConnectionFactory;
52 class ClosestPortFinder;
53 class PortActionsMenu;
60 boost::shared_ptr<ConnectionFactory> connectionFactory,
61 boost::shared_ptr<ClosestPortFinder> closestPortFinder, QWidget* parent = 0);
64 QString
name()
const {
return name_; }
65 QColor
color()
const {
return color_; }
66 virtual bool isInput()
const {
return isInput_; }
67 virtual bool isDynamic()
const {
return isDynamic_; }
98 void doMousePress(Qt::MouseButton button,
const QPointF& pos);
99 void doMouseMove(Qt::MouseButtons buttons,
const QPointF& pos);
105 virtual void moveEvent(QMoveEvent * event);
123 void performDrag(
const QPointF& endPos);
124 void makeConnection(
const QPointF& pos);
125 void tryConnectPort(
const QPointF& pos,
PortWidget* port);
133 const std::string typename_;
135 const bool isDynamic_;
141 std::set<ConnectionLine*> connections_;
142 boost::shared_ptr<ConnectionFactory> connectionFactory_;
143 boost::shared_ptr<ClosestPortFinder> closestPortFinder_;
146 typedef std::map<std::string, std::map<bool, std::map<SCIRun::Dataflow::Networks::PortId, PortWidget*>>> PortWidgetMap;
147 static PortWidgetMap portWidgetMap_;
155 boost::shared_ptr<ConnectionFactory> connectionFactory,
156 boost::shared_ptr<ClosestPortFinder> closestPortFinder,
157 QWidget* parent = 0);
165 boost::shared_ptr<ConnectionFactory> connectionFactory,
166 boost::shared_ptr<ClosestPortFinder> closestPortFinder,
167 QWidget* parent = 0);
Definition: ConnectionId.h:67
Definition: PositionProvider.h:49
Definition: Connection.h:100
Definition: ConnectionId.h:58
Definition: PortInterface.h:48
Definition: ModuleDescription.h:77
Definition: Connection.h:60
Definition: ModuleDescription.h:45