~ubuntu-branches/ubuntu/intrepid/tcm/intrepid

« back to all changes in this revision

Viewing changes to doc/usersguide/usersguidenode5.html

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2003-07-03 20:08:21 UTC
  • Revision ID: james.westby@ubuntu.com-20030703200821-se4xtqx25e5miczi
Tags: upstream-2.20
ImportĀ upstreamĀ versionĀ 2.20

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 
2
<!--Converted with LaTeX2HTML 98.1p1 release (March 2nd, 1998)
 
3
originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds
 
4
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
 
5
* with significant contributions from:
 
6
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
 
7
<HTML>
 
8
<HEAD>
 
9
<TITLE>3. Diagram Editing</TITLE>
 
10
<META NAME="description" CONTENT="3. Diagram Editing">
 
11
<META NAME="keywords" CONTENT="User">
 
12
<META NAME="resource-type" CONTENT="document">
 
13
<META NAME="distribution" CONTENT="global">
 
14
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
 
15
<LINK REL="STYLESHEET" HREF="User.css">
 
16
<LINK REL="next" HREF="usersguidenode6.html">
 
17
<LINK REL="previous" HREF="usersguidenode4.html">
 
18
<LINK REL="up" HREF="User.html">
 
19
<LINK REL="next" HREF="usersguidenode6.html">
 
20
</HEAD>
 
21
<BODY >
 
22
<!--Navigation Panel-->
 
23
<A NAME="tex2html865"
 
24
 HREF="usersguidenode6.html">
 
25
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
 
26
<A NAME="tex2html861"
 
27
 HREF="User.html">
 
28
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
 
29
<A NAME="tex2html855"
 
30
 HREF="usersguidenode4.html">
 
31
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
 
32
<A NAME="tex2html863"
 
33
 HREF="usersguidenode1.html">
 
34
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
 
35
<A NAME="tex2html864"
 
36
 HREF="usersguidenode15.html">
 
37
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
 
38
<BR>
 
39
<B> Next:</B> <A NAME="tex2html866"
 
40
 HREF="usersguidenode6.html">4. Data View Editors</A>
 
41
<B> Up:</B> <A NAME="tex2html862"
 
42
 HREF="User.html">Toolkit for Conceptual Modeling</A>
 
43
<B> Previous:</B> <A NAME="tex2html856"
 
44
 HREF="usersguidenode4.html">2. Document Editing</A>
 
45
<BR>
 
46
<BR>
 
47
<!--End of Navigation Panel-->
 
48
<!--Table of Child-Links-->
 
49
<A NAME="CHILD_LINKS"><strong>Subsections</strong></A>
 
50
<UL>
 
51
<LI><A NAME="tex2html867"
 
52
 HREF="usersguidenode5.html#SECTION00510000000000000000">3.1 Definitions</A>
 
53
<LI><A NAME="tex2html868"
 
54
 HREF="usersguidenode5.html#SECTION00520000000000000000">3.2 Creating Nodes</A>
 
55
<LI><A NAME="tex2html869"
 
56
 HREF="usersguidenode5.html#SECTION00530000000000000000">3.3 Creating Edges</A>
 
57
<LI><A NAME="tex2html870"
 
58
 HREF="usersguidenode5.html#SECTION00540000000000000000">3.4 Selection Commands</A>
 
59
<LI><A NAME="tex2html871"
 
60
 HREF="usersguidenode5.html#SECTION00550000000000000000">3.5 Editing Text</A>
 
61
<LI><A NAME="tex2html872"
 
62
 HREF="usersguidenode5.html#SECTION00560000000000000000">3.6 Moving Shapes</A>
 
63
<LI><A NAME="tex2html873"
 
64
 HREF="usersguidenode5.html#SECTION00570000000000000000">3.7 Resizing Shapes</A>
 
65
<LI><A NAME="tex2html874"
 
66
 HREF="usersguidenode5.html#SECTION00580000000000000000">3.8 Deleting Subjects</A>
 
67
<LI><A NAME="tex2html875"
 
68
 HREF="usersguidenode5.html#SECTION00590000000000000000">3.9 Cutting and Pasting Subjects</A>
 
69
<LI><A NAME="tex2html876"
 
70
 HREF="usersguidenode5.html#SECTION005100000000000000000">3.10 Creating and Deleting Duplicates of a Node</A>
 
71
<LI><A NAME="tex2html877"
 
72
 HREF="usersguidenode5.html#SECTION005110000000000000000">3.11 Changing Shape Properties</A>
 
73
<LI><A NAME="tex2html878"
 
74
 HREF="usersguidenode5.html#SECTION005120000000000000000">3.12 Miscellaneous Edit Commands</A>
 
75
<LI><A NAME="tex2html879"
 
76
 HREF="usersguidenode5.html#SECTION005130000000000000000">3.13 Undo and Redo</A>
 
77
<LI><A NAME="tex2html880"
 
78
 HREF="usersguidenode5.html#SECTION005140000000000000000">3.14 The Generic Diagram Editor (TGD)</A>
 
79
<UL>
 
80
<LI><A NAME="tex2html881"
 
81
 HREF="usersguidenode5.html#SECTION005141000000000000000">3.14.1 Nodes and Edges</A>
 
82
</UL></UL>
 
83
<!--End of Table of Child-Links-->
 
84
<HR>
 
85
 
 
86
<H1><A NAME="SECTION00500000000000000000">&#160;</A> <A NAME="DiagramEditing">&#160;</A>
 
87
<BR>
 
88
3. Diagram Editing
 
89
</H1>
 
90
 
 
91
<P>
 
92
 
 
93
<H1><A NAME="SECTION00510000000000000000">
 
94
3.1 Definitions</A>
 
95
</H1>
 
96
 
 
97
<P>
 
98
Diagrams that are made by some TCM diagram
 
99
editor are a special kind of <B>graph</B><A NAME="3019">&#160;</A> with a 
 
100
certain <B>representation</B><A NAME="3021">&#160;</A> (layout, view). 
 
101
Each TCM editor is a specialization of the generic graph editor. 
 
102
A graph consists of a set of <B>subjects</B>.<A NAME="3023">&#160;</A> A subject 
 
103
is either a <B>node</B><A NAME="3025">&#160;</A> or an <B>edge</B><A NAME="3027">&#160;</A> that
 
104
connects two subjects.
 
105
Subjects are of different <B>node types</B><A NAME="3029">&#160;</A> 
 
106
and <B>edge types</B>.<A NAME="3031">&#160;</A> For example, a TDFD 
 
107
data flow diagram graph consists amongst others of nodes of type data 
 
108
process and nodes of type data store, and edges of type data flow.
 
109
 
 
110
<P>
 
111
The graphs that are edited with TCM contain edges that connect exactly
 
112
two (not necessarily different) subjects. So some kind of special
 
113
relationship between more than two nodes, for instance the specialization 
 
114
relationship in an ER diagram (made by the TESD editor), is specified in 
 
115
TCM as a node (a taxonomy junction node in this case) that is connected 
 
116
by three or more different edges (generalization or is-a relationship 
 
117
edges in this case).
 
118
 
 
119
<P>
 
120
In general, edges connect two (not necessarily) different subjects.
 
121
So in principle it is possible that an edge connects to another edge.
 
122
This feature is available in the generic diagram editor (TGD) and
 
123
also in a limited form in a few of the specific diagram editors.
 
124
In the other editors an edge connects only nodes, it never connects
 
125
edges.
 
126
 
 
127
<P>
 
128
In a representation of a graph, nodes and edges are shown 
 
129
as <B>shapes</B>.<A NAME="3033">&#160;</A> 
 
130
In the case of nodes the representing shapes are boxes, 
 
131
diamonds, ellipses etc. In the case of edges, shapes
 
132
are lines, arrows etc. In general, there is a many-many 
 
133
relationship between a certain subject type and a certain shape type 
 
134
and also between a particular subject instance and a particular 
 
135
shape instance. It is possible that a subject type is represented by 
 
136
more than one shape type. For instance a class-diagram
 
137
made by TSSD can contain different kinds of class boxes (e.g. boxes 
 
138
with three compartments that show the class name, attributes and operations, 
 
139
and boxes that only contain two compartment to show only the name and
 
140
the attributes).  Also, it is possible that a particular subject 
 
141
instance is represented by more than one shape instance. This feature
 
142
can be used when you want to represent the same subject at different 
 
143
positions in the same diagram (duplication).
 
144
But in most cases, the relationship  between subjects and their representations is one-one
 
145
and for this reason, subjects and their shape representations will often be mixed up.
 
146
 
 
147
<P>
 
148
A <B>TCM diagram</B><A NAME="3035">&#160;</A>
 
149
is composed of a graph, its representing shapes,
 
150
and extra diagram information, such as the diagram name, the author 
 
151
and the creation date.
 
152
A TCM diagram has an empty graph after creation. You can build a
 
153
graph by interactively drawing it with the TCM user interface, 
 
154
node by node, edge by edge.
 
155
 
 
156
<P>
 
157
Some diagrams are <B>hierarchic.</B><A NAME="3037">&#160;</A><A NAME="3038">&#160;</A>
 
158
This means that the underlying mathematical structure is a <B>hierarchic graph</B><A NAME="3040">&#160;</A> rather than a graph.
 
159
In a hierarchic graph, nodes are organized in trees:
 
160
a node may be a child of another node.
 
161
The parent-child relationship is represented by inclusion:
 
162
a node shape contains the node shapes of its children.
 
163
(In hierarchic documents, duplication is forbidden.
 
164
This ensures that the parent-child relationship is acyclic.)
 
165
In non-hierarchic diagrams, overlapping of nodes has no special meaning.
 
166
 
 
167
<P>
 
168
TCM documents should satisfy certain <B>constraints</B>.
 
169
<A NAME="3042">&#160;</A> Most constraints are specific for the particular 
 
170
diagram technique supported by the editor. Many constraints 
 
171
are checked by TCM. The constraints that are checked, are classified 
 
172
according to how TCM deals with possible violations.
 
173
<DL COMPACT>
 
174
<DT>1.
 
175
<DD><B>Built-in constraints</B>.<A NAME="3045">&#160;</A>
 
176
<A NAME="3046">&#160;</A> These are constraints which are built-in
 
177
and which can never be violated because there is no command in the
 
178
user interface to achieve that. We give two examples of built-in constraints: 
 
179
1. an edge connects exactly two (not necessarily different) existing subjects, 
 
180
2. an entity type in TESD is always represented by a box or a double box.
 
181
<P>
 
182
<DT>2.
 
183
<DD><B>Immediately enforced constraints</B>.
 
184
These are constraints that are immediately enforced by TCM if that is
 
185
<A NAME="3048">&#160;</A><A NAME="3049">&#160;</A>
 
186
possible.  When you perform a command that would violate 
 
187
a constraint that is immediately enforced, this command is rejected 
 
188
immediately by TCM and a pop-up window with an error message is displayed.
 
189
Examples of immediately enforced constraints are: 1. an entity type 
 
190
and a relationship node in TESD cannot be connected by a Generalization 
 
191
and 2. two entity types cannot have the same (non-empty) name.
 
192
 
 
193
<P>
 
194
<DT>3.
 
195
<DD><B>Soft constraints</B>.<A NAME="3051">&#160;</A><A NAME="3052">&#160;</A>
 
196
These are constraints that can be violated. 
 
197
Soft constraints are needed because the TCM user interface 
 
198
demands that you draw only one node or one edge at the time, and 
 
199
only edit the label of an existing subject. 
 
200
So there are certain commands that produce diagrams 
 
201
that might violate a constraint and that can not
 
202
be immediately enforced.
 
203
Two examples of soft constraints are:
 
204
1. all entity types have a non-empty name and 2. 
 
205
a relationship node in TESD should be connected to entity type nodes by 
 
206
two or more different edges.
 
207
 
 
208
<P>
 
209
Soft constraints are checked by TCM when the <B>Check Document</B> 
 
210
<A NAME="3054">&#160;</A> command is issued by you.
 
211
Check Document displays a list of error messages in a pop-up window
 
212
and the nodes and edges that cause these errors are selected in
 
213
the diagram. As opposed to the previous two classes of constraints, you
 
214
are responsible for correcting the diagram.
 
215
 
 
216
<P>
 
217
</DL>
 
218
<P>
 
219
It is possible that some immediately enforced constraints can still be 
 
220
violated by some user command. Such a constraint is then classified
 
221
as both an immediately enforced and a soft constraint. Example:
 
222
if a part of a diagram is copied and pasted into the same diagram, 
 
223
the unique name constraint is a soft constraint as it can be 
 
224
violated by the paste command. But when you have edited the text 
 
225
of one of the nodes in the diagram, and you issue the stop edit command, 
 
226
the unique name constraint can and will be immediately enforced.
 
227
 
 
228
<P>
 
229
 
 
230
<H1><A NAME="SECTION00520000000000000000">&#160;</A><A NAME="3057">&#160;</A><A NAME="3058">&#160;</A>
 
231
<BR>
 
232
3.2 Creating Nodes
 
233
</H1>
 
234
The set of tiled buttons labeled <TT>Nodes</TT>, at the left
 
235
side of the main window, contains 
 
236
radio buttons indicating the current type of node that 
 
237
can be created. You can change the current node type 
 
238
selection by clicking another tiled button with button-1. 
 
239
 
 
240
<P>
 
241
For creating a node, first choose the desired node type from 
 
242
the node tiles. Click button-1 in the background of the
 
243
drawing area, at the desired position. A new node shape appears, 
 
244
having its center at the position where is clicked and having the 
 
245
shape as indicated by the selected node type in the tiles.
 
246
The node shape is surrounded by a set of <B>selection handles</B> 
 
247
which are black or grey rectangles, showing that the shape is selected.
 
248
Selection handles of a node shape are also used for resizing 
 
249
the node.<A NAME="3061">&#160;</A><A NAME="3062">&#160;</A>
 
250
 
 
251
<P>
 
252
 
 
253
<H1><A NAME="SECTION00530000000000000000">&#160;</A><A NAME="3064">&#160;</A><A NAME="3065">&#160;</A>
 
254
<BR>
 
255
3.3 Creating Edges
 
256
</H1>
 
257
The set of tiled buttons named <TT>Edges</TT> contains radio 
 
258
buttons indicating the current type of edge that can be drawn. 
 
259
Furthermore there is a so-called check button labeled 
 
260
<TT>create curve</TT>.
 
261
If the curve button is on, new edges that are created
 
262
are drawn as a Bezier curve.
 
263
If the curve button is off, a multi-segment line is 
 
264
drawn as a set of connected straight 
 
265
line segments.  To create a new edge, first choose the desired 
 
266
edge type in the edge tiles. There are three sorts of edges 
 
267
that you can create:
 
268
<UL>
 
269
<LI><B>Straight edges</B>.<A NAME="3070">&#160;</A><A NAME="3071">&#160;</A>
 
270
Drag with button-2 from a node to a 
 
271
node. This means you push and hold down button-2 somewhere inside the 
 
272
source node and move the mouse with button-2 still pushed down.
 
273
During dragging the mouse pointer turns into 
 
274
a&nbsp;
 
275
<!-- MATH: $\epsfig{figure=p/sightP.ps}$ -->
 
276
<IMG
 
277
 WIDTH="25" HEIGHT="25" ALIGN="BOTTOM" BORDER="0"
 
278
 SRC="usersguideimg22.gif"
 
279
 ALT="\epsfig{figure=p/sightP.ps}">
 
280
and a line from the source node
 
281
follows the movement of the mouse.<A NAME="3073">&#160;</A>
 
282
You can always abort creating an edge while dragging by 
 
283
clicking button-1. When you are arrived in the target node and 
 
284
release button-2, then a straight edge is created. The two points 
 
285
of the edge at the borders of the connected nodes are called 
 
286
the <B>end points</B><A NAME="3075">&#160;</A> of the edge.
 
287
 
 
288
<P>
 
289
<LI><B>Segmented edges</B>.<A NAME="3077">&#160;</A><A NAME="3078">&#160;</A>
 
290
These edges consist of more than one segment. The points where
 
291
the segments are connected are called <B>intermediate points</B>.
 
292
<A NAME="3080">&#160;</A> To create such a segmented edge, release
 
293
button-2 in the background while you are dragging. Then the first 
 
294
intermediate point is created. After that, the line follows the mouse 
 
295
all by itself. Then you can add another intermediate point by 
 
296
clicking button-2 somewhere else in the background. You 
 
297
complete the edge by moving into the target node and clicking 
 
298
button-2.
 
299
 
 
300
<P>
 
301
<LI>
 
302
<B>Curved edges</B>.<A NAME="3082">&#160;</A><A NAME="3083">&#160;</A> 
 
303
<A NAME="3084">&#160;</A>
 
304
You can also create an edge drawn as a Bezier curve&nbsp;<A NAME="tex2html53"
 
305
 HREF="#foot3559"><SUP>3.1</SUP></A>. 
 
306
For this, turn on the create curve toggle button in the tiled menu. 
 
307
The Bezier curve requires <I>exactly two</I> intermediate points, 
 
308
which makes four edge points in total. These intermediate points 
 
309
are added in the same way as creating normal multiple line segments as 
 
310
described for segmented edges. When the four points are 
 
311
determined, a smooth curve is drawn between the end points and
 
312
the two intermediate points act as controlling points.
 
313
You can toggle between the curved and segmented edge representation 
 
314
by invoking the <B>Convert From/To Curves</B> 
 
315
<A NAME="3089">&#160;</A> command from the Edit menu.
 
316
</UL>
 
317
<P>
 
318
<BR>
 
319
<DIV ALIGN="CENTER"><A NAME="CreateEdgeExample">&#160;</A><A NAME="3094">&#160;</A>
 
320
<TABLE WIDTH="50%">
 
321
<CAPTION><STRONG>Figure 3.1:</STRONG>
 
322
Three forms of edges.</CAPTION>
 
323
<TR><TD>
 
324
<DIV ALIGN="CENTER">
 
325
 
 
326
<!-- MATH: $\includegraphics{p/createedges.eps}$ -->
 
327
<IMG
 
328
 WIDTH="400" HEIGHT="224" ALIGN="BOTTOM" BORDER="0"
 
329
 SRC="usersguideimg23.gif"
 
330
 ALT="\includegraphics{p/createedges.eps}"></DIV></TD></TR>
 
331
</TABLE>
 
332
</DIV>
 
333
<BR>
 
334
<P>
 
335
After creating the edge, the edge is selected which is visible by a selection
 
336
handle on each line point. You can adjust the line points by 
 
337
moving the handles; see section&nbsp;<A HREF="usersguidenode5.html#MovingShapes">3.6</A>.
 
338
 
 
339
<P>
 
340
When an edge is created and it is the only <I>straight</I> edge 
 
341
connecting this particular couple of nodes, it will go (virtually) through 
 
342
the center points of the nodes. When there are multiple straight edges 
 
343
connecting the same pair of nodes, they will be equally distributed 
 
344
by default over the opposing sides.
 
345
Segmented and curved edges are not equally distributed when they
 
346
connect the same pair of nodes. TCM tries to intersect the first 
 
347
and last segment of a segmented line orthogonally with the sides of the 
 
348
connected nodes. If this is geometrically impossible, the segment will 
 
349
be directed to the center of the node like with straight edges. 
 
350
For understanding how it works it helps when you try it out
 
351
yourself.
 
352
 
 
353
<P>
 
354
<B>Tip:</B> When you want to enforce that a straight edge is always 
 
355
orthogonal to a node, then you can draw a segmented line of three points that
 
356
looks like a straight line. You enforce then that the line is always 
 
357
connected orthogonally with both of the nodes (providing that this 
 
358
is geometrically possible). This gives often a more pleasant optical result 
 
359
especially when you want to connect two nodes that differ a lot 
 
360
in size. 
 
361
 
 
362
<P>
 
363
It is possible to move the end points of an edge as well, in the
 
364
same way as you move the intermediate points. When you drag with
 
365
button-1 the handle of an end point to another position then the new 
 
366
end point will be the position at the border of the node shape that is 
 
367
the closest to where you released the handle. However, when you drag with
 
368
button-1 the handle of an end point into <I>a different</I> node shape 
 
369
then the edge will be <B>redirected</B> to that node. This means that
 
370
you can change the nodes that an edge connects.<A NAME="3103">&#160;</A>
 
371
<A NAME="3104">&#160;</A>
 
372
 
 
373
<P>
 
374
After an edge is created you can add
 
375
<A NAME="3105">&#160;</A><A NAME="3106">&#160;</A>
 
376
extra intermediate points. When you drag with button-1 on an existing 
 
377
line, a new intermediate point is 
 
378
created at the position where you stop dragging, and a new segment will be 
 
379
added to the line. 
 
380
Press Button-2 on a line handle to 
 
381
<A NAME="3107">&#160;</A><A NAME="3108">&#160;</A>
 
382
remove the line handle/segment from an existing line.
 
383
 
 
384
<P>
 
385
In TGD and some other editors it is possible to connect an edge with an edge
 
386
like in figure&nbsp;<A HREF="usersguidenode5.html#EdgeEdge">3.2</A>. You create these kinds of edges in the same way
 
387
as edges that connect nodes. Only you start to press button-2 while the 
 
388
mouse pointer is positioned at an edge and/or you release button-2, after dragging, 
 
389
when the mouse is on some edge.
 
390
 
 
391
<P>
 
392
<BR>
 
393
<DIV ALIGN="CENTER"><A NAME="EdgeEdge">&#160;</A><A NAME="3113">&#160;</A>
 
394
<TABLE WIDTH="50%">
 
395
<CAPTION><STRONG>Figure 3.2:</STRONG>
 
396
An edge connects another edge.</CAPTION>
 
397
<TR><TD>
 
398
<DIV ALIGN="CENTER">
 
399
 
 
400
<!-- MATH: $\includegraphics{p/edgeedge.eps}$ -->
 
401
<IMG
 
402
 WIDTH="355" HEIGHT="161" ALIGN="BOTTOM" BORDER="0"
 
403
 SRC="usersguideimg24.gif"
 
404
 ALT="\includegraphics{p/edgeedge.eps}"></DIV></TD></TR>
 
405
</TABLE>
 
406
</DIV>
 
407
<BR>
 
408
<P>
 
409
 
 
410
<H1><A NAME="SECTION00540000000000000000">&#160;</A><A NAME="3118">&#160;</A>
 
411
<BR>
 
412
3.4 Selection Commands
 
413
</H1>
 
414
The current selection is a subset of the displayed shapes. 
 
415
Shapes in the selection have visible selection handles.
 
416
The shape in the selection that was first selected has
 
417
black selection handles and the other shapes in the selection
 
418
have grey selection handles.
 
419
 
 
420
<P>
 
421
Shapes have a <B>selection area.</B>
 
422
For lines, it is a band around the segment(s) of the line.
 
423
The selection area for node shapes changes when you toggle hierarchy on or off:
 
424
In non-hierarchic documents, it is just the inside of the node shape.
 
425
In hierarchic documents,
 
426
the selection area is a band around the visible parts of the node shape
 
427
(boundary lines, interior lines, text labels).
 
428
 
 
429
<P>
 
430
The following operations on the selection exist:
 
431
 
 
432
<P>
 
433
<UL>
 
434
<LI><B>Select a single shape</B>.<A NAME="3122">&#160;</A>
 
435
        Click button-1 in the selection area of an unselected shape
 
436
        (node shape, line).
 
437
        The selection will contain only this shape
 
438
        which will show black handles.
 
439
 
 
440
<P>
 
441
<LI><B>Add a shape to the selection</B>.<A NAME="3124">&#160;</A>
 
442
        Click button-2 in the selection area of an unselected shape.
 
443
        The first selected shape will show black selection handles,
 
444
        the other selected shapes will show grey selection handles.
 
445
 
 
446
<P>
 
447
<LI><B>Remove a shape from the selection</B>.<A NAME="3126">&#160;</A>
 
448
        Click button-2 in the selection area of a selected shape.
 
449
        The selection handles disappear.
 
450
 
 
451
<P>
 
452
<LI><B>Empty the selection</B>.<A NAME="3128">&#160;</A>
 
453
        Click button-2 somewhere in the background.
 
454
        All selection handles disappear.
 
455
 
 
456
<P>
 
457
<LI><B>Select a part of the diagram</B>. Drag button-1 starting
 
458
in the background. The area that you are selecting, is enclosed by 
 
459
a stippled box, and its bottom-right corner is attached to the
 
460
mouse. If you release button-1 then every shape that was (partly)
 
461
inside the stippled box is selected and every other shape outside 
 
462
the box is unselected. One of these selected shapes will show 
 
463
black selection handles, the others will become grey.<A NAME="3130">&#160;</A>
 
464
 
 
465
<P>
 
466
<LI><B>Make selected shape first selected</B>.
 
467
        You can enforce that a selected shape is the first selected
 
468
        by clicking button-1 in the selection area of an already selected (grey) shape.
 
469
        The selection handles of the old first selected shape will become grey
 
470
        and the clicked shape's handles will become black.
 
471
 
 
472
<P>
 
473
<LI>The <B>Select All</B> command from the Edit menu<A NAME="3133">&#160;</A>
 
474
        selects all shapes of the diagram.
 
475
        By clicking button-2 in the background you deselect all shapes.
 
476
</UL>
 
477
<P>
 
478
 
 
479
<H1><A NAME="SECTION00550000000000000000">&#160;</A><A NAME="3136">&#160;</A><A NAME="3137">&#160;</A>
 
480
<BR>
 
481
3.5 Editing Text
 
482
</H1> 
 
483
 
 
484
<P>
 
485
For getting into edit mode make sure that the shape with the label that 
 
486
you want to edit is the only selected shape.
 
487
When you move the mouse pointer into the single selected shape,
 
488
the mouse pointer turns into a&nbsp;
 
489
<!-- MATH: $\epsfig{figure=p/ibeamP.ps}$ -->
 
490
<IMG
 
491
 WIDTH="16" HEIGHT="24" ALIGN="BOTTOM" BORDER="0"
 
492
 SRC="usersguideimg10.gif"
 
493
 ALT="\epsfig{figure=p/ibeamP.ps}">.
 
494
By clicking button-1 on the shape or typing the first character
 
495
you go into edit mode. See section&nbsp;<A HREF="usersguidenode4.html#EditingText">2.5.1</A> for the different 
 
496
text edit commands that exist in TCM. These apply to all document
 
497
editors including all diagram editors. 
 
498
 
 
499
<P>
 
500
Every TCM diagram and tree editor has a special node type called 
 
501
<B>Comment</B>,<A NAME="3141">&#160;</A> which solely consists of a text label
 
502
and is intended to add comment to the diagram. 
 
503
This node type cannot be connected by any other edge, except
 
504
in the generic diagram editor, TGD. But comment nodes can be 
 
505
selected, moved and of course edited, like any other node type.
 
506
 
 
507
<P>
 
508
<BR>
 
509
<DIV ALIGN="CENTER"><A NAME="PersonExample">&#160;</A><A NAME="3145">&#160;</A>
 
510
<TABLE WIDTH="50%">
 
511
<CAPTION><STRONG>Figure 3.3:</STRONG>
 
512
Example diagram with some text labels.</CAPTION>
 
513
<TR><TD>
 
514
<DIV ALIGN="CENTER">
 
515
 
 
516
<!-- MATH: $\includegraphics{p/labelsexample.eps}$ -->
 
517
<IMG
 
518
 WIDTH="525" HEIGHT="156" ALIGN="BOTTOM" BORDER="0"
 
519
 SRC="usersguideimg25.gif"
 
520
 ALT="\includegraphics{p/labelsexample.eps}"></DIV></TD></TR>
 
521
</TABLE>
 
522
</DIV>
 
523
<BR>
 
524
<P>
 
525
<B>Tip:</B> If you want to edit the label of an edge, and you try to select it
 
526
first with button-1 you could miss the edge and create an unwanted node.
 
527
To avoid this, make the selection empty and select the edge by
 
528
button-2 instead, because, when you miss no node is created.
 
529
 
 
530
<P>
 
531
 
 
532
<H1><A NAME="SECTION00560000000000000000">&#160;</A> <A NAME="MovingShapes">&#160;</A>
 
533
<BR>
 
534
3.6 Moving Shapes
 
535
</H1>
 
536
You can reposition the following things in a diagram:
 
537
 
 
538
<P>
 
539
<UL>
 
540
<LI><A NAME="3153">&#160;</A>
 
541
<B>A node shape</B>. You can move a node shape by positioning 
 
542
the mouse into 
 
543
that node shape and then drag it with button-1. The shape does
 
544
not need to be selected. A grey node outline
 
545
moves along with the mouse. The mouse pointer turns 
 
546
into a&nbsp;
 
547
<!-- MATH: $\epsfig{figure=p/movingP.ps}$ -->
 
548
<IMG
 
549
 WIDTH="22" HEIGHT="23" ALIGN="BOTTOM" BORDER="0"
 
550
 SRC="usersguideimg26.gif"
 
551
 ALT="\epsfig{figure=p/movingP.ps}">.
 
552
If you release button-1 then this node shape is redrawn at the 
 
553
new position and all its adjacent lines are redrawn too.
 
554
 
 
555
<P>
 
556
<LI><A NAME="3156">&#160;</A>
 
557
<B>The selection</B>. If you drag one of the selected node 
 
558
shapes, all other selected shapes are moved with over the 
 
559
same distance, including the line handles of the 
 
560
selected edges.
 
561
 
 
562
<P>
 
563
<LI><A NAME="3158">&#160;</A>
 
564
<B>Intermediate line handle</B>. You cannot move the line as a whole,
 
565
but you can drag the individual handles of a line. When a line is 
 
566
selected and the mouse is in one of the handles
 
567
(which is indicated by a&nbsp;
 
568
<!-- MATH: $\epsfig{figure=p/movingP.ps}$ -->
 
569
<IMG
 
570
 WIDTH="22" HEIGHT="23" ALIGN="BOTTOM" BORDER="0"
 
571
 SRC="usersguideimg26.gif"
 
572
 ALT="\epsfig{figure=p/movingP.ps}">), then 
 
573
you can drag with button-1 this handle
 
574
and a grey outline of the new line follows the mouse. You can move 
 
575
the intermediate handles of a line to an arbitrary place in the drawing
 
576
area.
 
577
 
 
578
<P>
 
579
When you drag a line outside a line handle with button-1, a
 
580
new line handle will be created 
 
581
<A NAME="3161">&#160;</A><A NAME="3162">&#160;</A>
 
582
and the line is extended with
 
583
an extra segment.
 
584
When you hit a line handle with button-2 (instead of button-1), the
 
585
line handle is deleted 
 
586
<A NAME="3163">&#160;</A><A NAME="3164">&#160;</A>
 
587
and consequently the line will be deprived of
 
588
a segment.
 
589
 
 
590
<P>
 
591
<LI><A NAME="3165">&#160;</A>
 
592
<B>End line handle</B>. When you drag and release one 
 
593
of the end point handles with button-1 into the connected node 
 
594
or somewhere in the background, then the end point will be 
 
595
placed at the border of the connected node at a position 
 
596
that is the closest to the place where the handle was released.
 
597
However, when you drag the handle into a different node then 
 
598
the edge will be <B>redirected</B><A NAME="3168">&#160;</A> to that
 
599
node. The result is that the edge now connects to a different 
 
600
node&nbsp;<A NAME="tex2html56"
 
601
 HREF="#foot3169"><SUP>3.2</SUP></A>.
 
602
 
 
603
<P>
 
604
<LI><A NAME="3170">&#160;</A>
 
605
<B>The label of an edge</B>. You can move the label of an edge by 
 
606
dragging it with button-1. The edge need not be selected. You 
 
607
cannot move the label of a node; when you move or resize a node,
 
608
the label positions inside the node are recalculated, as well
 
609
as the labels of the adjacent edges.
 
610
 
 
611
<P>
 
612
<A NAME="3172">&#160;</A>
 
613
<LI>The <B>Align nodes</B> command in the Edit menu has six 
 
614
variants as you can see in the Align Nodes submenu of the Edit menu. 
 
615
See figure&nbsp;<A HREF="usersguidenode5.html#AlignNodes">3.4</A> for the various alignments.
 
616
The alignment takes place according to the position and size of 
 
617
the first selected shape, which should be
 
618
a node shape. Depending on the chosen alignment
 
619
type, the rest of the nodes in the selection will be 
 
620
aligned to the first shape, either horizontally 
 
621
(same center y-coordinates), 
 
622
vertically (same center x-coordinates), to the top 
 
623
(same top y-coordinates), to the bottom (same bottom y-coordinates), 
 
624
to the left (same left x-coordinates) or to the right 
 
625
(same right x-coordinates).
 
626
</UL>
 
627
<P>
 
628
<BR>
 
629
<DIV ALIGN="CENTER"><A NAME="AlignNodes">&#160;</A><A NAME="3179">&#160;</A>
 
630
<TABLE WIDTH="50%">
 
631
<CAPTION><STRONG>Figure 3.4:</STRONG>
 
632
TCM Node Alignment Dialog.</CAPTION>
 
633
<TR><TD>
 
634
<DIV ALIGN="CENTER">
 
635
 
 
636
<!-- MATH: $\includegraphics[width=3in]{p/nodealignmentdialog.ps}$ -->
 
637
<IMG
 
638
 WIDTH="345" HEIGHT="353" ALIGN="BOTTOM" BORDER="0"
 
639
 SRC="usersguideimg27.gif"
 
640
 ALT="\includegraphics[width=3in]{p/nodealignmentdialog.ps}"></DIV></TD></TR>
 
641
</TABLE>
 
642
</DIV>
 
643
<BR>
 
644
<P>
 
645
When you want to abort a move command, while you are moving,
 
646
you have to click button-2.<A NAME="3183">&#160;</A>
 
647
 
 
648
<P>
 
649
 
 
650
<H1><A NAME="SECTION00570000000000000000">&#160;</A><A NAME="3185">&#160;</A>
 
651
<BR>
 
652
3.7 Resizing Shapes
 
653
</H1>
 
654
Resizing a node shape in all directions is possible by 
 
655
dragging button-1 on the selection handles. 
 
656
The mouse pointer 
 
657
turns into one of the eight symbols that indicate to what
 
658
direction the node shape can be resized: 
 
659
<!-- MATH: $\epsfig{figure=p/8sizeP.ps}$ -->
 
660
<IMG
 
661
 WIDTH="66" HEIGHT="66" ALIGN="BOTTOM" BORDER="0"
 
662
 SRC="usersguideimg28.gif"
 
663
 ALT="\epsfig{figure=p/8sizeP.ps}">.
 
664
You can use button-2 to resize a node shape in the desired direction only.
 
665
When you want to abort the command while you are resizing,
 
666
you have to click button-2.<A NAME="3187">&#160;</A>
 
667
 
 
668
<P>
 
669
Unlike moving, resizing only works on one shape at the time i.e. it does not influence the other shapes of the selection.
 
670
If you want to resize multiple shapes in one command then
 
671
you could use the Same Size command in the Edit menu.
 
672
The <B>Same Size</B><A NAME="3189">&#160;</A> command makes the 
 
673
size of all selected node shapes the same size as the first selected 
 
674
shape (the shape with the black handles). The first selected shape 
 
675
should be a node shape of course. The edges in the rest of 
 
676
the selection are ignored by this command.
 
677
 
 
678
<P>
 
679
<B>Tip:</B> when node shapes have been moved or resized then their 
 
680
adjacent edges are redrawn and all their handles and labels are placed 
 
681
back to their default positions. This is sometimes 
 
682
undesirable&nbsp;<A NAME="tex2html57"
 
683
 HREF="#foot3191"><SUP>3.3</SUP></A>. To avoid that your effort gets lost, postpone moving
 
684
edge labels and handles to their final positions until when you 
 
685
think that the connected nodes are OK. Draw the graph first and 
 
686
then you can bother about the layout.
 
687
 
 
688
<P>
 
689
 
 
690
<H1><A NAME="SECTION00580000000000000000">&#160;</A><A NAME="DeleteSubjects">&#160;</A><A NAME="3194">&#160;</A><A NAME="3195">&#160;</A>
 
691
<BR>
 
692
3.8 Deleting Subjects
 
693
</H1>
 
694
The edit command <B>Delete</B> (called from the Edit menu, or by the 
 
695
accelerator &lt;Ctrl+D&gt;), removes all subjects from the selection. 
 
696
If a node is deleted then all its adjacent edges are deleted too.
 
697
If a node has duplicate shapes (see section&nbsp;<A HREF="usersguidenode5.html#Duplicates">3.10</A>) of which 
 
698
some but not all are selected then a question dialog is raised asking 
 
699
whether you want to delete all duplicates (and henceforth the node in the 
 
700
graph) or that you only want to delete the selected duplicate shapes.
 
701
 
 
702
<P>
 
703
The Edit menu command <B>Delete All</B> removes all subjects,
 
704
selected or not. Before the command is executed, you are first asked 
 
705
by means of a question dialog if you really want to delete
 
706
everything.<A NAME="3200">&#160;</A>
 
707
 
 
708
<P>
 
709
Fortunately, like all commands, deletion commands can be undone 
 
710
with Undo. 
 
711
 
 
712
<P>
 
713
 
 
714
<H1><A NAME="SECTION00590000000000000000">&#160;</A><A NAME="3202">&#160;</A><A NAME="3203">&#160;</A>
 
715
<BR>
 
716
3.9 Cutting and Pasting Subjects
 
717
</H1>
 
718
The diagram editors have a <B>buffer</B> for cutting, copying 
 
719
and<A NAME="3205">&#160;</A> <A NAME="PasteSubjects">&#160;</A>pasting parts of a diagram (selected shapes plus the subjects that 
 
720
they represent) inside the same editor.
 
721
 
 
722
<P>
 
723
You can either <B>Cut (</B>&lt;<B>Ctrl+X</B>&gt;<B>)</B> or <B>Copy (</B>&lt;<B>Ctrl+C</B>&gt;<B>)</B> the 
 
724
selection to the buffer.<A NAME="3209">&#160;</A><A NAME="3210">&#160;</A>
 
725
When you perform a cut, all selected subjects are copied into the 
 
726
buffer, and the selection is removed from the diagram (including
 
727
the unselected edges that are adjacent to the selected nodes).
 
728
When you perform a copy,<A NAME="3211">&#160;</A><A NAME="3212">&#160;</A> no subjects are 
 
729
removed from a diagram, but a copy of the selection is 
 
730
made and put into the buffer.
 
731
Both Cut and Copy copy the unselected nodes that are 
 
732
connected by selected edges into the paste buffer.
 
733
 
 
734
<P>
 
735
Pasting means that the contents of the paste buffer is being copied
 
736
into the diagram. When you perform a <B>Paste (&lt;Ctrl+Y&gt;)</B> 
 
737
command, a stippled box is shown that has the size of the 
 
738
pasted area which is attached to the mouse pointer near its top-left corner. 
 
739
When you click button-1, the subjects in the paste
 
740
buffer are copied into the diagram. The Append Diagram command is 
 
741
also implemented as a paste command. When you want to abort pasting 
 
742
while you are moving the paste box, you have to click button-2.<A NAME="3214">&#160;</A>
 
743
 
 
744
<P>
 
745
You can paste the same contents of the paste buffer more than once
 
746
because always a copy of the contents is made.
 
747
Pasted nodes and edges are new nodes and edges, not duplicates
 
748
of existing nodes or edges.
 
749
The paste buffer remains intact when you load another diagram,
 
750
so it is possible to cut and paste between different diagrams
 
751
(but only in the same editor). 
 
752
 
 
753
<P>
 
754
 
 
755
<H1><A NAME="SECTION005100000000000000000">&#160;</A> <A NAME="Duplicates">&#160;</A><A NAME="3217">&#160;</A><A NAME="3218">&#160;</A>
 
756
<A NAME="3219">&#160;</A>
 
757
<BR>
 
758
3.10 Creating and Deleting Duplicates of a Node
 
759
</H1>
 
760
 
 
761
<P>
 
762
It is possible to represent one node by several instances of
 
763
the same shape in non-hierarchic diagrams.
 
764
The <B>Duplicate</B> command copies the node shapes in the
 
765
selection and puts them into a box, lust like the Paste command.
 
766
However, the
 
767
duplicate command does not make use of the paste buffer. 
 
768
The copied node shapes can be positioned at an arbitrary place,
 
769
just like the Paste command. Edges cannot be 
 
770
duplicated&nbsp;<A NAME="tex2html58"
 
771
 HREF="#foot3221"><SUP>3.4</SUP></A>.
 
772
Unlike the Copy command, the new node shapes have the same node 
 
773
subject as the original. When a node has duplicate shapes then 
 
774
all these shapes have a small asterisk in the top-left corner.
 
775
 
 
776
<P>
 
777
When the label of a duplicate shape is updated then all its 
 
778
duplicate shapes are updated too and when a node is deleted 
 
779
(with Delete) then all the duplicate shapes of this node are 
 
780
deleted too by that command. 
 
781
 
 
782
<P>
 
783
The duplicate command is intended to be used when the same node 
 
784
has to be represented at different places to avoid cluttering
 
785
up the diagram. For instance, in a DFD, the same external 
 
786
entity or data store is often drawn at different positions 
 
787
in the same diagram, and TCM keeps track that these are
 
788
in reality representations of the same subjects.
 
789
 
 
790
<P>
 
791
The <B>Delete</B> command can be used to delete all selected 
 
792
duplicate shapes, see section&nbsp;<A HREF="usersguidenode5.html#DeleteSubjects">3.8</A>. 
 
793
When all the shapes of a node are deleted then the node itself 
 
794
is deleted too. But you can delete individual duplicate 
 
795
shapes as well.
 
796
 
 
797
<P>
 
798
 
 
799
<H1><A NAME="SECTION005110000000000000000">
 
800
3.11 Changing Shape Properties</A>
 
801
</H1>
 
802
 
 
803
<P>
 
804
All Update <I>shape property</I> commands are undo-able 
 
805
commands and they are called from the Properties menu of the main
 
806
window.
 
807
 
 
808
<P>
 
809
<UL>
 
810
<P>
 
811
<LI>The <B>Update Line Style</B> command from the Properties menu
 
812
pops up a dialog window with a number of toggle buttons for the different
 
813
line styles: solid, dashed, dotted, dual, invisible and wide dotted
 
814
(see figure&nbsp;<A HREF="usersguidenode4.html#LineStyleDialog">2.9</A>).
 
815
Select the line style that you want and press <TT>Apply</TT> and then 
 
816
the line styles of all the selected shapes are updated to this style.
 
817
 
 
818
<P>
 
819
<LI>The <B>Update Line Width</B> command from the Properties menu
 
820
shows a dialog window with a number of toggle buttons for the different
 
821
line widths. The line width icons range from 1 pixel to 9 pixels wide, 
 
822
and are used to set the line widths of shapes. When you press <TT>Apply</TT>
 
823
then of every selected shape the line width is set to the chosen
 
824
line width.
 
825
 
 
826
<P>
 
827
<LI>
 
828
<B>Update Line Ends</B>.<A NAME="3233">&#160;</A><A NAME="3234">&#160;</A>
 
829
This entry pops up a dialog window to set the line ends of a line.
 
830
See figure&nbsp;<A HREF="usersguidenode5.html#LineEndDialog">3.5</A>.
 
831
You can change the 'begin of a line' as well
 
832
as the 'end of a line'; for each line end a set of tiled toggle buttons is displayed,
 
833
each containing a bitmap symbol for the corresponding line end.
 
834
When you issue a command to change the line ends, each selected
 
835
line is redrawn according to this new line ends.
 
836
This command is currently only available in the generic diagram editor (TGD).
 
837
 
 
838
<BR>
 
839
<DIV ALIGN="CENTER"><A NAME="LineEndDialog">&#160;</A><A NAME="3239">&#160;</A>
 
840
<TABLE WIDTH="50%">
 
841
<CAPTION><STRONG>Figure 3.5:</STRONG>
 
842
TCM line ends dialog.</CAPTION>
 
843
<TR><TD>
 
844
<DIV ALIGN="CENTER">
 
845
 
 
846
<!-- MATH: $\includegraphics[width=4.5in]{p/line_endsdialog.ps}$ -->
 
847
<IMG
 
848
 WIDTH="517" HEIGHT="480" ALIGN="BOTTOM" BORDER="0"
 
849
 SRC="usersguideimg29.gif"
 
850
 ALT="\includegraphics[width=4.5in]{p/line_endsdialog.ps}"></DIV></TD></TR>
 
851
</TABLE>
 
852
</DIV>
 
853
<BR>
 
854
<P>
 
855
<LI>The <B>Update Text Font</B> command from the Properties menu pops
 
856
up a dialog window in which you can select a font (see figure&nbsp;<A HREF="usersguidenode4.html#FontDialog">2.11</A>).
 
857
A font consists
 
858
of the attributes font family, font style and point size. 
 
859
For each of the three attributes there is a list of toggle buttons.
 
860
Also, each list of toggle buttons in the dialog has an extra check 
 
861
button called <TT>update</TT> <I>attribute</I> that indicates whether 
 
862
that font particular attribute should be updated or not. 
 
863
This makes it possible, for instance, to only change point sizes
 
864
or font families of some texts but to keep the other font 
 
865
attributes the same.
 
866
 
 
867
<P>
 
868
The dialog also shows a preview of some text in the selected font
 
869
so you can see how it will look in your diagram.
 
870
When you press the <TT>Apply</TT>-button then the dialog is dismissed and 
 
871
of each selected shape, the font is updated to the selected font. 
 
872
 
 
873
<P>
 
874
With the <B>Default Text Font</B> entry<A NAME="3249">&#160;</A>
 
875
<A NAME="3250">&#160;</A>
 
876
from the Default Properties submenu you get a similar dialog window.
 
877
Here you can set the default text font. The text shapes of every newly
 
878
created node or edge will get this font. The page headers and numbers 
 
879
are also drawn in this default font.
 
880
<LI>The <B>Update Text Alignment</B> command from the Properties menu
 
881
shows a dialog window with three toggle buttons, <TT>left</TT>, <TT>center</TT>
 
882
and <TT>right</TT>. Choose the alignment and press <TT>Apply</TT>. Then
 
883
the text alignments of all the text shapes in the selected shapes
 
884
are updated to the selected alignment. Note that this alignment determines
 
885
only the alignment of texts of multiple lines, not the positioning of
 
886
the text shape itself in or near its parent shape. 
 
887
 
 
888
<P>
 
889
<LI>The <B>Set/Unset Text Underlining</B> command from the Properties menu 
 
890
sets/unsets (toggles) the text underlining of the selected shapes.
 
891
 
 
892
<P>
 
893
<LI>The <B>Update Line Color</B> command from the Properties menu
 
894
pops up a color chooser dialog (see figure&nbsp;<A HREF="usersguidenode4.html#ColorDialog">2.13</A>).
 
895
The color chooser shows the
 
896
names of all the available colors in a scrolled list. With clicking
 
897
button-1 in the list you can select a color name. The associated
 
898
color is made visible in a label below the scrolled list, named
 
899
<TT>preview</TT>. When you press the <TT>Apply</TT> button then the line
 
900
colors of all the selected shapes are updated to this color.
 
901
 
 
902
<P>
 
903
<LI>The <B>Update Text Color</B> command from the Properties menu
 
904
pops up a color chooser dialog. This works the same as the
 
905
Update Line Color command except that after pressing <TT>Apply</TT>
 
906
the colors of all text shapes of the selected shapes are updated 
 
907
to the chosen color.
 
908
 
 
909
<P>
 
910
<LI>The <B>Update Fill Color</B> command from the Properties menu
 
911
pops up a color chooser dialog. This works the same as the
 
912
Update Line Color command except that after pressing <TT>Apply</TT>
 
913
all selected shapes are filled with the chosen color.
 
914
</UL>
 
915
<P>
 
916
 
 
917
<H1><A NAME="SECTION005120000000000000000">
 
918
3.12 Miscellaneous Edit Commands</A>
 
919
</H1>
 
920
<UL>
 
921
<P>
 
922
<LI>The <B>Node/Edge annotation</B> command from the properties
 
923
menu pops up a text edit dialog<A NAME="3269">&#160;</A>
 
924
in which you can type arbitrary text to annotate the subject.
 
925
See section&nbsp;<A HREF="usersguidenode4.html#TextEditDialog">2.5</A> for using the text edit dialogs.
 
926
 
 
927
<P>
 
928
<LI>With the <B>Find</B> menu entry in the Search menu you 
 
929
call<A NAME="3272">&#160;</A><A NAME="3273">&#160;</A>
 
930
a dialog in which you can search for some text string in 
 
931
the diagram. The find dialog is described in section&nbsp;<A HREF="usersguidenode4.html#TextEditor">2.5.3</A>.
 
932
From this dialog you can <B>find the next text</B> or 
 
933
<B>find all texts</B> that matches the string to find.
 
934
In the first case, the first shape that is found is 
 
935
selected and the scrollbars of the main window are moved to 
 
936
center the shape in the main window. When you click <TT>Find Next</TT> 
 
937
again, the next shape is selected (round-robin). 
 
938
When you choose <TT>Find All</TT>, all shapes that contain a string 
 
939
that matches are selected.
 
940
 
 
941
<P>
 
942
<LI>With the <B>Replace</B> menu entry in the Search menu you 
 
943
call<A NAME="3280">&#160;</A><A NAME="3281">&#160;</A>
 
944
a dialog in which you can replace texts in the diagram.
 
945
The replace dialog is described in section&nbsp;<A HREF="usersguidenode4.html#TextEditor">2.5.3</A>.
 
946
It has a find next command that works the same as in the
 
947
find dialog. Furthermore, the replace dialog has a replace next 
 
948
and a replace all button. <B>Replace next</B> means that for the next
 
949
shape (the shape that is found with find next) all their text 
 
950
strings that match are substituted by the string to replace
 
951
(that is the second string filled in in the dialog). 
 
952
In the case of <B>Replace all</B> this happens to all shapes in one
 
953
command (global substitution).
 
954
 
 
955
<P>
 
956
</UL>
 
957
<P>
 
958
Note that find and replace work on entire shapes at the 
 
959
same time. But keep in mind that a shape could have multiple 
 
960
text labels and each individual text label could match the string 
 
961
to find or the string to replace multiple times (at least when you 
 
962
look for a substring). When you want to find or replace within a single 
 
963
text label or table cell, you should load that text label first in 
 
964
the out-line text editor and then do a find or replace within that dialog.
 
965
The out-line text editor only works on a single text shape at the
 
966
time.
 
967
 
 
968
<P>
 
969
Note also that you can fill an empty string for the string to find
 
970
in both dialogs. An empty string matches only the text shapes 
 
971
that are empty. You can also fill in an empty string in the replace 
 
972
with text field, providing that the string to find field is not 
 
973
empty.
 
974
 
 
975
<P>
 
976
 
 
977
<H1><A NAME="SECTION005130000000000000000">&#160;</A><A NAME="3287">&#160;</A><A NAME="3288">&#160;</A>
 
978
<BR>
 
979
3.13 Undo and Redo
 
980
</H1>
 
981
The last issued edit commands can always be undone and, when undone, also redone
 
982
again. <B>Undo</B> is the first entry of the Edit menu (in the menu bar and 
 
983
also under button-3). Undo has the accelerator &lt;Ctrl+U&gt;. 
 
984
Undo is multiple levels deep. <B>Redo</B> is the second entry of the Edit menu
 
985
and has the accelerator &lt;Ctrl+R&gt;. You can redo the last undone
 
986
commands. Redo is also multiple levels. However, when you have undone a command
 
987
and then issued a new command then the undone command can not be redone anymore.
 
988
Both undo as redo show in their menu entry the name of the command that
 
989
can be undone respectively redone. In the current implementation the undo can
 
990
be several hundreds of levels deep, but when a new diagram is created by 
 
991
Load or New, the undo history is deleted. When undo or redo is not possible,
 
992
the corresponding menu entry is shaded and can not be issued. 
 
993
 
 
994
<P>
 
995
While you are busy performing a command, like creating an edge, moving
 
996
the paste box or resizing or moving some shapes, you can abort the
 
997
command by clicking button-1 during edge creation or button-2
 
998
for the other commands. When you have aborted, nothing is changed and the
 
999
undo or redo of that command is not possible nor necessary and the undo menu 
 
1000
entry lists the command issued before the aborted command.
 
1001
 
 
1002
<P>
 
1003
Figure&nbsp;<A HREF="usersguidenode5.html#AtomicEditCommands">3.6</A> summarizes all atomic commands 
 
1004
that are available in every diagram editor.
 
1005
These commands are either issued by the mouse, via the Edit or
 
1006
Properties menu, or via an accelerator. Each of these commands is 
 
1007
undo- and redo-able.
 
1008
 
 
1009
<P>
 
1010
<BR>
 
1011
<DIV ALIGN="CENTER"><A NAME="AtomicEditCommands">&#160;</A><A NAME="3297">&#160;</A>
 
1012
<TABLE WIDTH="50%">
 
1013
<CAPTION><STRONG>Figure 3.6:</STRONG>
 
1014
All atomic diagram edit commands.</CAPTION>
 
1015
<TR><TD>
 
1016
<DIV ALIGN="CENTER">
 
1017
 
 
1018
<!-- MATH: $\includegraphics{p/diagramcommands.eps}$ -->
 
1019
<IMG
 
1020
 WIDTH="746" HEIGHT="1031" ALIGN="BOTTOM" BORDER="0"
 
1021
 SRC="usersguideimg30.gif"
 
1022
 ALT="\includegraphics{p/diagramcommands.eps}"></DIV></TD></TR>
 
1023
</TABLE>
 
1024
</DIV>
 
1025
<BR>
 
1026
<P>
 
1027
 
 
1028
<H1><A NAME="SECTION005140000000000000000">&#160;</A>
 
1029
<A NAME="3302">&#160;</A><A NAME="3303">&#160;</A> 
 
1030
<A NAME="3304">&#160;</A>
 
1031
<BR>
 
1032
3.14 The Generic Diagram Editor (TGD)
 
1033
</H1>
 
1034
 
 
1035
<P>
 
1036
The generic diagram editor is a diagram editor that has 
 
1037
all the features that are described in this chapter. 
 
1038
 
 
1039
<P>
 
1040
 
 
1041
<H2><A NAME="SECTION005141000000000000000">
 
1042
3.14.1 Nodes and Edges</A>
 
1043
</H2>
 
1044
 
 
1045
<P>
 
1046
<A NAME="3306">&#160;</A><A NAME="3307">&#160;</A>
 
1047
The generic diagram editor has three node types <B>generic node</B>,
 
1048
<B>empty node</B> and <B>comment</B>, and one edge type, <B>generic edge</B>. 
 
1049
Empty nodes are nodes that don't have a name label. TGD has 
 
1050
no immediately enforced and no soft constraints. A generic or empty
 
1051
node can be represented by a number of node shape types and a 
 
1052
generic edge can be represented by a number of line types, 
 
1053
see figure&nbsp;<A HREF="usersguidenode5.html#GDRepresentations">3.8</A>.
 
1054
 
 
1055
<P>
 
1056
Each node shape and each line can be drawn in the line styles
 
1057
solid, dashed or dotted. You can set the default line style
 
1058
of the node shapes via an option menu below the tiled node buttons
 
1059
in the main window. The default line style for lines can be
 
1060
set via the same kind of option menu below the tiled edge buttons.
 
1061
The line style of a node shape or line can be changed via
 
1062
the Update Line Style command in the properties menu. This command
 
1063
sets the line style of all selected shapes to the chosen line style.
 
1064
 
 
1065
<P>
 
1066
All node shapes in TGD, except comments, bulls eyes, black dots and 
 
1067
solid horizontal and vertical bars can have an index text label. 
 
1068
If you want to see these text labels select the <TT>create/edit index</TT>
 
1069
<A NAME="3314">&#160;</A><A NAME="3315">&#160;</A> <A NAME="3316">&#160;</A> toggle button 
 
1070
below the node tiled buttons. By default the index labels are numbers 
 
1071
between 1 and the total number of nodes having an index. Each new node 
 
1072
shape will get the lowest currently unused index number higher than 0. 
 
1073
When you deselect the <TT>create/edit index</TT> toggle, all node indexes 
 
1074
remain visible, but new node shapes will not get an index number.
 
1075
When the <TT>create/edit index</TT> toggle is selected you can edit the node 
 
1076
indexes just like the name of a node. You can create a new index label
 
1077
for a node shape by editing the empty index label of the node shape.
 
1078
The node index can be made any string in TGD. If you issue the 
 
1079
Renumber Indexes<A NAME="3319">&#160;</A><A NAME="3320">&#160;</A>
 
1080
command from the Edit menu of TGD then the current indexes of the diagram
 
1081
are renumbered. Each node shape that has an index will get as index
 
1082
a unique number between 1 and the total number of node shapes with an
 
1083
index.
 
1084
 
 
1085
<P>
 
1086
In TGD it is possible to convert between different node shape types.
 
1087
For this, select the shapes that you want to convert to some other
 
1088
node shape type and choose the desired shape type from the submenu
 
1089
of <TT>Convert Node Shape Type</TT> in the Edit 
 
1090
menu.<A NAME="3322">&#160;</A><A NAME="3323">&#160;</A>
 
1091
This will pop up a dialog window containing toggle buttons for the
 
1092
various node shape types you can convert to.
 
1093
See figure&nbsp;<A HREF="usersguidenode5.html#ConvertNodeShapeTypes">3.7</A> for the available node shape types.
 
1094
This makes it possible to change a box in an ellipse or vice versa.
 
1095
Note however that only the representation is changed. The node itself
 
1096
is not changed.
 
1097
 
 
1098
<P>
 
1099
<BR>
 
1100
<DIV ALIGN="CENTER"><A NAME="ConvertNodeShapeTypes">&#160;</A><A NAME="3328">&#160;</A>
 
1101
<TABLE WIDTH="50%">
 
1102
<CAPTION><STRONG>Figure 3.7:</STRONG>
 
1103
Possible node shape types to convert to.</CAPTION>
 
1104
<TR><TD>
 
1105
<DIV ALIGN="CENTER">
 
1106
 
 
1107
<!-- MATH: $\includegraphics[width=3.5in]{p/convertnodeshapetype.eps}$ -->
 
1108
<IMG
 
1109
 WIDTH="402" HEIGHT="774" ALIGN="BOTTOM" BORDER="0"
 
1110
 SRC="usersguideimg31.gif"
 
1111
 ALT="\includegraphics[width=3.5in]{p/convertnodeshapetype.eps}"></DIV></TD></TR>
 
1112
</TABLE>
 
1113
</DIV>
 
1114
<BR>
 
1115
<P>
 
1116
In TGD, every node, including comment nodes, can be connected by any 
 
1117
type of edge and given the facts that you can make comment nodes 
 
1118
invisible by emptying its text string or make the line style of
 
1119
a node shape invisible and that you can connect edges with edges too, 
 
1120
you can make very complex drawings in TGD. The arrows and other kinds 
 
1121
of line endings of the lines in TGD can be changed via the Update Line 
 
1122
End command in the Properties menu.
 
1123
 
 
1124
<P>
 
1125
<BR>
 
1126
<DIV ALIGN="CENTER"><A NAME="GDRepresentations">&#160;</A><A NAME="3555">&#160;</A>
 
1127
<TABLE WIDTH="50%">
 
1128
<CAPTION><STRONG>Figure 3.8:</STRONG>
 
1129
Generic diagram nodes and edges.</CAPTION>
 
1130
<TR><TD>
 
1131
<DIV ALIGN="CENTER">
 
1132
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
 
1133
<TR><TD ALIGN="CENTER">
 
1134
<BR><HR><P></P> 
 
1135
<DIV ALIGN="CENTER">
 
1136
 
 
1137
<!-- MATH: $\includegraphics{p/box.eps}$ -->
 
1138
<IMG
 
1139
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1140
 SRC="usersguideimg32.gif"
 
1141
 ALT="\includegraphics{p/box.eps}">
 
1142
<BR> </DIV>
 
1143
<BR><HR>
 
1144
<BR></TD>
 
1145
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1146
<TD ALIGN="CENTER">
 
1147
<BR><HR><P></P> 
 
1148
<DIV ALIGN="CENTER">
 
1149
 
 
1150
<!-- MATH: $\includegraphics{p/diamond.eps}$ -->
 
1151
<IMG
 
1152
 WIDTH="88" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1153
 SRC="usersguideimg33.gif"
 
1154
 ALT="\includegraphics{p/diamond.eps}">
 
1155
<BR> </DIV>
 
1156
<BR><HR>
 
1157
<BR></TD>
 
1158
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Comment</TD>
 
1159
<TD ALIGN="CENTER">
 
1160
<BR><HR><P></P> 
 
1161
<DIV ALIGN="CENTER">
 
1162
 
 
1163
<!-- MATH: $\includegraphics{p/ellipse.eps}$ -->
 
1164
<IMG
 
1165
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1166
 SRC="usersguideimg34.gif"
 
1167
 ALT="\includegraphics{p/ellipse.eps}">
 
1168
<BR> </DIV>
 
1169
<BR><HR>
 
1170
<BR></TD>
 
1171
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1172
</TR>
 
1173
<TR><TD ALIGN="CENTER"><P>
 
1174
<HR><P></P> 
 
1175
<DIV ALIGN="CENTER">
 
1176
 
 
1177
<!-- MATH: $\includegraphics{p/circle.eps}$ -->
 
1178
<IMG
 
1179
 WIDTH="70" HEIGHT="70" ALIGN="BOTTOM" BORDER="0"
 
1180
 SRC="usersguideimg35.gif"
 
1181
 ALT="\includegraphics{p/circle.eps}">
 
1182
<BR> </DIV>
 
1183
<BR><HR>
 
1184
<BR></TD>
 
1185
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1186
<TD ALIGN="CENTER">
 
1187
<BR><HR><P></P> 
 
1188
<DIV ALIGN="CENTER">
 
1189
 
 
1190
<!-- MATH: $\includegraphics{p/square.eps}$ -->
 
1191
<IMG
 
1192
 WIDTH="70" HEIGHT="71" ALIGN="BOTTOM" BORDER="0"
 
1193
 SRC="usersguideimg36.gif"
 
1194
 ALT="\includegraphics{p/square.eps}">
 
1195
<BR> </DIV>
 
1196
<BR><HR>
 
1197
<BR></TD>
 
1198
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1199
<TD ALIGN="CENTER">
 
1200
<BR><HR><P></P> 
 
1201
<DIV ALIGN="CENTER">
 
1202
 
 
1203
<!-- MATH: $\includegraphics{p/blackdot.eps}$ -->
 
1204
<IMG
 
1205
 WIDTH="10" HEIGHT="10" ALIGN="BOTTOM" BORDER="0"
 
1206
 SRC="usersguideimg37.gif"
 
1207
 ALT="\includegraphics{p/blackdot.eps}">
 
1208
<BR> </DIV>
 
1209
<BR><HR>
 
1210
<BR></TD>
 
1211
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Empty node</TD>
 
1212
</TR>
 
1213
<TR><TD ALIGN="CENTER"><P>
 
1214
<HR><P></P> 
 
1215
<DIV ALIGN="CENTER">
 
1216
 
 
1217
<!-- MATH: $\includegraphics{p/roundedbox.eps}$ -->
 
1218
<IMG
 
1219
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1220
 SRC="usersguideimg38.gif"
 
1221
 ALT="\includegraphics{p/roundedbox.eps}">
 
1222
<BR> </DIV>
 
1223
<BR><HR>
 
1224
<BR></TD>
 
1225
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1226
<TD ALIGN="CENTER">
 
1227
<BR><HR><P></P> 
 
1228
<DIV ALIGN="CENTER">
 
1229
 
 
1230
<!-- MATH: $\includegraphics{p/verticalbar.eps}$ -->
 
1231
<IMG
 
1232
 WIDTH="35" HEIGHT="89" ALIGN="BOTTOM" BORDER="0"
 
1233
 SRC="usersguideimg39.gif"
 
1234
 ALT="\includegraphics{p/verticalbar.eps}">
 
1235
<BR> </DIV>
 
1236
<BR><HR>
 
1237
<BR></TD>
 
1238
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1239
<TD ALIGN="CENTER">
 
1240
<BR><HR><P></P> 
 
1241
<DIV ALIGN="CENTER">
 
1242
 
 
1243
<!-- MATH: $\includegraphics{p/horizontalbar.eps}$ -->
 
1244
<IMG
 
1245
 WIDTH="89" HEIGHT="36" ALIGN="BOTTOM" BORDER="0"
 
1246
 SRC="usersguideimg40.gif"
 
1247
 ALT="\includegraphics{p/horizontalbar.eps}">
 
1248
<BR> </DIV>
 
1249
<BR><HR>
 
1250
<BR></TD>
 
1251
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1252
</TR>
 
1253
<TR><TD ALIGN="CENTER"><P>
 
1254
<HR><P></P> 
 
1255
<DIV ALIGN="CENTER">
 
1256
 
 
1257
<!-- MATH: $\includegraphics{p/triangle.eps}$ -->
 
1258
<IMG
 
1259
 WIDTH="70" HEIGHT="58" ALIGN="BOTTOM" BORDER="0"
 
1260
 SRC="usersguideimg41.gif"
 
1261
 ALT="\includegraphics{p/triangle.eps}">
 
1262
<BR> </DIV>
 
1263
<BR><HR>
 
1264
<BR></TD>
 
1265
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1266
<TD ALIGN="CENTER">
 
1267
<BR><HR><P></P> 
 
1268
<DIV ALIGN="CENTER">
 
1269
 
 
1270
<!-- MATH: $\includegraphics{p/hexagon.eps}$ -->
 
1271
<IMG
 
1272
 WIDTH="116" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1273
 SRC="usersguideimg42.gif"
 
1274
 ALT="\includegraphics{p/hexagon.eps}">
 
1275
<BR> </DIV>
 
1276
<BR><HR>
 
1277
<BR></TD>
 
1278
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1279
<TD ALIGN="CENTER">
 
1280
<BR><HR><P></P> 
 
1281
<DIV ALIGN="CENTER">
 
1282
 
 
1283
<!-- MATH: $\includegraphics{p/ellipsedbox.eps}$ -->
 
1284
<IMG
 
1285
 WIDTH="88" HEIGHT="44" ALIGN="BOTTOM" BORDER="0"
 
1286
 SRC="usersguideimg43.gif"
 
1287
 ALT="\includegraphics{p/ellipsedbox.eps}">
 
1288
<BR> </DIV>
 
1289
<BR><HR>
 
1290
<BR></TD>
 
1291
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1292
</TR>
 
1293
<TR><TD ALIGN="CENTER"><P>
 
1294
<HR><P></P> 
 
1295
<DIV ALIGN="CENTER">
 
1296
 
 
1297
<!-- MATH: $\includegraphics{p/blackdotellipse.eps}$ -->
 
1298
<IMG
 
1299
 WIDTH="24" HEIGHT="24" ALIGN="BOTTOM" BORDER="0"
 
1300
 SRC="usersguideimg44.gif"
 
1301
 ALT="\includegraphics{p/blackdotellipse.eps}">
 
1302
<BR> </DIV>
 
1303
<BR><HR>
 
1304
<BR></TD>
 
1305
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Empty node</TD>
 
1306
<TD ALIGN="CENTER">
 
1307
<BR><HR><P></P> 
 
1308
<DIV ALIGN="CENTER">
 
1309
 
 
1310
<!-- MATH: $\includegraphics{p/solidverticalbar.eps}$ -->
 
1311
<IMG
 
1312
 WIDTH="4" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1313
 SRC="usersguideimg45.gif"
 
1314
 ALT="\includegraphics{p/solidverticalbar.eps}">
 
1315
<BR> </DIV>
 
1316
<BR><HR>
 
1317
<BR></TD>
 
1318
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1319
<TD ALIGN="CENTER">
 
1320
<BR><HR><P></P> 
 
1321
<DIV ALIGN="CENTER">
 
1322
 
 
1323
<!-- MATH: $\includegraphics{p/solidhorizontalbar.eps}$ -->
 
1324
 
 
1325
<BR> </DIV>
 
1326
<BR><HR>
 
1327
<BR></TD>
 
1328
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Empty node</TD>
 
1329
</TR>
 
1330
<TR><TD ALIGN="CENTER"><P>
 
1331
<HR><P></P> 
 
1332
<DIV ALIGN="CENTER">
 
1333
 
 
1334
<!-- MATH: $\includegraphics{p/stickman.eps}$ -->
 
1335
<IMG
 
1336
 WIDTH="33" HEIGHT="77" ALIGN="BOTTOM" BORDER="0"
 
1337
 SRC="usersguideimg47.gif"
 
1338
 ALT="\includegraphics{p/stickman.eps}">
 
1339
<BR> </DIV>
 
1340
<BR><HR>
 
1341
<BR></TD>
 
1342
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1343
<TD ALIGN="CENTER">
 
1344
<BR><HR><P></P> 
 
1345
<DIV ALIGN="CENTER">
 
1346
 
 
1347
<!-- MATH: $\includegraphics{p/folder.eps}$ -->
 
1348
<IMG
 
1349
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1350
 SRC="usersguideimg48.gif"
 
1351
 ALT="\includegraphics{p/folder.eps}">
 
1352
<BR> </DIV>
 
1353
<BR><HR>
 
1354
<BR></TD>
 
1355
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1356
<TD ALIGN="CENTER">
 
1357
<BR><HR><P></P> 
 
1358
<DIV ALIGN="CENTER">
 
1359
 
 
1360
<!-- MATH: $\includegraphics{p/subfolder.eps}$ -->
 
1361
<IMG
 
1362
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1363
 SRC="usersguideimg49.gif"
 
1364
 ALT="\includegraphics{p/subfolder.eps}">
 
1365
<BR> </DIV>
 
1366
<BR><HR>
 
1367
<BR></TD>
 
1368
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1369
</TR>
 
1370
<TR><TD ALIGN="CENTER"><P>
 
1371
<HR><P></P> 
 
1372
<DIV ALIGN="CENTER">
 
1373
 
 
1374
<!-- MATH: $\includegraphics{p/cube.eps}$ -->
 
1375
<IMG
 
1376
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1377
 SRC="usersguideimg50.gif"
 
1378
 ALT="\includegraphics{p/cube.eps}">
 
1379
<BR> </DIV>
 
1380
<BR><HR>
 
1381
<BR></TD>
 
1382
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1383
<TD ALIGN="CENTER">
 
1384
<BR><HR><P></P> 
 
1385
<DIV ALIGN="CENTER">
 
1386
 
 
1387
<!-- MATH: $\includegraphics{p/buildingblock.eps}$ -->
 
1388
<IMG
 
1389
 WIDTH="100" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1390
 SRC="usersguideimg51.gif"
 
1391
 ALT="\includegraphics{p/buildingblock.eps}">
 
1392
<BR> </DIV>
 
1393
<BR><HR>
 
1394
<BR></TD>
 
1395
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1396
<TD ALIGN="CENTER">
 
1397
<BR><HR><P></P> 
 
1398
<DIV ALIGN="CENTER">
 
1399
 
 
1400
<!-- MATH: $\includegraphics{p/disk.eps}$ -->
 
1401
<IMG
 
1402
 WIDTH="89" HEIGHT="55" ALIGN="BOTTOM" BORDER="0"
 
1403
 SRC="usersguideimg52.gif"
 
1404
 ALT="\includegraphics{p/disk.eps}"></DIV>
 
1405
<BR><HR>
 
1406
<BR></TD>
 
1407
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1408
</TR>
 
1409
<TR><TD ALIGN="CENTER"><P>
 
1410
<HR><P></P> 
 
1411
<DIV ALIGN="CENTER">
 
1412
 
 
1413
<!-- MATH: $\includegraphics{p/bce_boundary.eps}$ -->
 
1414
<IMG
 
1415
 WIDTH="73" HEIGHT="57" ALIGN="BOTTOM" BORDER="0"
 
1416
 SRC="usersguideimg53.gif"
 
1417
 ALT="\includegraphics{p/bce_boundary.eps}">
 
1418
<BR> </DIV>
 
1419
<BR><HR>
 
1420
<BR></TD>
 
1421
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1422
<TD ALIGN="CENTER">
 
1423
<BR><HR><P></P> 
 
1424
<DIV ALIGN="CENTER">
 
1425
 
 
1426
<!-- MATH: $\includegraphics{p/bce_controller.eps}$ -->
 
1427
<IMG
 
1428
 WIDTH="57" HEIGHT="70" ALIGN="BOTTOM" BORDER="0"
 
1429
 SRC="usersguideimg54.gif"
 
1430
 ALT="\includegraphics{p/bce_controller.eps}">
 
1431
<BR> </DIV>
 
1432
<BR><HR>
 
1433
<BR></TD>
 
1434
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1435
<TD ALIGN="CENTER">
 
1436
<BR><HR><P></P> 
 
1437
<DIV ALIGN="CENTER">
 
1438
 
 
1439
<!-- MATH: $\includegraphics{p/bce_entity.eps}$ -->
 
1440
<IMG
 
1441
 WIDTH="57" HEIGHT="57" ALIGN="BOTTOM" BORDER="0"
 
1442
 SRC="usersguideimg55.gif"
 
1443
 ALT="\includegraphics{p/bce_entity.eps}"></DIV>
 
1444
<BR><HR>
 
1445
<BR></TD>
 
1446
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1447
</TR>
 
1448
<TR><TD ALIGN="CENTER"><P>
 
1449
<HR><P></P> 
 
1450
<DIV ALIGN="CENTER">
 
1451
 
 
1452
<!-- MATH: $\includegraphics{p/comment.eps}$ -->
 
1453
<IMG
 
1454
 WIDTH="39" HEIGHT="9" ALIGN="BOTTOM" BORDER="0"
 
1455
 SRC="usersguideimg56.gif"
 
1456
 ALT="\includegraphics{p/comment.eps}">
 
1457
<BR> </DIV>
 
1458
<BR><HR>
 
1459
<BR></TD>
 
1460
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic node</TD>
 
1461
<TD ALIGN="CENTER">
 
1462
<BR><HR><P></P> 
 
1463
<DIV ALIGN="CENTER">
 
1464
 
 
1465
<!-- MATH: $\includegraphics{p/notebox.eps}$ -->
 
1466
<IMG
 
1467
 WIDTH="89" HEIGHT="45" ALIGN="BOTTOM" BORDER="0"
 
1468
 SRC="usersguideimg57.gif"
 
1469
 ALT="\includegraphics{p/notebox.eps}">
 
1470
<BR> </DIV>
 
1471
<BR><HR>
 
1472
<BR></TD>
 
1473
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Empty node</TD>
 
1474
<TD ALIGN="CENTER">&nbsp;</TD>
 
1475
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>&nbsp;</TD>
 
1476
</TR>
 
1477
<TR><TD ALIGN="CENTER"><P>
 
1478
<HR><P></P> 
 
1479
<DIV ALIGN="CENTER">
 
1480
 
 
1481
<!-- MATH: $\includegraphics{p/line.eps}$ -->
 
1482
<IMG
 
1483
 WIDTH="94" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
 
1484
 SRC="usersguideimg58.gif"
 
1485
 ALT="\includegraphics{p/line.eps}"></DIV>
 
1486
<BR><HR>
 
1487
<BR></TD>
 
1488
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1489
<TD ALIGN="CENTER">
 
1490
<BR><HR><P></P> 
 
1491
<DIV ALIGN="CENTER">
 
1492
 
 
1493
<!-- MATH: $\includegraphics{p/arrow.eps}$ -->
 
1494
<IMG
 
1495
 WIDTH="94" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
 
1496
 SRC="usersguideimg59.gif"
 
1497
 ALT="\includegraphics{p/arrow.eps}"></DIV>
 
1498
<BR><HR>
 
1499
<BR></TD>
 
1500
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1501
<TD ALIGN="CENTER">
 
1502
<BR><HR><P></P> 
 
1503
<DIV ALIGN="CENTER">
 
1504
 
 
1505
<!-- MATH: $\includegraphics{p/doubleheadedarrow.eps}$ -->
 
1506
<IMG
 
1507
 WIDTH="98" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
 
1508
 SRC="usersguideimg60.gif"
 
1509
 ALT="\includegraphics{p/doubleheadedarrow.eps}"></DIV>
 
1510
<BR><HR>
 
1511
<BR></TD>
 
1512
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1513
</TR>
 
1514
<TR><TD ALIGN="CENTER"><P>
 
1515
<HR><P></P> 
 
1516
<DIV ALIGN="CENTER">
 
1517
 
 
1518
<!-- MATH: $\includegraphics{p/doublearrow.eps}$ -->
 
1519
<IMG
 
1520
 WIDTH="94" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
 
1521
 SRC="usersguideimg61.gif"
 
1522
 ALT="\includegraphics{p/doublearrow.eps}"></DIV>
 
1523
<BR><HR>
 
1524
<BR></TD>
 
1525
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1526
<TD ALIGN="CENTER">
 
1527
<BR><HR><P></P> 
 
1528
<DIV ALIGN="CENTER">
 
1529
 
 
1530
<!-- MATH: $\includegraphics{p/generalizationarrow.eps}$ -->
 
1531
<IMG
 
1532
 WIDTH="92" HEIGHT="25" ALIGN="BOTTOM" BORDER="0"
 
1533
 SRC="usersguideimg62.gif"
 
1534
 ALT="\includegraphics{p/generalizationarrow.eps}"></DIV>
 
1535
<BR><HR>
 
1536
<BR></TD>
 
1537
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1538
<TD ALIGN="CENTER">
 
1539
<BR><HR><P></P> 
 
1540
<DIV ALIGN="CENTER">
 
1541
 
 
1542
<!-- MATH: $\includegraphics{p/openarrow.eps}$ -->
 
1543
<IMG
 
1544
 WIDTH="93" HEIGHT="22" ALIGN="BOTTOM" BORDER="0"
 
1545
 SRC="usersguideimg63.gif"
 
1546
 ALT="\includegraphics{p/openarrow.eps}"></DIV>
 
1547
<BR><HR>
 
1548
<BR></TD>
 
1549
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>Generic edge</TD>
 
1550
</TR>
 
1551
<TR><TD ALIGN="CENTER"><P></TD>
 
1552
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>&nbsp;</TD>
 
1553
<TD ALIGN="CENTER">&nbsp;</TD>
 
1554
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>&nbsp;</TD>
 
1555
<TD ALIGN="CENTER">&nbsp;</TD>
 
1556
<TD ALIGN="LEFT" VALIGN="TOP" WIDTH=47>&nbsp;</TD>
 
1557
</TR>
 
1558
</TABLE></DIV></TD></TR>
 
1559
</TABLE>
 
1560
</DIV>
 
1561
<BR>
 
1562
<P>
 
1563
<BR><HR><H4>Footnotes</H4>
 
1564
<DL>
 
1565
<DT><A NAME="foot3559">... curve&nbsp;</A><A NAME="foot3559"
 
1566
 HREF="usersguidenode5.html#tex2html53"><SUP>3.1</SUP></A>
 
1567
<DD>See 
 
1568
<A NAME="tex2html50"
 
1569
 HREF="http://www.moshplant.com/direct-or/bezier">http://www.moshplant.com/direct-or/bezier</A>
 
1570
for more information 
 
1571
about Bezier curves.
 
1572
 
 
1573
<DT><A NAME="foot3169">...
 
1574
node&nbsp;</A><A NAME="foot3169"
 
1575
 HREF="usersguidenode5.html#tex2html56"><SUP>3.2</SUP></A>
 
1576
<DD>The question is if it is still
 
1577
the same edge when it connects to a different node...
 
1578
 
 
1579
<DT><A NAME="foot3191">...
 
1580
undesirable&nbsp;</A><A NAME="foot3191"
 
1581
 HREF="usersguidenode5.html#tex2html57"><SUP>3.3</SUP></A>
 
1582
<DD>But imagine the situation that labels do
 
1583
not move when nodes and edges are moved, that would be far more
 
1584
frustrating.
 
1585
 
 
1586
<DT><A NAME="foot3221">...
 
1587
duplicated&nbsp;</A><A NAME="foot3221"
 
1588
 HREF="usersguidenode5.html#tex2html58"><SUP>3.4</SUP></A>
 
1589
<DD>Duplicate lines are meaningful too in
 
1590
our opinion, so we want to add them to TCM in the future.
 
1591
 
 
1592
</DL><HR>
 
1593
<!--Navigation Panel-->
 
1594
<A NAME="tex2html865"
 
1595
 HREF="usersguidenode6.html">
 
1596
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> 
 
1597
<A NAME="tex2html861"
 
1598
 HREF="User.html">
 
1599
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> 
 
1600
<A NAME="tex2html855"
 
1601
 HREF="usersguidenode4.html">
 
1602
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> 
 
1603
<A NAME="tex2html863"
 
1604
 HREF="usersguidenode1.html">
 
1605
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> 
 
1606
<A NAME="tex2html864"
 
1607
 HREF="usersguidenode15.html">
 
1608
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> 
 
1609
<BR>
 
1610
<B> Next:</B> <A NAME="tex2html866"
 
1611
 HREF="usersguidenode6.html">4. Data View Editors</A>
 
1612
<B> Up:</B> <A NAME="tex2html862"
 
1613
 HREF="User.html">Toolkit for Conceptual Modeling</A>
 
1614
<B> Previous:</B> <A NAME="tex2html856"
 
1615
 HREF="usersguidenode4.html">2. Document Editing</A>
 
1616
<!--End of Navigation Panel-->
 
1617
<ADDRESS>
 
1618
<I>Henk van de Zandschulp</I>
 
1619
<BR><I>2003-01-20</I>
 
1620
</ADDRESS>
 
1621
</BODY>
 
1622
</HTML>