-
Notifications
You must be signed in to change notification settings - Fork 36
/
QNodeViewPort.h
executable file
·72 lines (54 loc) · 1.85 KB
/
QNodeViewPort.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*!
@file QNodeViewPort.h
Copyright (c) 2014 Graham Wihlidal
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@author Graham Wihlidal
@date January 19, 2014
*/
#pragma once
#include <QGraphicsPathItem>
#include <QNodeViewCommon.h>
class QNodeViewBlock;
class QNodeViewConnection;
class QNodeViewPort : public QGraphicsPathItem
{
public:
QNodeViewPort(QGraphicsItem* parent = NULL);
virtual ~QNodeViewPort();
void setBlock(QNodeViewBlock* block);
void setName(const QString& name);
void setIsOutput(bool isOutput);
void setPortFlags(qint32 index);
void setIndex(quint64);
bool isConnected(QNodeViewPort*);
bool isOutput();
qint32 radius();
QVector<QNodeViewConnection*>& connections();
QNodeViewBlock* block() const;
quint64 index();
const QString& portName() const { return m_name; }
int portFlags() const { return m_portFlags; }
public:
// QGraphicsItem
int type() const { return QNodeViewType_Port; }
protected:
QVariant itemChange(GraphicsItemChange change, const QVariant& value);
private:
QVector<QNodeViewConnection*> m_connections;
QString m_name;
QNodeViewBlock* m_block;
QGraphicsTextItem* m_label;
quint64 m_index;
qint32 m_radius;
qint32 m_margin;
qint32 m_portFlags;
bool m_isOutput;
};