1
//------------------------------------------------------------------------------
3
// This file is part of Toolkit for Conceptual Modeling (TCM).
4
// (c) copyright 1997, Vrije Universiteit Amsterdam.
5
// Author: Frank Dehne (frank@cs.vu.nl).
7
// TCM is free software; you can redistribute it and/or modify
8
// it under the terms of the GNU General Public License as published
10
// the Free Software Foundation; either version 2 of the License, or
11
// (at your option) any later version.
13
// TCM is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
// GNU General Public License for more details.
18
// You should have received a copy of the GNU General Public License
19
// along with TCM; if not, write to the Free Software
20
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
22
//------------------------------------------------------------------------------
28
// This include file contains all codes of all types of subjects (nodes and
29
// edges) and of all types of shapes.
31
/// Functions and constants for shape and subject codes.
33
/*@Doc: {\large {\bf scope:} global} */
37
// general node shape types
75
// general line types.
85
// next 4 are for backwards compatibility
91
// standard node types.
112
CONTROLLED_DATA_STREAM,
123
// standard edge types
133
BIDIRECTIONAL_DATA_FLOW,
134
CONTINUOUS_DATA_FLOW,
136
CONTINUOUS_EVENT_FLOW,
145
SSD_ASSOCIATION_NODE,
146
SSD_GENERALIZATION_NODE,
147
SSD_AGGREGATION_NODE,
151
ATD_SYNCHRONIZATION_NODE,
152
ATD_ACTION_STATE_NODE,
154
ATD_DECISION_STATE_NODE,
155
ATD_INITIAL_STATE_NODE,
156
ATD_FINAL_STATE_NODE,
168
SCD_SYNCHRONIZATION_STATE,
171
SSD_BINARY_ASSOCIATION_EDGE,
172
SSD_GENERALIZATION_EDGE,
173
SSD_OBJECT_LINK_EDGE,
174
SSD_PARTICIPANT_LINK_EDGE,
175
SSD_ASSOCIATION_LINK_EDGE,
176
SSD_AGGREGATION_EDGE,
177
SSD_COMPOSITION_EDGE,
178
UCD_BINARY_ASSOCIATION_EDGE,
179
UCD_GENERALIZATION_EDGE,
182
CPD_REALIZATION_EDGE,
183
DPD_COMMUNICATION_EDGE,
185
CBD_OBJECT_LINK_EDGE,
189
// specific UML node shapes and lines
190
SSD_SINGLE_OBJECT_BOX=500,
191
SSD_DOUBLE_OBJECT_BOX,
192
SSD_SINGLE_CLASS_BOX,
193
SSD_DOUBLE_CLASS_BOX,
194
SSD_TRIPLE_CLASS_BOX,
197
UCD_SINGLE_CLASS_BOX,
199
CBD_SINGLE_CLASS_BOX,
200
CBD_SINGLE_OBJECT_BOX,
213
// types for the COLOR-X tools.
227
CE_PERMIT_EVENT_NODE,
235
/// returns the name of a type having this code (0 if it doesn't exist).
236
static const char* GetName(int code);
238
/// returns the code of type name (0 if it doesn't exist).
239
static int GetCode(const char* name);
241
/// returns code subject index (> 1) or 0 if code isn't in code list.
242
static int GetIndex(int code, const int codelist[]);
245
static TypeName typeNames[];