00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ACTION_ADDEDGE_H
00022 #define ACTION_ADDEDGE_H
00023
00024 #include "AbstractAction.h"
00025 #include <QObject>
00026 #include <QPointF>
00027 class QGraphicsLineItem;
00028 class NodeItem;
00029 class Node;
00030
00037 class AddEdgeAction : public AbstractAction
00038 {
00039 Q_OBJECT
00040 public:
00046 explicit AddEdgeAction( GraphScene* scene, QObject* parent = 0 );
00047 void setActiveGraph( Graph* graph );
00051 ~AddEdgeAction();
00052 public slots:
00057 void executePress( QPointF pos );
00061 void executeMove( QPointF pos );
00062
00066 void executeRelease( QPointF pos );
00067
00068 private:
00070 NodeItem* _nodeFrom;
00071
00073 NodeItem* _nodeTo;
00074
00076 QGraphicsLineItem* _tmpLine;
00077
00079 QPointF _startPos;
00080
00083 bool _working;
00084
00085 signals:
00086 void addEdge( Node* from, Node* to );
00087
00088 };
00089
00090 #endif