forked from werneazc/gsysc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgsysConnection.h
85 lines (71 loc) · 2.48 KB
/
gsysConnection.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
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
** This file is part of gSysC.
**
** gSysC is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** gSysC is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with gSysC with the file ``LICENSE''; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/*****************************************************************************
Author: Christian J. Eibl
last modified: 2005-01-31
*****************************************************************************
Content:
This class is a collection of gsysSignal objects.
A connection is a point-to-point link between two modules.
Main idea for doing this is, that for an eventually later
reimplementation using more intelligent structure placement,
first only the connections have to be considered. The more
detailed signal placement is done in a second step.
*****************************************************************************/
#ifndef GSYS_CONN_H
#define GSYS_CONN_H
#include "systemc.h"
#include <Qt3Support/q3canvas.h>
#include <vector>
using namespace std;
class gsysHierarchy;
class gsysHierarchyWindow;
class gsysSignal;
class gsysConnection
{
private:
vector<gsysSignal*> signalList;
vector<Q3CanvasPolygonalItem*> verlauf;
gsysHierarchy* anfang;
gsysHierarchy* ende;
QPoint* node1;
QPoint* node2;
gsysHierarchyWindow* parentWindow;
bool activated;
bool highlighted;
bool rectHasColor(QRect rect, QColor col);
public:
gsysHierarchy* getHier1();
gsysHierarchy* getHier2();
QPoint* getNode1();
QPoint* getNode2();
void setNode1(QPoint* p);
void setNode2(QPoint* p);
gsysConnection(gsysHierarchy* hier1, gsysHierarchy* hier2);
~gsysConnection();
vector<gsysSignal*> getSignals();
void addSignal(gsysSignal* signal);
void addTraceElem(Q3CanvasPolygonalItem* pol);
void activate();
void deactivate();
void highlight();
void deHighlight();
gsysHierarchyWindow* getParentWindow();
void setParentWindow(gsysHierarchyWindow* parWdw);
};
#endif