PARP Research Group University of Murcia, Spain


src/qvgui/qvdesigner/slate/link.h

00001 /*
00002  *      Copyright (C) 2008, 2009. PARP Research Group.
00003  *      <http://perception.inf.um.es>
00004  *      University of Murcia, Spain.
00005  *
00006  *      This file is part of the QVision library.
00007  *
00008  *      QVision is free software: you can redistribute it and/or modify
00009  *      it under the terms of the GNU Lesser General Public License as
00010  *      published by the Free Software Foundation, version 3 of the License.
00011  *
00012  *      QVision is distributed in the hope that it will be useful,
00013  *      but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *      GNU Lesser General Public License for more details.
00016  *
00017  *      You should have received a copy of the GNU Lesser General Public
00018  *      License along with QVision. If not, see <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 
00022 #ifndef LINK_H
00023 #define LINK_H
00024 
00025 #include <QGraphicsLineItem>
00026 
00027 #ifndef DOXYGEN_IGNORE_THIS
00028 
00029 class Node;
00030 
00031 class Link : public QGraphicsLineItem
00032 {
00033 public:
00034     Link(Node *fromNode, QString fromProp, Node *toNode, QString toProp, QGraphicsItem * parent = 0, QGraphicsScene * scene = 0);
00035     ~Link();
00036 
00037     Node *fromNode() const;
00038     Node *toNode() const;
00039     QString fromProp() const;
00040     QString toProp() const;
00041 
00042         void changeFromPoint(Node *newNode, QString NewProp);
00043         void changeToPoint(Node *newNode, QString NewProp);
00044 
00045     void setColor(const QColor &color);
00046     QColor color() const;
00047 
00048     virtual void trackNodes();
00049 
00050 protected:
00051         bool sceneEvent(QEvent * event);
00052 
00053     Node *myFromNode;
00054     Node *myToNode;
00055         QString myFromProp;
00056         QString myToProp;
00057 
00058         QGraphicsLineItem line2, line3, line4, line5;
00059 };
00060 
00061 #endif
00062 #endif



QVision framework. PARP research group, copyright 2007, 2008.