NCL Composer  0.1.5
 All Classes Functions Variables Pages
qnstgraphicsbind.h
1 #ifndef QNSTGRAPHICSBIND_H
2 #define QNSTGRAPHICSBIND_H
3 
4 #include "qnstgraphicsedge.h"
5 #include "qnstconnector.h"
6 #include "qnstgraphicslink.h"
7 #include "qnstgraphicsbinddialog.h"
8 
9 class QnstGraphicsLink;
10 
12 {
13  Q_OBJECT
14 
15 public:
17 
19 
20  QString getRole() const;
21 
22  void setRole(QString role);
23 
24  QString getComponent() const;
25 
26  void setComponent(QString component);
27 
28  QString getComponentUid() const;
29 
30  void setComponentUid(QString componentUid);
31 
32  QString getInterface() const;
33 
34  void setInterface(QString interface);
35 
36  QString getInterfaceUid() const;
37 
38  void setInterfaceUid(QString interfaceUid);
39 
40  QMap<QString, QString> getParams();
41 
42  void setParams(QMap<QString, QString> params);
43 
44  QMap<QString, QString> getNameUIDs();
45 
46  void setNamesUIDs(QMap<QString, QString> name_uids);
47 
48  void setConn(QnstConnector* conn);
49 
50  void addParam(QString uid, QString name, QString value);
51 
52  void setParam(QString name, QString value);
53 
54  void removeParam(QString name);
55 
56  void removeUId(QString uid);
57 
58  void setLink(QnstGraphicsLink *link);
59 
60  QnstGraphicsLink* getLink();
61 
62  void setTarget(QnstGraphicsEntity *target);
63 
64  QnstGraphicsEntity *getTarget();
65 
66  virtual void setProperties(const QMap<QString, QString> &properties);
67 
68  virtual void getProperties(QMap<QString, QString> &properties);
69 
70  void setType(Qnst::BindType type);
71  Qnst::BindType getType();
72  QString getIcon();
73 
74  bool isAction() const;
75  bool isCondition() const;
76 
77  void adjust();
78 
79  // \todo This two functions must be merged
80  void adjust_action();
81  void adjust_condition();
82 
83  void aux_adjust(QPointF pointa, QPointF pointb);
84 
85  // \fixme This method should not be here!!
86 
87 signals:
88  void bindParamAdded(QString uid, QString parent,
89  QMap<QString, QString> properties);
90 
91  void bindParamUpdated(QString bindUid, QMap<QString, QString> params,
92  QMap<QString, QString> name_uids);
93 
94 protected:
95  virtual void draw(QPainter* painter);
96 
97  // \todo this two functions must be merged
98  virtual void draw_action(QPainter* painter);
99  virtual void draw_condition(QPainter* painter);
100 
101  virtual void delineate(QPainterPath* painter) const;
102 
103  // \todo this two functions must be merged
104  virtual void delineate_action(QPainterPath* painter) const;
105  virtual void delineate_condition(QPainterPath* painter) const;
106 
107  virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
108 
109 private:
110  Qnst::BindType type;
111 
112  QString icon;
113 
114  QnstConnector* conn;
115 
116  QMap <QString, QString> names_uids;
117 
118  QMap<QString, QString> params;
119 
120  QnstGraphicsBindDialog* dialog;
121 
122  QString role;
123 
124  QString component;
125 
126  QString componentUID;
127 
128  QString interface;
129 
130  QString interfaceUID;
131 
132  QnstGraphicsLink *link;
133 
134 };
135 
136 #endif // QNSTGRAPHICSBIND_H