forked from gwihlidal/QNodeView
-
Notifications
You must be signed in to change notification settings - Fork 1
/
QNodeViewBlock.h
executable file
·66 lines (49 loc) · 1.87 KB
/
QNodeViewBlock.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
/*!
@file QNodeViewBlock.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 <QGraphicsDropShadowEffect>
#include <QNodeViewCommon.h>
class QNodeViewPort;
class QNodeViewBlock : public QGraphicsPathItem
{
public:
QNodeViewBlock(QGraphicsItem* parent = NULL);
virtual ~QNodeViewBlock();
QNodeViewPort* addPort(const QString& name, bool isOutput, qint32 flags = 0, qint32 index = 0);
void addInputPort(const QString& name);
void addOutputPort(const QString& name);
void addInputPorts(const QStringList& names);
void addOutputPorts(const QStringList& names);
public:
void save(QDataStream& stream);
void load(QDataStream&, QMap<quint64, QNodeViewPort*>& portMap);
public:
void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
public:
QNodeViewBlock* clone();
QVector<QNodeViewPort*> ports();
// QGraphicsItem
int type() const { return QNodeViewType_Block; }
protected:
QVariant itemChange(GraphicsItemChange change, const QVariant& value);
private:
//QGraphicsDropShadowEffect m_dropShadow;
qint32 m_width;
qint32 m_height;
qint32 m_horizontalMargin;
qint32 m_verticalMargin;
};