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 -->
9
<TITLE>7. Table Editing</TITLE>
10
<META NAME="description" CONTENT="7. Table 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="usersguidenode10.html">
17
<LINK REL="previous" HREF="usersguidenode8.html">
18
<LINK REL="up" HREF="User.html">
19
<LINK REL="next" HREF="usersguidenode10.html">
22
<!--Navigation Panel-->
24
HREF="usersguidenode10.html">
25
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
28
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
30
HREF="usersguidenode8.html">
31
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
33
HREF="usersguidenode1.html">
34
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
36
HREF="usersguidenode15.html">
37
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
39
<B> Next:</B> <A NAME="tex2html996"
40
HREF="usersguidenode10.html">8. Tree Editing</A>
41
<B> Up:</B> <A NAME="tex2html992"
42
HREF="User.html">Toolkit for Conceptual Modeling</A>
43
<B> Previous:</B> <A NAME="tex2html986"
44
HREF="usersguidenode8.html">6. Architectural View Editors</A>
47
<!--End of Navigation Panel-->
48
<!--Table of Child-Links-->
49
<A NAME="CHILD_LINKS"><strong>Subsections</strong></A>
51
<LI><A NAME="tex2html997"
52
HREF="usersguidenode9.html#SECTION00910000000000000000">7.1 Editing Tables</A>
54
<LI><A NAME="tex2html998"
55
HREF="usersguidenode9.html#SECTION00911000000000000000">7.1.1 Definitions</A>
56
<LI><A NAME="tex2html999"
57
HREF="usersguidenode9.html#SECTION00912000000000000000">7.1.2 Selection Commands</A>
58
<LI><A NAME="tex2html1000"
59
HREF="usersguidenode9.html#SECTION00913000000000000000">7.1.3 Editing Text</A>
60
<LI><A NAME="tex2html1001"
61
HREF="usersguidenode9.html#SECTION00914000000000000000">7.1.4 Copying and Moving Text</A>
62
<LI><A NAME="tex2html1002"
63
HREF="usersguidenode9.html#SECTION00915000000000000000">7.1.5 Cutting and Pasting Text</A>
64
<LI><A NAME="tex2html1003"
65
HREF="usersguidenode9.html#SECTION00916000000000000000">7.1.6 Adding Rows and Columns</A>
66
<LI><A NAME="tex2html1004"
67
HREF="usersguidenode9.html#SECTION00917000000000000000">7.1.7 Deleting Rows and Columns</A>
68
<LI><A NAME="tex2html1005"
69
HREF="usersguidenode9.html#SECTION00918000000000000000">7.1.8 Moving Rows and Columns</A>
70
<LI><A NAME="tex2html1006"
71
HREF="usersguidenode9.html#SECTION00919000000000000000">7.1.9 Sorting Rows and Columns</A>
72
<LI><A NAME="tex2html1007"
73
HREF="usersguidenode9.html#SECTION009110000000000000000">7.1.10 Resizing Rows and Columns</A>
74
<LI><A NAME="tex2html1008"
75
HREF="usersguidenode9.html#SECTION009111000000000000000">7.1.11 Undo and Redo</A>
76
<LI><A NAME="tex2html1009"
77
HREF="usersguidenode9.html#SECTION009112000000000000000">7.1.12 Changing Properties of a Table</A>
78
<LI><A NAME="tex2html1010"
79
HREF="usersguidenode9.html#SECTION009113000000000000000">7.1.13 Miscellaneous Commands</A>
81
<LI><A NAME="tex2html1011"
82
HREF="usersguidenode9.html#SECTION00920000000000000000">7.2 The Generic Table Editor (TGT)</A>
83
<LI><A NAME="tex2html1012"
84
HREF="usersguidenode9.html#SECTION00930000000000000000">7.3 The Transaction Decomposition Table Editor (TTDT)</A>
85
<LI><A NAME="tex2html1013"
86
HREF="usersguidenode9.html#SECTION00940000000000000000">7.4 The Transaction-Use Table Editor (TTUT)</A>
87
<LI><A NAME="tex2html1014"
88
HREF="usersguidenode9.html#SECTION00950000000000000000">7.5 The Function-Entity type Table Editor (TFET)</A>
90
<!--End of Table of Child-Links-->
93
<H1><A NAME="SECTION00900000000000000000"> </A> <A NAME="TableEditing"> </A>
99
All TCM table editors are very similar. With each table editor
100
you can create and manipulate textual tables, i.e. tables in which
101
the cells are filled with a multi-line text string.
102
The table editors offer a lot of layout facilities and TCM has
103
special purpose table editors that have constraints built-in for a
104
specific modeling technique. Furthermore, the tables that are made
105
by TCM are kept graphically consistent and TCM keeps track of
106
the contents of the tables, which is important when you
107
have to do a lot of updates.
111
<H1><A NAME="SECTION00910000000000000000">
112
7.1 Editing Tables</A>
116
When you start up a table editor, or issue the New command in a table
117
editor, a new table is created having N x M empty cells (by default,
118
N = 7 and M = 7). New rows and columns of empty cells can be created
119
with the Add Row and Add Column commands. Selected rows and columns can be
120
deleted with the Delete Rows and Delete Columns commands. These commands
121
can be issued from the Edit menu.
124
If you start up a table editor from the <TT>tcm</TT> start-up tool,
125
before the main window of the editor is displayed, a dialog window with
126
a list of text fields is presented. This dialog has four fields:
127
number of rows, number of columns, default row height and default
128
column width. In these fields the default values are already filled
129
in. You can change these values for the editor that will be launched.
132
By default, the table is positioned on the drawing area having its top-left
133
corner a little right below the top-left corner of the drawing area.
134
You can reposition the entire table by means of the four arrow
135
buttons in the bottom-left corner of the main window. Like the diagram editors,
136
the page boundaries are displayed. If you print the table or save it as
137
plain PostScript, the table is positioned on the printed page exactly as
138
it is positioned on the drawing area (what you see is what you print).
141
Each row and each column has a sequence number label. These labels are used
142
to select an entire row or column or to move an entire row or column
143
to a new position. These labels cannot be edited.
144
In the View menu there is an option to hide the labels. In the
145
Printer Options submenu of the Print menu you can choose to print these
146
labels or not. See figure <A HREF="usersguidenode9.html#TableSnapShot">7.1</A> for a snap-shot of the table editor.
150
<DIV ALIGN="CENTER"><A NAME="TableSnapShot"> </A><A NAME="7341"> </A>
152
<CAPTION><STRONG>Figure 7.1:</STRONG>
153
Snap-shot of a table being edited.</CAPTION>
157
<!-- MATH: $\includegraphics[width=5.5in]{p/table_snapshot.ps}$ -->
159
WIDTH="632" HEIGHT="267" ALIGN="BOTTOM" BORDER="0"
160
SRC="usersguideimg161.gif"
161
ALT="\includegraphics[width=5.5in]{p/table_snapshot.ps}"></DIV></TD></TR>
167
<H2><A NAME="SECTION00911000000000000000">
168
7.1.1 Definitions</A>
172
We first give some definitions of the terms that are used in
173
the rest of this chapter.
176
The document that you edit is called a <B>table</B>.<A NAME="7347"> </A>
177
A table contains a number of <B>cells</B><A NAME="7349"> </A> which are
178
<I>invisible</I> rectangles.
179
The table has a number of <B>rows</B><A NAME="7352"> </A> and a number
180
of <B>columns</B><A NAME="7354"> </A>. Each cell is part of one row
181
and of one column. All rows in the table have the same number
182
of cells and all columns of a table have the same number of cells.
183
All cells in a row have the same height and all cells in
184
a column have the same width. All cells in a row have the same center
185
y-coordinate and all cells in a column have the same center
186
x-coordinate. All rows and columns are packed, i.e. rows and columns
187
cannot overlap and the distance between two rows or two columns is
188
zero when there are no other rows between them.
191
Each row has a <B>row label</B><A NAME="7356"> </A> which is an uneditable
192
label containing the row sequence number (rows are ordered according to
193
their y-coordinates), positioned both near the left edge of the first cell
194
of the row and near the right edge of the last cell of the row.
195
Each column has a <B>column label</B><A NAME="7358"> </A> which is an
196
uneditable label containing the column sequence number (columns are ordered according
197
to their x-coordinates), both positioned above the first cell of the column
198
and below the last cell of the column.
201
Each border line between two cells is called a <B>line piece</B><A NAME="7360"> </A>.
202
A line piece has a certain line style: solid, dashed, invisible and so on.
203
So, line pieces are the items of a table that can be made visible and
204
make the table appear like a grid. Line pieces are either horizontal or vertical.
205
Horizontal line pieces are part of the same column as the neighboring cells and
206
vertical line pieces are part of the same row as the neighboring cells.
209
A cell itself is invisible, only its four border lines are possibly visible.
210
A cell can contain some piece of <B>cell text</B><A NAME="7362"> </A>.
211
Cell text is an editable multi-line text string. The cell text is
212
positioned in the cell according to the <B>column alignment</B>,
213
<B>row alignment</B>, <B>text margin width</B> and <B>text margin height</B>
214
(which are all explained in the next sections).
215
A cell can be selected. A selected cell has a rectangle drawn inside
216
its four border lines.
220
<H2><A NAME="SECTION00912000000000000000">
221
7.1.2 Selection Commands</A>
225
A selected cell is highlighted by an extra black rectangle inside
226
the cell boundaries (see figure <A HREF="usersguidenode9.html#TableSnapShot">7.1</A>).
227
The distance between the selection rectangle and the line pieces
228
is a pixel or two. Here is a list of all the table editor
233
<LI><B>Select a single cell</B>.<A NAME="7371"> </A> Click button-1 on
234
an unselected cell. This cell becomes the only selected cell of the table.
235
<LI><B>Select an area of cells</B>.<A NAME="7373"> </A><A NAME="7374"> </A>
236
Drag with button-2 pressed down. Note that by this command cells
237
are <I>added</I> to the selection, never removed.
238
<LI><B>Move the selection</B>.<A NAME="7377"> </A> With the four arrow
239
keys on your keyboard you can move a single-cell or multiple-cell selection
241
<LI><B>Select a row of cells</B>. Click button-1 on the row label.
242
The cells in the row become the only selected cells in the table.<A NAME="7379"> </A>
243
<LI><B>Select a column of cells</B>. Click button-1 on the column label.
244
The cells in the column become the only selected cells in the table.<A NAME="7381"> </A>
245
<LI><B>Select all cells</B>. Choose <B>Select All</B> from the Edit menu.<A NAME="7384"> </A>
246
<LI><B>Add a cell to the selection</B>. Click button-2 on an unselected cell.<A NAME="7386"> </A>
247
<LI><B>Add a row to the selection</B>.<A NAME="7388"> </A>
248
Click button-2 on a row label. The row should have one or more unselected cells.
249
<LI><B>Add a column to the selection</B>.<A NAME="7390"> </A>
250
Click button-2 on a column label. The column should have one or more unselected cells.
251
<LI><B>Remove a cell from the selection</B>. Click button-2 on a selected cell.<A NAME="7392"> </A>
252
<LI><B>Remove a row from the selection</B>.<A NAME="7394"> </A>
253
Click button-2 on a row label. All cells of the row should be selected.
254
All cells of the row become unselected.
255
<LI><B>Remove a column from the selection</B>.<A NAME="7396"> </A>
256
Click button-2 on a column label. All cells of the column should be selected.
257
All cells of the column become unselected.
258
<LI><B>De-select all cells</B>. Click button-1 or button-2 somewhere outside
259
the cells, in the drawing area.<A NAME="7398"> </A>
263
<H2><A NAME="SECTION00913000000000000000"> </A>
264
<A NAME="7401"> </A><A NAME="7402"> </A>
270
Text editing works the same for all document editors.
271
See section <A HREF="usersguidenode4.html#EditingText">2.5.1</A>
272
for the different edit commands and the two different edit modes,
273
<B>in-line editing</B> and <B>out-line editing</B>.
276
For going into edit mode in a table editor, you have to be sure
277
that only a single cell is selected. When a single cell is selected
278
and you type in characters or you click with button-1 on the cell
279
then you enter edit mode. You leave edit mode when you either
280
click Button-2 with the mouse pointer in any position or you click
281
button-1 <I>outside</I> the cell that is being edited.
284
When a cell text has been edited and the autoresizing<A NAME="7407"> </A>
285
toggle is on, the cell sizes automatically adapt to the new
286
text size. I.e. if the text is too high to fit into the cell, the cell,
287
and consequently the entire row is made higher, and if the text is too wide
288
to fit into the cell, the cell, and consequently the entire column,
289
is made wider. If the cell text becomes less wide or high, and the autoresize
290
toggle is on, then the row will be made less high, respectively,
291
the column will be made less wide, down to the size that the other texts
292
in that row or column still fit.
293
The <B>default row height</B> and <B>default column width</B> is
294
the cell height and cell width when the table is initialized.
295
The default row height and column width of the table can be modified in
296
the Default Properties submenu of the Properties menu.
300
<H2><A NAME="SECTION00914000000000000000">
301
7.1.4 Copying and Moving Text</A>
305
To <B>move a single cell text</B><A NAME="7412"> </A>
306
from one cell to another, drag and drop it with button-1 from
307
an <I>unselected</I> source cell
308
to a destination cell (just like dragging an edge label in a diagram
309
editor). The old text of the destination cell will be overwritten.
310
If the text is dropped somewhere outside a cell or you click button-2 while
311
dragging, the command will be aborted.
314
<B>Copying a single cell text</B><A NAME="7415"> </A>
315
from one cell to another works in the same manner as moving a text.
316
The difference is that the source cell should be <I>selected</I>.
319
When the autoresizing toggle is on, cell sizes automatically adapt
320
to the new situation when text is copied or moved.
324
<H2><A NAME="SECTION00915000000000000000">
325
7.1.5 Cutting and Pasting Text</A>
329
The above method for moving or copying cell texts works only for
330
one cell at the time. To perform this on a whole group of cell texts
331
there are the Cut, Copy and Paste commands.
332
To cut cell texts to the cell text <B>buffer</B>, use the<A NAME="7419"> </A>
333
<B>Cut Texts </B><<B>Ctrl+X</B>> command in the Edit menu.
334
It clears the texts of the selected cells and copies them into the buffer.
335
Cut can also be a helpful command when you want to clear some part of the table.
336
You can copy cell texts to the buffer via the <B>Copy Texts </B><<B>Ctrl+C</B>> command
337
in the Edit menu. It copies the text into the buffer, but, unlike Cut, it does not
338
clear the cells.<A NAME="7422"> </A><A NAME="7423"> </A><A NAME="7424"> </A>
341
The cell texts in the buffer can be pasted into the table.
342
The <B>Paste Texts </B><<B>Ctrl+Y</B>> command in the Edit menu makes a <B>paste box</B>,
343
that is attached to the mouse pointer.<A NAME="7427"> </A>
344
The size of the paste box is about the size of the cell texts
345
in the buffer. You can move the paste box with the mouse and click button-1
346
somewhere into the table to release it. The cell in which the mouse cursor
347
(and the top-left of the paste box) was at the time you clicked button-1
348
becomes the top-left cell of the cell area in which the texts are pasted.
349
Which cell is pasted by which cell text is determined by the relative
350
row and column position (not of the actual size of the texts) when the
351
original texts were cut or copied into the paste buffer. When you paste,
352
the texts from the buffer are <I>copied</I> from the buffer into the table.
353
The old cell texts are overwritten. If the box is released with the mouse
354
pointer somewhere out of the table, the paste command is aborted. If the
355
paste box is released (partly) outside the table, only the part that
356
covers the table is modified.
360
<H2><A NAME="SECTION00916000000000000000">
361
7.1.6 Adding Rows and Columns</A>
366
<DIV ALIGN="CENTER"><A NAME="AddRowDialog"> </A><A NAME="7433"> </A>
368
<CAPTION><STRONG>Figure 7.2:</STRONG>
369
Add Row dialog window.</CAPTION>
373
<!-- MATH: $\includegraphics[width=2.5in]{p/addrowdialog.ps}$ -->
375
WIDTH="287" HEIGHT="297" ALIGN="BOTTOM" BORDER="0"
376
SRC="usersguideimg162.gif"
377
ALT="\includegraphics[width=2.5in]{p/addrowdialog.ps}"></DIV></TD></TR>
382
To add rows, use the <B>Add Rows</B><A NAME="7438"> </A>
383
<A NAME="7439"> </A> command in the Edit menu. A
384
prompt dialog is popped up asking for the number of rows to be
385
added (default is 1). In the dialog there is a toggle to choose between
386
adding the new rows above the selection or appending them to the bottom
387
of the table. ``Above the selection'' means one row above the highest
388
selected cell in the current selection, or when the selection is empty,
389
to the bottom of the table.
392
Adding columns, via the <B>Add Columns</B><A NAME="7441"> </A>
393
<A NAME="7442"> </A> command, is like adding rows.
394
There is a choice between adding the new columns to the left of the
395
current selection or appending to the right of the table.
398
After adding rows or columns the table is redrawn including the new
399
rows and columns in such a way that the top-left corner of the table
400
remains at the same position.
404
<H2><A NAME="SECTION00917000000000000000">
405
7.1.7 Deleting Rows and Columns</A>
409
To delete rows, use the <B>Delete Rows</B> command in the
410
Edit menu.<A NAME="7445"> </A><A NAME="7446"> </A>
411
This command deletes every row in which one or more cells are selected.
414
To delete columns, use the <B>Delete Columns</B> command in the
415
Edit menu.<A NAME="7448"> </A><A NAME="7449"> </A>
416
This command deletes every column in which one or more cells are selected.
419
To delete all cells, use the <B>Delete All</B> command.
420
This results into an empty table <A NAME="tex2html132"
421
HREF="#foot7451"><SUP>7.1</SUP></A>.
422
Before everything is deleted, a question dialog asks if you are sure about
426
To remove all unused rows and columns, use the <B>Purge</B>
427
<A NAME="7453"> </A> command. This command deletes
428
all rows and columns in which all cells have empty cell texts.
431
When you delete rows and/or columns, the table is redrawn in such
432
a way that the top-left corner stays at the same position.
436
<H2><A NAME="SECTION00918000000000000000">
437
7.1.8 Moving Rows and Columns</A>
441
<B>Moving a row</B> is possible via dragging a row label from the
442
<A NAME="7456"> </A><A NAME="7457"> </A> source row to the desired
443
destination row. If the dragged label is
444
released in one of the cells of the destination row, the source row,
445
where the label came from, is moved to the position of the
446
destination row and the destination row and the rows between
447
the source and destination row are all shifted one row up
448
(when the source row was above the destination row) or one row down
449
(when the source row was beneath the destination row) <A NAME="tex2html133"
450
HREF="#foot7458"><SUP>7.2</SUP></A>.
453
<B>Moving a column</B> works in a similar way.<A NAME="7460"> </A><A NAME="7461"> </A>
454
If you drop a column label into a cell of another column, the source
455
column moves to that position and the destination column and the
456
columns between those two are all shifted one column left or right.
459
Note that when you move a row or column, the row and column labels
460
are not moved with. They stay in the same consecutive order, of course.
463
After either command, the resulting table has the same position
464
and has the same size.
468
<H2><A NAME="SECTION00919000000000000000">
469
7.1.9 Sorting Rows and Columns</A>
473
With the <B>Sort Rows</B> command in the Edit menu you can sort rows
474
alphabetically.<A NAME="7464"> </A><A NAME="7465"> </A><A NAME="7466"> </A>
475
When the selection is empty, the table is sorted according
476
to the contents of the first column. If there are selected cells,
477
sorting is according to the column of the left-most selected cell.
479
With the <B>Sort Columns</B> command in the Edit menu you can sort
480
columns<A NAME="7468"> </A><A NAME="7469"> </A>
481
alphabetically. When the selection is empty, the table is sorted according
482
to the contents of the first row. If there are selected cells,
483
sorting is according to the row of the top-most selected cell.
486
After either command, the resulting table has the same position
491
<H2><A NAME="SECTION009110000000000000000"> </A>
492
<A NAME="7471"> </A><A NAME="7472"> </A><A NAME="7473"> </A><A NAME="7474"> </A>
494
7.1.10 Resizing Rows and Columns
498
Resizing rows and columns can be done by hand
499
but only when the autoresizing toggle is off.
500
To resize a row or column, drag a line piece between two rows or
501
columns: if you enter a line piece between two rows or
502
between two columns, the mouse pointer turns into a pair of vertical
503
respectively horizontal arrows.
504
To <B>resize a row</B> you can drag the line piece with button-1 up or down.
505
If you drop the line at a new position, the row <I>above</I> the dragged line,
506
is resized. The part of the table below the row that is resized, will be repositioned
510
To <B>resize a column</B> you can drag a line piece with button-1 left or
511
right. If you drop the line at a new position, the column to the <I>left</I> of the
512
line that is dragged, is resized.
513
The part of the table to the right of the column that is resized,
514
will be repositioned (but not resized).
518
<H2><A NAME="SECTION009111000000000000000">
519
7.1.11 Undo and Redo</A>
523
The table editors have a multiple-level undo for their commands.
524
A command which is undone, can be redone again.<A NAME="7480"> </A><A NAME="7481"> </A>
525
All table edit commands listed in the Edit and Properties menu can
526
be undone. Furthermore, the table edit commands issued by the mouse
527
can also be undone. In table <A HREF="usersguidenode9.html#TableCommands">7.3</A> all undo-able table
528
editor commands are listed together with how they can be called.
532
<DIV ALIGN="CENTER"><A NAME="TableCommands"> </A><A NAME="7486"> </A>
534
<CAPTION><STRONG>Figure 7.3:</STRONG>
535
All atomic table edit commands.</CAPTION>
539
<!-- MATH: $\includegraphics[height=7.5in]{p/tablecommands.eps}$ -->
541
WIDTH="697" HEIGHT="863" ALIGN="BOTTOM" BORDER="0"
542
SRC="usersguideimg163.gif"
543
ALT="\includegraphics[height=7.5in]{p/tablecommands.eps}"></DIV></TD></TR>
549
<H2><A NAME="SECTION009112000000000000000">
550
7.1.12 Changing Properties of a Table</A>
554
The Properties menu<A NAME="7491"> </A> contains certain commands that
555
change properties of cells and/or their texts.
560
<LI><B>Update Line Style</B>.<A NAME="7494"> </A><A NAME="7495"> </A>
564
<DIV ALIGN="CENTER"><A NAME="TableLineStyleDialog"> </A><A NAME="7499"> </A>
566
<CAPTION><STRONG>Figure 7.4:</STRONG>
567
Line style dialog.</CAPTION>
571
<!-- MATH: $\includegraphics[width=2.5in]{p/tablelinestyle.ps}$ -->
573
WIDTH="288" HEIGHT="276" ALIGN="BOTTOM" BORDER="0"
574
SRC="usersguideimg164.gif"
575
ALT="\includegraphics[width=2.5in]{p/tablelinestyle.ps}"></DIV></TD></TR>
580
The style of each line piece in the table can be set
581
individually. The possible line styles are: solid (default),
582
dashed, dotted, dual or invisible.
583
When you call Update Line Style from the Properties menu, a pop-up dialog
584
window is displayed, see figure <A HREF="usersguidenode9.html#TableLineStyleDialog">7.4</A>. The dialog
585
window contains two list of toggles,
586
the left one is for the different line styles and the right one
587
for specifying which lines you want to update. The possible updates are:
589
<LI><B>Update Top Sides</B>. Each line piece that borders on the top of
590
a selected cell is updated.<A NAME="7506"> </A>
591
<LI><B>Update Bottom Sides</B>. Each line piece that borders on the bottom of
592
a selected cell is updated.<A NAME="7508"> </A>
593
<LI><B>Update Left Sides</B>. Each line piece that borders on the left
594
of a selected cell is updated.<A NAME="7510"> </A>
595
<LI><B>Update Right Sides</B>. Each line piece that borders on the right
596
of a selected cell is updated.<A NAME="7512"> </A>
597
<LI><B>Update Surrounding Sides</B>. Each line piece that borders on
598
exactly one selected cell is updated.<A NAME="7514"> </A>
599
<LI><B>Update All Four Sides</B>. Each line piece that borders on
600
a selected cell is updated.<A NAME="7516"> </A>
601
Update line style is an undo-able command.
604
The entry <B>Default Line Style</B><A NAME="7519"> </A>
605
in the Default Properties submenu pops up a dialog window to
606
set the default line style. Each newly created line piece will have
607
this line style. It contains toggles with the possible values solid,
608
dashed, dotted, dual and invisible.
611
<LI><B>Update Line Width</B>.<A NAME="7521"> </A><A NAME="7522"> </A>
615
<DIV ALIGN="CENTER"><A NAME="TableLineWidthDialog"> </A><A NAME="7526"> </A>
617
<CAPTION><STRONG>Figure 7.5:</STRONG>
618
Line width dialog.</CAPTION>
622
<!-- MATH: $\includegraphics[width=2.5in]{p/tablelinewidth.ps}$ -->
624
WIDTH="288" HEIGHT="257" ALIGN="BOTTOM" BORDER="0"
625
SRC="usersguideimg165.gif"
626
ALT="\includegraphics[width=2.5in]{p/tablelinewidth.ps}"></DIV></TD></TR>
631
The width of each line piece in the table can be set
632
individually. The line width ranges from 1 till 6.
633
When you call Update Line Width from the Properties menu, a pop-up dialog
634
window is displayed, see figure <A HREF="usersguidenode9.html#TableLineWidthDialog">7.5</A>. The dialog
635
window contains two list of toggles, the left one is for the line widths
636
and the right one for specifying which lines you want to update.
637
This works the same as specifying of which lines you want to change
638
the line style as described in the previous item.
641
The entry <B>Default Line Width</B><A NAME="7532"> </A>
642
in the Default Properties submenu pops up a dialog window to
643
set the default line width. Each newly created line piece will have
647
<LI><B>Update Text Font</B>.<A NAME="7534"> </A><A NAME="7535"> </A>
648
This entry pops up a dialog window in which you can select a text font.
650
of the attributes font family, font style and point size.
651
For each of the three attributes there is a list of toggle buttons.
652
Also, each list of toggle buttons in the dialog has an extra check
653
button called <TT>update</TT> <I>attribute</I> that indicates whether
654
that font particular attribute should be updated or not.
655
This makes it possible, for instance, to only change point sizes
656
or font families of some cell texts but to keep the other font
660
The dialog also shows a preview of some text in the selected font
661
so you can see how it will look in your diagram.
662
When you press the <TT>Apply</TT>-button the dialog is dismissed and
663
of each selected shape the font is updated to the selected font.
664
Update font is an undo-able command.
667
With the <B>Default Text Font</B> entry<A NAME="7540"> </A>
668
<A NAME="7541"> </A>
669
from the Default Properties submenu you get a similar dialog window.
670
Here you can set the default text font. Each new text (i.e. text entered
671
in an empty cell) will get this font. The row and column sequence labels
672
and the page headers and numbers are also drawn in this default font.
675
<LI><B>Update Row Alignment</B>.<A NAME="7543"> </A><A NAME="7544"> </A><A NAME="7545"> </A>
676
The <B>row alignment</B> determines if a text is positioned
677
near the top, center or bottom of the cell. All cells in a row
678
have the same row alignment. To change the row alignment of one
679
or more rows, this entry pops up a dialog window showing toggles
680
with the three possible alignment types: Top, Center and Bottom.
681
If you select one of these, and press <TT>Apply</TT>, the alignment of all rows
682
in which one more cells are selected, is changed to this new alignment.
683
Update row alignment is an undo-able command.
686
The default row alignment can be set via <B>Default Row Alignment</B>
687
entry from the Default Properties submenu.<A NAME="7549"> </A>
688
When a new row is created, it will have a certain text alignment (top, center
689
or bottom) which is visible when the row contains one or more cell texts. You
690
can set the default row alignment with a similar pop-up window as Update
691
Row Alignment. When you change the default row alignment, all new rows
692
receive this alignment as well as all the rows that contain no cell texts.
695
<LI><B>Update Column Alignment</B>.<A NAME="7551"> </A><A NAME="7552"> </A><A NAME="7553"> </A>
696
The <B>column alignment</B> determines if a text is positioned
697
near the left, center or right of the cell. All cells in a column
698
have the same column alignment. To change the column alignment
699
of one or more columns, this entry pops up a dialog window showing toggles
700
with the three possible alignment types: Left, Center and Right.
701
If you select one of these, and press <TT>Apply</TT>, the alignment of
702
all columns in which one more cells are selected, is changed
703
to this new alignment. Update column alignment is an undo-able command.
706
The default column alignment can be changed via the entry
707
<B>Default Column Alignment</B> from the Default Properties
708
submenu,<A NAME="7557"> </A> similar to how you
709
change the default row alignment.
712
<LI><B>Set/Unset Text Underlining</B>
713
<A NAME="7559"> </A><A NAME="7560"> </A>
714
This option sets/unsets (toggles) the text underlining of the selected
720
The following default table properties can be set via the Default
721
Properties submenu of the Properties menu:
726
<LI><B>Text Margin Width</B>.<A NAME="7564"> </A><A NAME="7565"> </A>
727
All cells of a table have the same <B>margin width</B> which is the
728
minimal distance between the cell texts and the vertical lines
729
of the table. You can update this distance via the entry
730
Text Margin Width of the Default Properties submenu and a slider pop-up
731
dialog is displayed. If, after the update, some of the texts do not fit
732
into their cells and the autoresizing toggle is on, these cells are resized.
735
<LI><B>Text Margin Height</B>.<A NAME="7568"> </A><A NAME="7569"> </A>
736
All cells have the same <B>margin height</B> which is the minimal distance
737
between the cell texts and the horizontal lines of the table.
738
You can update this distance via the entry Text Margin Height of the
739
Default Properties submenu and a slider pop-up dialog is displayed.
740
If, after the update, some of the texts do not fit into
741
their cells and the autoresizing toggle is on, these cells are resized.
744
<LI><B>Default Row Height</B>.<A NAME="7572"> </A>
745
All rows have at least this height. Every new row that is created
746
has this height and if you resize a row by hand (when
747
autoresizing is off), you cannot make the row less high then this
748
height. This entry pops-up a slider dialog for inspecting and updating
749
the default row height. Furthermore, when the autoresize toggle is on,
750
autoresizing is applied to the rows.
753
<LI><B>Default Column Width</B>.<A NAME="7574"> </A>
754
All columns have at least this width. Every new column that is created
755
has this width and if you resize a column by hand (when
756
autoresizing is off), you cannot make the column less wide then this
757
width. This entry pops-up a slider dialog for inspecting and updating
758
the default column width. Furthermore, when the autoresize toggle is on,
759
autoresizing is applied to the columns.
762
<LI><B>Default Number of Rows</B>.<A NAME="7576"> </A>
763
When a new table is created on start-up or by the New command or when
764
the table was empty and the first column is created, the table
765
will have a default number of rows. You can inspect
766
and update this number via a pop-up slider dialog called from this menu entry.
769
<LI><B>Default Number of Columns</B>.<A NAME="7578"> </A>
770
When a new table is created on start-up or by the New command or when
771
the table was empty and the first row is created, the table will have a
772
default number of columns. You can inspect
773
and update this number via a pop-up slider dialog called from this menu entry.
779
<H2><A NAME="SECTION009113000000000000000">
780
7.1.13 Miscellaneous Commands</A>
786
<LI>The <B>Cell annotation</B> command from the properties
787
menu pops up a text edit dialog<A NAME="7583"> </A>
788
in which you can type arbitrary text to annotate a cell
789
in the table. See section <A HREF="usersguidenode4.html#TextEditDialog">2.5</A> for using the
791
<LI><B>Find</B>.<A NAME="7586"> </A>
792
With the Find menu entry in the Search menu you call
793
a dialog by which you can search for some text in the table.
794
The find dialog is described in section <A HREF="usersguidenode4.html#TextEditor">2.5.3</A>.
795
From this dialog you can <B>find the next text</B> or
796
<B>find all texts</B> that matches the string to find.
797
In the first case the first cell that is found is
798
selected and the scrollbars of the main window are moved to
799
center the cell in the main window. When you click <TT>Find Next</TT>
800
again, the next cell is selected (top down, from left to right).
801
When you choose <TT>Find All</TT>, all cells that contain a string
802
that matches is selected. The find dialog contains two toggles,
803
one to determine that the matching has to be case sensitive (default off)
804
and the other to determine that a substring of the cell has to
808
<LI><B>Replace</B>.<A NAME="7593"> </A>
809
With the <B>Replace</B> menu entry in the Search menu you call
810
a dialog by which you can replace texts in the table.
811
The replace dialog is described in section <A HREF="usersguidenode4.html#TextEditor">2.5.3</A>.
812
It has a find next command that works the same as in the
813
find dialog. Furthermore, the replace dialog has a <B>replace next</B>
814
and a <B>replace all</B> button. Replace next means that in the next
815
cell (the cell that is found with find next) the text
816
strings that match are substituted with the string to replace
817
(that is the second string filled in in the dialog).
818
In the case of replace all this happens to the entire table in
819
one command (global substitution).
822
Note that find and replace work on entire cells. But keep in mind that in a
823
cell, the cell text could match the string to find or the string to replace
824
multiple times (at least when you search a substring). When you want to
825
find and replace within a single cell, you should load that text label first in
826
the out-line text editor and then do find and replace within the out-line edit
834
<H1><A NAME="SECTION00920000000000000000"> </A>
835
<A NAME="7600"> </A><A NAME="7601"> </A><A NAME="7602"> </A>
837
7.2 The Generic Table Editor (TGT)
841
This editor has exactly the features described in the previous section.
842
The contents of the cells are unrestricted.
843
In the remaining sections the specific table editors
844
are described. These work almost the same as the generic editor.
845
The table editors are able to read in each others tables (although
846
a warning message is given when you do this).
850
<H1><A NAME="SECTION00930000000000000000"> </A>
851
<A NAME="7604"> </A>
852
<A NAME="7605"> </A>
853
<A NAME="7606"> </A>
855
7.3 The Transaction Decomposition Table Editor (TTDT)
859
According to this modeling technique, the entries in row 0 contain
860
transaction names. The entries in column 0 contain object class (or
861
entity type) names. The other entries contain zero or more action names.
862
To graphically separate row 0 and column 0 from the rest of the
863
table, the initial table separates them by default by a dual line.
864
The editor does not check for that layout, however.
865
For an example see figure <A HREF="usersguidenode9.html#TDTExample">7.7</A>.
866
Currently, the editor checks the constraints in figure <A HREF="usersguidenode9.html#TDConstraints">7.6</A>.
870
<DIV ALIGN="CENTER"><A NAME="TDConstraints"> </A><A NAME="7612"> </A>
872
<CAPTION><STRONG>Figure 7.6:</STRONG>
873
Immediately checked and soft constraints on TDTs.</CAPTION>
877
<!-- MATH: $\includegraphics{p/TDconstraints.eps}$ -->
879
WIDTH="492" HEIGHT="265" ALIGN="BOTTOM" BORDER="0"
880
SRC="usersguideimg166.gif"
881
ALT="\includegraphics{p/TDconstraints.eps}"></DIV></TD></TR>
887
<DIV ALIGN="CENTER"><A NAME="TDTExample"> </A><A NAME="7619"> </A>
889
<CAPTION><STRONG>Figure 7.7:</STRONG>
890
Example transaction decomposition table.</CAPTION>
894
<!-- MATH: $\includegraphics{p/tdt_example.eps}$ -->
896
WIDTH="555" HEIGHT="214" ALIGN="BOTTOM" BORDER="0"
897
SRC="usersguideimg167.gif"
898
ALT="\includegraphics{p/tdt_example.eps}"></DIV></TD></TR>
904
<H1><A NAME="SECTION00940000000000000000"> </A>
905
<A NAME="7624"> </A>
906
<A NAME="7625"> </A>
907
<A NAME="7626"> </A>
909
7.4 The Transaction-Use Table Editor (TTUT)
913
According to this modeling technique,
914
this table has five columns. The entries in row 0 are initialized with
915
the labels <TT>Create</TT>, <TT>Read</TT>, <TT>Update</TT> and <TT>Delete</TT>.
916
The entries in column 0 contain transaction names.
917
The other entries contain zero or more object class (or entity type)
918
names. To graphically separate row 0 and column 0 from the rest of the
919
table, the initial table separates them by a dual line.
920
The editor does not check for that layout, however.
921
For an example see figure <A HREF="usersguidenode9.html#TUTExample">7.8</A>.
922
The editor checks the immediately and soft constraints of
923
figure <A HREF="usersguidenode9.html#TUConstraints">7.9</A>.
927
<DIV ALIGN="CENTER"><A NAME="TUTExample"> </A><A NAME="7636"> </A>
929
<CAPTION><STRONG>Figure 7.8:</STRONG>
930
Example transaction-use table.</CAPTION>
934
<!-- MATH: $\includegraphics[width=5.5in]{p/tut_example.eps}$ -->
936
WIDTH="633" HEIGHT="206" ALIGN="BOTTOM" BORDER="0"
937
SRC="usersguideimg168.gif"
938
ALT="\includegraphics[width=5.5in]{p/tut_example.eps}">
946
<DIV ALIGN="CENTER"><A NAME="TUConstraints"> </A><A NAME="7643"> </A>
948
<CAPTION><STRONG>Figure 7.9:</STRONG>
949
Immediately checked and soft constraints on TUTs.</CAPTION>
953
<!-- MATH: $\includegraphics{p/TUconstraints.eps}$ -->
955
WIDTH="504" HEIGHT="234" ALIGN="BOTTOM" BORDER="0"
956
SRC="usersguideimg169.gif"
957
ALT="\includegraphics{p/TUconstraints.eps}"></DIV></TD></TR>
963
<H1><A NAME="SECTION00950000000000000000"> </A>
964
<A NAME="7648"> </A>
965
<A NAME="7649"> </A>
966
<A NAME="7650"> </A>
968
7.5 The Function-Entity type Table Editor (TFET)
972
This kind of the table is also called <I>Function-Entity Matrix</I>
974
HREF="usersguidenode14.html#Wieringa96-01">22</A>].
975
According to this modeling technique, the entries in row 0 contain transaction names.
976
The entries in column 0 contain object class (or entity type) names.
977
The other entries contain <B>CRUD</B> strings:<A NAME="7654"> </A>
978
a string containing zero or one occurrences of the
979
characters C, R, U and D, and that does not contain any other
980
character. To separate row 0 and column 0 from the rest,
981
the initial table separates them from the rest by a dual line.
982
The editor does not check for that layout, however.
986
HREF="usersguidenode14.html#Wieringa96-01">22</A>] it is shown how you can define
987
<B>business areas</B><A NAME="7657"> </A>
988
in a function-entity type table. To draw business areas in TFET you
989
could use the Update Line Width from the Properties menu.
990
See figure <A HREF="usersguidenode9.html#FETExample">7.11</A> for an example table.
991
Currently, the editor checks the constraints in figure <A HREF="usersguidenode9.html#FEConstraints">7.10</A>.
995
<DIV ALIGN="CENTER"><A NAME="FEConstraints"> </A><A NAME="7663"> </A>
997
<CAPTION><STRONG>Figure 7.10:</STRONG>
998
Immediately checked and soft constraints on FETs.</CAPTION>
1000
<DIV ALIGN="CENTER">
1002
<!-- MATH: $\includegraphics{p/FEconstraints.eps}$ -->
1004
WIDTH="539" HEIGHT="295" ALIGN="BOTTOM" BORDER="0"
1005
SRC="usersguideimg170.gif"
1006
ALT="\includegraphics{p/FEconstraints.eps}"></DIV></TD></TR>
1012
<DIV ALIGN="CENTER"><A NAME="FETExample"> </A><A NAME="7670"> </A>
1014
<CAPTION><STRONG>Figure 7.11:</STRONG>
1015
Example function-entity type table partitioned into business areas.</CAPTION>
1017
<DIV ALIGN="CENTER">
1019
<!-- MATH: $\includegraphics{p/fet_example.eps}$ -->
1021
WIDTH="673" HEIGHT="370" ALIGN="BOTTOM" BORDER="0"
1022
SRC="usersguideimg171.gif"
1023
ALT="\includegraphics{p/fet_example.eps}">
1030
<BR><HR><H4>Footnotes</H4>
1032
<DT><A NAME="foot7451">... table </A><A NAME="foot7451"
1033
HREF="usersguidenode9.html#tex2html132"><SUP>7.1</SUP></A>
1034
<DD>Contrary the common belief an
1035
empty table is still a table.
1037
<DT><A NAME="foot7458">... row) </A><A NAME="foot7458"
1038
HREF="usersguidenode9.html#tex2html133"><SUP>7.2</SUP></A>
1040
more complicated than it actually is, experiment with this.
1043
<!--Navigation Panel-->
1044
<A NAME="tex2html995"
1045
HREF="usersguidenode10.html">
1046
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
1047
<A NAME="tex2html991"
1049
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
1050
<A NAME="tex2html985"
1051
HREF="usersguidenode8.html">
1052
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
1053
<A NAME="tex2html993"
1054
HREF="usersguidenode1.html">
1055
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
1056
<A NAME="tex2html994"
1057
HREF="usersguidenode15.html">
1058
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
1060
<B> Next:</B> <A NAME="tex2html996"
1061
HREF="usersguidenode10.html">8. Tree Editing</A>
1062
<B> Up:</B> <A NAME="tex2html992"
1063
HREF="User.html">Toolkit for Conceptual Modeling</A>
1064
<B> Previous:</B> <A NAME="tex2html986"
1065
HREF="usersguidenode8.html">6. Architectural View Editors</A>
1066
<!--End of Navigation Panel-->
1068
<I>Henk van de Zandschulp</I>
1069
<BR><I>2003-01-20</I>