dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
mixercurveline.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 /*
29  * This is inspired by the elastic nodes and edges demo in the Qt examples
30  * I have reinventing the wheel!
31  */
32 
33 #ifndef MIXERCURVELINE_H
34 #define MIXERCURVELINE_H
35 
36 #include <QGraphicsItem>
37 
38 class MixerNode;
39 
40 class Edge : public QGraphicsItem
41 {
42 public:
44  ~Edge();
45 
46  MixerNode *sourceNode() const;
47  void setSourceNode(MixerNode *node);
48 
49  MixerNode *destNode() const;
50  void setDestNode(MixerNode *node);
51 
52  void adjust();
53 
54  enum { Type = UserType + 12 };
55  int type() const { return Type; }
56 
57 protected:
58  QRectF boundingRect() const;
59  void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
60 
61 private:
62  MixerNode *source, *dest;
63 
64  QPointF sourcePoint;
65  QPointF destPoint;
66  qreal arrowSize;
67 };
68 
69 #endif // MIXERCURVELINE_H
void adjust()
void setDestNode(MixerNode *node)
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
MixerNode * destNode() const
Edge(MixerNode *sourceNode, MixerNode *destNode)
int type() const
MixerNode * sourceNode() const
QRectF boundingRect() const
void setSourceNode(MixerNode *node)