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

« back to all changes in this revision

Viewing changes to doc/wishlist/WishList.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
<html>
 
2
<head>
 
3
<title> Wishes for TCM </title>
 
4
</head>
 
5
<body>
 
6
 
 
7
 
 
8
<P>For a online sortable version of the wishlist please <A HREF="http://www.cs.utwente.nl/~tcm/database/wishlist.php3">look here</A>.</P>
 
9
 
 
10
 
 
11
 
 
12
 
 
13
<pre>
 
14
 
 
15
Purpose          : wish list.
 
16
System           : TCM
 
17
Version          : 2.20
 
18
Version date     : Jan 20, 2003.
 
19
Last Update      : Jan 16, 2003.
 
20
Author           : Henk van de Zandschulp
 
21
--------------------------------------------------------------
 
22
 
 
23
MAXITEM = 347
 
24
 
 
25
--------------------------------------------------------------
 
26
 
 
27
Every wish has a sequence number and every wish is annotated with 
 
28
a priority 0, 1, 2 or 3.  These priorities mean:
 
29
 
 
30
(0): is done. These are listed in the file Wishlist.done in 
 
31
     the order by which they are done.
 
32
 
 
33
(1): should _not_ be done, with explanation why.
 
34
 
 
35
(2): should be done (low priority).
 
36
 
 
37
(3): should be done (high priority).
 
38
 
 
39
Wishes with a 2 or 3 are real wishes. These wishes are in one of the
 
40
following categories: 
 
41
 
 
42
A. Distribution and porting of TCM.
 
43
B. New editors.
 
44
C. Features for existing editors. These have the sub-categories:
 
45
   C1. For all editors.
 
46
   C2. Only for table editors.
 
47
   C3. Only for diagram editors.
 
48
   C4. For specific diagram editors.
 
49
   C5. Only for tree editors.
 
50
D. Implementation.
 
51
E. Documentation.
 
52
 
 
53
Wishes labeled 0 and 1 can be found in the file WishList.done.
 
54
 
 
55
 
 
56
A. Distribution.
 
57
----------------------------------
 
58
 
 
59
233(2) Make compilations for other Unixes such as HPUX, IRIX, AIX and OSF/1.
 
60
 
 
61
239(3) Send announcement to every site/newsgroup that has info about TCM 
 
62
        (or should have info about TCM) that TCM 2.0 exists:
 
63
        news:comp.os.linux.announce
 
64
        http://www.slashdot.org
 
65
        http://www.linuxtoday.com
 
66
 
 
67
        already listed, send update:
 
68
        http://www.icewalkers.com
 
69
        http://SAL.KachinaTech.COM
 
70
        http://www.appwatch.com
 
71
        http://www.freshmeat.net
 
72
        http://www.lesstif.org
 
73
        http://www.linuxapps.com
 
74
        http://www.fokus.gmd.de/linux/linux-softw-xappl.html
 
75
        http://stommel.tamu.edu/~baum/linuxlist/linuxlist
 
76
        http://www.execpc.com/lsm/LSM
 
77
        http://www.linuxlinks.com
 
78
 
 
79
        to be listed:
 
80
        http://www.software-engineer.org
 
81
        http://www.objectsbydesign.com/tools/umltools_byPrice.html
 
82
        http://www.linuxberg.com
 
83
        http://download.cnet.com
 
84
 
 
85
 
 
86
B. Building new editors.
 
87
--------------------------------------
 
88
* worked out further some place else in a requirements & design document *
 
89
 
 
90
Building UML editors:
 
91
 
 
92
- Static Structure Diagrams (TSSD)
 
93
 
 
94
- Use-case Diagrams (TUCD)
 
95
 
 
96
- State Charts (TSCD)
 
97
 
 
98
- Activity Diagrams (TACD)
 
99
 
 
100
- Collaboration Diagrams (TCBD)
 
101
 
 
102
- Sequence Diagram (TSQD)
 
103
 
 
104
- Component Diagram (TCPD)
 
105
 
 
106
- Deployment Diagram (TDPD)
 
107
 
 
108
 
 
109
 
 
110
C. Updates and extensions to existing editors.
 
111
--------------------------------------------------------
 
112
 
 
113
C1. For all editors
 
114
--------------------------------------------------------
 
115
 
 
116
007(2). The user can save a configuration file from TCM. Configuration 
 
117
        changes will be stored in this personal file (.tcmrc) and these will
 
118
        be loaded automatically on startup of an editor.
 
119
 
 
120
082(2). Tasks which only can be performed with the use of the mouse should
 
121
        also be performable by a keystroke (or a combination of keystrokes).
 
122
 
 
123
088(2). Show/Save/Print the annotations of all (selected) shapes or cells
 
124
        at once (show in text-window, save/print apart from the drawing).
 
125
 
 
126
139(2) Add extra entries to the configuration file tcm.conf for the 
 
127
        user interface colors and fonts (instead of the separate file with
 
128
        X resources).
 
129
 
 
130
169(2). Possibility to change the page margin width/height on printing 
 
131
        (set the minimal distance between the diagram or table and the page boundary).
 
132
 
 
133
186(2). Testing on name equivalence: ignore white spaces (space, tab, newline)
 
134
        at the beginning and the end of a name. Every sequence of more than one 
 
135
        white space is equivalent to a single space. Uses implementation item 252.
 
136
 
 
137
191(2). Combine all printer options in one dialogue window (instead of all 
 
138
        these different menu items). I.e. printer name, #copies, print command (and 
 
139
        other related commands), tumbled, duplex, banner etc. in one 
 
140
        PrinterOptionDialog.
 
141
 
 
142
194(2). Printing from a text dialog uses the external programm text2ps. This 
 
143
        should be replaced by something more powerful, for the options of text2ps 
 
144
        are rather limited (e.g. no support for colors, fonts or alignment).
 
145
        Uses implementation item 253.
 
146
 
 
147
195(2). All coordinates should be floats (real numbers) instead of integers.
 
148
 
 
149
210(2). Make the menu under button-3 context-sensitive in the editor. In the 
 
150
        "background" the current Edit menu should be displayed, but clicking button-3 
 
151
        above a shape/cell, only a relevant set of commands for this particular 
 
152
        shape or cell should be displayed.
 
153
 
 
154
220(2). Specify colors also by red-green-blue value (instead of by color name)
 
155
        in the color chooser. Colors will also be written in the TCM files as 
 
156
        "#RRGGBB" (because not every possible color has a name). Users can then
 
157
        specify a color by three sliders in the color chooser dialog (in addition 
 
158
        to the current method of choosing colors from a fixed list of color names). 
 
159
        The preview immediately shows the color associated with the slider values.
 
160
 
 
161
221(2). Implement bubble-help labels with multiple lines of text (now
 
162
        we have only single lines).
 
163
 
 
164
229(2). Undo/Redo for Load and New. This means also that Load and New 
 
165
        become command classes.
 
166
 
 
167
306(2). Undo/Redo for Update Node/Edge/Cell annotation.
 
168
 
 
169
243(2). Implement drag and drop of shapes and subjects (extension of the 
 
170
        cut-paste buffer) between two different editor processes (now it only 
 
171
        works within the same editor process). It should at least work for 
 
172
        editors of the same type and also for editors with similar subjects 
 
173
        such the two tree editors and between the different table editors.
 
174
 
 
175
244(2). Make a prototype of some simple code-generator from a TCM-file. It's 
 
176
        a set of extendable parser+generator classes for the TCM file format that 
 
177
        can be extended by other users with specific needs.
 
178
        Possible languages to generate are XML, HTML, C++, Java, SQL, ASCII.
 
179
 
 
180
249(2). Set text font, text color and text alignment in the text edit 
 
181
        window (= the text window used for outline editing). 
 
182
 
 
183
270(2). Read the fonts that can be used in TCM from a font definition file.
 
184
        This makes it possible to extend TCM with Palatino, Lucida and
 
185
        others that are not available on every system.
 
186
 
 
187
280(2). File locking mechanism. A document file that is being edited by
 
188
        some editor can only loaded read-only by another editor process
 
189
        (overriding should still be possible and removing the lock too).
 
190
 
 
191
284(2). New print option: print current (chosen) page in the drawing 
 
192
        area or print all the pages in the drawing area.
 
193
 
 
194
289(2). Cut+paste of (parts) of text labels via the Motif cut-paste buffer
 
195
        (just like you can do within the motif textfields such as the document
 
196
        name).
 
197
 
 
198
290(2). Connection of TCM with BSCW (groupware) system.
 
199
        
 
200
291(2). Startup online HTML user manual pages in Netscape from the 
 
201
        TCM editor.
 
202
 
 
203
300(2). Export to Fig format 3.2 instead of the older 3.1 format.
 
204
 
 
205
296(2). Add possibility to export diagrams in XML format.
 
206
 
 
207
308(2). All editors should be expanded with the UML Notebox symbol, which can
 
208
        be connected to all Nodes and Edges by means of a Dashed Line.
 
209
 
 
210
309(2). Add option to transform the Inline Editor into a Form Editor, adjusted 
 
211
        to the Shapetype being edited. Default this option will be "Inline
 
212
        Editor", but can be set to "Form Editor" when needed.
 
213
        Every shape has at least a comment field. Some examples :
 
214
        For a relationship line, the following fields can be specified :
 
215
        Name / RoleName1 / Constraint1 /  RoleName2 / Constraint2 / Comment
 
216
        For a class, the following fields can be specified :
 
217
        Name / Multiplicity / Stereotype /  Properties /
 
218
        Attributes (list) / Services (list) / Operations (list) /
 
219
        Signal receptions (list) / Comment
 
220
        Each editable field should have a corresponding Liteclue help text 
 
221
        assigned to it.
 
222
        
 
223
310(2). Add possibility to export diagrams in GIF/JPG/TIFF/PDF format.
 
224
        
 
225
311(2). TCM preferences file should be editable from within TCM.
 
226
 
 
227
312(2). TCM preferences should be adjustable online within a single TCM session.
 
228
 
 
229
313(2). Add possibility to merge all selected duplicate nodes into 
 
230
        one (== first selected) node.
 
231
 
 
232
314(2). Show duplicate nodes with a number in their upper left corner,
 
233
        e.g. "(3)" or :"(3/5)" instead of "*".
 
234
 
 
235
315(2). Option "Document | View Source" should always be possible. The source 
 
236
        being viewed should reflect the state of the current document being 
 
237
        edited, not just the state of the version last saved to disk.
 
238
 
 
239
338(2). The menu entry to set and unset headers and footers is hard to find.
 
240
        Redesign the menu structure in order to give it a more visible position.
 
241
 
 
242
343(2). Add small "Drawing Area Overview" Window to TCM editor windows 
 
243
        (like the small "Desktop Windows" of some window managers at the 
 
244
        bottom of the screen), showing the position of the visible area 
 
245
        within the whole canvas.
 
246
 
 
247
 
 
248
C2. Changes regarding all table editors.
 
249
----------------------------------------
 
250
 
 
251
029(2). Span a rectangle of two or more selected adjacent cells to one
 
252
        large cell. The text will be aligned as if only a single cell exists.
 
253
        The text of the left-upper cell remains visible. The other cells will 
 
254
        not be displayed.
 
255
 
 
256
030(2). Unspan a spanned cell.
 
257
 
 
258
031(2). Hide all text protruding ('sticking out') from a cell (when 
 
259
        autoresizing is off). Some mark (e.g. a small arrow or scrollbar) should 
 
260
        be added to the cell, indicating that the cell contains more text than 
 
261
        could be displayed.
 
262
 
 
263
032(2). Add a caption text at the bottom of a table.
 
264
 
 
265
034(2). Row and column numbers should remain visable when a table is scrolled.
 
266
        Currently only numbers at the first and last row/column are displayed.
 
267
 
 
268
136(2). Outer left column and uppermost row remain visable, even after 
 
269
        scrolling (row/column numbers as well as row 0 and column 0 itselves).
 
270
 
 
271
143(2). In the outline editor the text part of the edit window should be
 
272
        about the same width as the cell itself. In this way you can anticipate
 
273
        whether your changes will eventual result in a table resize or not.
 
274
 
 
275
145(2). Fixed column width (only autoresize of row height).
 
276
        As an option all text protruding will be hidden (see 031) or the
 
277
        text height will be adjusted, eventually using some kind of text
 
278
        abbreviation algorithm.
 
279
 
 
280
146(2). Fixed row height (only autoresize of column width).
 
281
        As an option all text protruding will be hidden (see 031) or the
 
282
        text width will be adjusted, eventually using some kind of text
 
283
        abbreviation algorithm.
 
284
 
 
285
147(2). Pack table operation: apply autoresize to all rows and columns.
 
286
 
 
287
150(2). Horizontal table split (the right part of the table will be placed 
 
288
        below the left part of the table). As an option the left column can be
 
289
        copied completely too.
 
290
        
 
291
151(2). Vertical table split (the bottom part of the table will be placed 
 
292
        to the rigth of the upper part of the table). As an option the upper 
 
293
        row can be copied too.
 
294
        
 
295
152(2). Optional double text entry (with a slash) in cell(0,0).
 
296
 
 
297
162(2). Table mirror-operation in diagonal running from the left top to the
 
298
        right bottom of the table.
 
299
 
 
300
164(2). Implement fill colors for table cells.
 
301
 
 
302
197(2). Implement line colors for line pieces.
 
303
 
 
304
217(2). Implement text colors for cell texts.
 
305
 
 
306
228(2). Underlined texts in table file format.
 
307
 
 
308
264(2). Hide selected rows or columns (without deleting them).
 
309
 
 
310
265(2). Show bitmap/pixmap (read-in from a file) in the table cells
 
311
        instead of text.
 
312
 
 
313
267(2). Make the drawing area so that it only shows the table.
 
314
        It's not necessary to show much "white space" like in the 
 
315
        diagram editors.
 
316
 
 
317
287(2). Move/copy multiple cell texts in one command (instead of
 
318
        the awkward cut/copy+paste).
 
319
 
 
320
299(2). Export TCM tables as HTML tables.
 
321
 
 
322
307(2). Implement correct behavior when the number of rows or columns
 
323
        is 0 (by user commands or because this number is written into file).
 
324
 
 
325
316(2). Add option to print additional table description.
 
326
 
 
327
 
 
328
C3. Changes regarding all diagram editors.
 
329
------------------------------------------
 
330
 
 
331
035(2). Show all relevant attributes of a subject (entitytype, data process,
 
332
        relationship etc.) in a separate window, in which all attributes can be
 
333
        edited. (Now you don't have to 'aim' at the attributes of a line by trial 
 
334
        and error before hitting for example the cardinality constraint you want 
 
335
        to edit). This is an extension to the outline editor (which can edit only 
 
336
        one attribute (=textshape) at a time).
 
337
 
 
338
036(2). Extension to 035 in which you can select some referred subject (eg.
 
339
        the nodes of a edge, or the parent in a taxonomy). By clicking this 
 
340
        in the edit window, a new edit-window will be opened for the referred 
 
341
        subject subsequently.
 
342
 
 
343
043(2). Whenever two lines lead to the same node (rectangle or ellipse-shaped),
 
344
        the nearest side will be preferred, even if the other side is longer or
 
345
        connecting to that side would result in a better line distribution.
 
346
        Adjust this in such a manner that the side selected can be connected to 
 
347
        and results in a wide spaced line distribution between the two nodes.
 
348
 
 
349
044(2). After appending a diagram, nodes with the same type and the same
 
350
        name should be shown as duplicates.
 
351
 
 
352
045(2). Set defaults in the config file tcm.conf, i.e. per editor and per node 
 
353
        shape type or line type the following attributes: 
 
354
        type name, subject type name, default size, bitmap icon, line color, 
 
355
        text color, text font, text alignment, fill color (only node shapes), 
 
356
        line width, text underlining, fixed name, has index label (only 
 
357
        node shapes). This is an extension to 006.
 
358
 
 
359
047(2). Annotations should be made visible as a comment text in the diagram, 
 
360
        possibly connected to the subject with a dotted line.
 
361
 
 
362
061(2). Possibility to show duplicate lines (with a '*' notation).
 
363
 
 
364
204(2). Bezier-curves with more than two points.
 
365
 
 
366
242(2). Don't let lines cut through their (name) labels. Leave a little gap 
 
367
        around the name label.
 
368
 
 
369
248(2). If 246 is implemented: Store separate font for each textshape. E.g. the 
 
370
        list of attributes can have a different font/point size than the name 
 
371
        textshape of the node.
 
372
 
 
373
268(2). Set defaults within the editor per node shape type or line: node 
 
374
        shape size, line color, text color, text font, text alignment, 
 
375
        fill color and line width.
 
376
        
 
377
272(2). Change the default position of the text shapes within
 
378
        a node shape. Each textshape gets some relative position inside
 
379
        the node shape such as TopLeft or BottomRight.
 
380
 
 
381
273(2). Distribute node shapes command: selected nodes are positioned 
 
382
        with equal distances.
 
383
 
 
384
278(2). Selection operation to select the shapes of all nodes/edges
 
385
        of a certain type.
 
386
 
 
387
279(2). Operation to make all the shapes in the selection invisible
 
388
        (generalization of Show-isa and Hide value types in TERD).
 
389
 
 
390
282(2). Operation to make all shapes that represent a certain node
 
391
        or edge type invisible (such as "Hide All DataStores" etc.)
 
392
 
 
393
283(2). User can specify which node shape types can have an
 
394
        index number label and which don't.
 
395
 
 
396
285(2). Printer option in all hierarchic diagram editors: Print 
 
397
        current level or print all levels.
 
398
 
 
399
286(2). Extra command in context sensitive menu of a single 
 
400
        shape: copy+paste in a single command to make a quick copy without
 
401
        affecting the cut-paste buffer.
 
402
 
 
403
294(2). "Move nodeshape label"-option. Possibility to move labels within e.g.
 
404
        a box. See also 295(2).
 
405
 
 
406
295(2). "Sticky label"-option. When set, after moving an line or one of its 
 
407
        connecting nodeshapes, the label does not return to its default position.
 
408
        Instead, a new position will be determined based on its relative position 
 
409
        to the original line or nodeshape. 
 
410
 
 
411
297(2). Always display duplication asterisks within the nodeshape boundary.
 
412
 
 
413
304(2). Allow lines to be connected to Bezier-curves.
 
414
 
 
415
317(2). After appending a diagram, show all nodes with the same name as 
 
416
        duplicates (only when duplicate names are not allowed).
 
417
 
 
418
318(2). Add option : Show only the nodes having a connection to the selection.
 
419
 
 
420
319(2). Add option : Show all "mouse-sensitive" parts of a selected shape.
 
421
 
 
422
320(2). Future wish : conversion between different diagram types.
 
423
 
 
424
335(2). Add option to make 'mouse-sensitive parts' visible whenever the 
 
425
        mouse is moved above an editable part of a shape.  
 
426
        Show the editable part e.g. as a dashed rectangle and report the 
 
427
        area selected in the status field (e.g. "rolename area selected").
 
428
 
 
429
340(2). "Constraints on demand" : option to eliminate certain constraints during
 
430
        an edit session (see also
 
431
 
 
432
342(2). When clicking inside an overlapping selection area of multiple elements
 
433
        it should be possible to select a specific element.
 
434
 
 
435
 
 
436
 
 
437
C4. Changes regarding a specific diagram editor.
 
438
------------------------------------------------
 
439
 
 
440
042(2). TERD: Replace an entity type node by a relationship node, or
 
441
        vice versa. Idem dito for entity type <-> value type.
 
442
 
 
443
048(3). TCRD/TSSD/TSTD: move attribute/operation to another position
 
444
        in the same box or arrow. Uses implementation item 246.
 
445
 
 
446
049(2). TCRD/TSSD/TSTD: move attribute/operation to another box or
 
447
        arrow. Uses implementation item 246.
 
448
 
 
449
050(2). TCRD/TSSD: optional syntax check of attribute declarations: 
 
450
        'name' or 'name:type' (in check document?). Uses impl. item 252.
 
451
        
 
452
051(2). TCRD/TSSD: optional syntax check of action declarations: 'name' or 
 
453
        'name(type1,...,typen)'. Uses impl. item 252.
 
454
 
 
455
056(3). TERD/TCRD/TSSD: add SubjectAreas / Packages (structure simular to
 
456
        hierarchic DFDs). Will be implemented as a special node type.
 
457
        This node type will be represented as an ordinary box (closed state) or
 
458
        as a huge box enclosing other shapes (open state).
 
459
        Uses implementation items 177 and 254.
 
460
 
 
461
057(3). TERD/TCRD/TSSD: Show/hide contents of a selected subject area /
 
462
        Package, i.e. go from closed state to open state. Uses implementation 
 
463
        items 254 and 256.
 
464
 
 
465
059(2). TERD/TCRD/TSSD: Contents of subject area/package can be printed 
 
466
        per page. Uses implementation item 257.
 
467
 
 
468
060(3). TERD/TCRD/TSSD: for every specialisation (static or dynamic) a 
 
469
        so-called ``specialisation-attribute'' with a finite number of possible
 
470
        values exactly corresponding to the subclasses. For example a 
 
471
        specialisation-attribute ``contract type'' of an employee having the 
 
472
        values ``temporary'' and ``permanent'', being two dynamic subclasses of
 
473
        employee. The specialisation-attribute must be visible within the diagram.
 
474
 
 
475
063(2). TCRD: role class (player) (Discussed in course material Wieringa).
 
476
 
 
477
089(2). TERD/TCRD/TSSD: single document inheritance check for 
 
478
        attributes/operations/components. An attribute/operation/component 
 
479
        should not be added to a class whenever a superclass or subclass does 
 
480
        already contain an attribute/operation/component with the same name 
 
481
        (mind the specialisation of an attribute: so only a warning will be given).
 
482
        (remark: has already been implemented in CSOD).
 
483
 
 
484
157(2). TERD/TCRD: Show contents of one subject area only (hide the rest).
 
485
        Uses implementation item 257.
 
486
 
 
487
163(2). TGD: Bitmaps or pixmaps as shape type (a box with a small bitmap
 
488
        or pixmap that can be read-in from a file). Bitmaps are black-and-white,
 
489
        pixmaps are colored.
 
490
 
 
491
200(3). TSTD: Optional syntax check for transition labels. Uses impl. 252.
 
492
 
 
493
201(3). TSSD: Optional syntax check for constraints. Uses impl. 252.
 
494
 
 
495
207(3). TSSD: show generalization/aggregations as a 'tree'.
 
496
        Add a special view-mode, similar to the tree-editors, in which the lines 
 
497
        are neatly drawn. In order to achieve this, the view-mode should be added
 
498
        as a functionality to libdiagram and the drawing algorithmes should be
 
499
        adapted to all cases possible (within the tree-editors not all cases 
 
500
        behave correctly).
 
501
 
 
502
227(2). TDFD,TEFD: Show/save/print minispecs (and other data-process
 
503
        attributes) of all/selected data-processes at once. Similar to 088.
 
504
 
 
505
245(3). TDFD,TEFD: Implement hierarchic DFDs. Implementation based on 177.
 
506
 
 
507
247(3). TCRD/TSSD/TSTD: attributes/operations can occupy more than 1 line.
 
508
        Uses implementation item 246.
 
509
 
 
510
321(2). TEFD/TDFD: Show external entity as rectangle (instead of square).
 
511
 
 
512
322(2). TEFD/TDFD: Allow bi-directional arrow between Data Process and 
 
513
        External Entity
 
514
 
 
515
323(2). TEFD/TDFD: Option "create/edit indices" should be changed into 
 
516
        "view indices", allowing us to show or hide the indices. Indices 
 
517
        will always be created, but they can only be edited when visible.
 
518
        
 
519
324(2). TGD: Add Double ClassBox and Triple ClassBox icons.
 
520
 
 
521
326(2). TSSD: Enlarge Taxonomy Junction circle. Current circle is too small.
 
522
 
 
523
326(2). TSSD: Add multiplicity constraint in upper right corner
 
524
 
 
525
327(2). TSSD: Allow empty lines in attribute and operation lists.
 
526
 
 
527
328(2). TESD: Allow Participation Link to be drawn in both directions.
 
528
        Rolename/Constraint can only be edited at Entity Type part of link.
 
529
 
 
530
329(2). TCPD/TDPD: Lower part in Component box should be "reachable".
 
531
 
 
532
330(2). TCPD/TDPD: To be merged into a new IMplementation Diagram editor: TIMD.
 
533
 
 
534
331(2). TIMD: (see 330 above): Add ClassBoxes to nodes icons.
 
535
 
 
536
332(2). TATD: Remove constraint on duplicate statenames.
 
537
 
 
538
339(2). TSTD: Allow multiple nodes with the same name.
 
539
 
 
540
341(2). TSSD/TCBD: Read-direction arrow should be scalable. 
 
541
 
 
542
344(2). TSCD(/TEFD/TDFD): Add small "Navigation Window" showing the 
 
543
        location of the current document within the hierarchy of documents 
 
544
        (see also 343(2)).
 
545
 
 
546
345(2). TCBD: Block of messages should be movable.
 
547
 
 
548
346(2). TCBD: Empty message lines should be allowed.
 
549
 
 
550
347(2). TSSD: When connecting a generalization arrow to a generalization 
 
551
        junction the arrowpoint will disappear (turning the arrow into a 
 
552
        straight line).
 
553
        Implement the same mechanism for connecting an aggregation line 
 
554
        to a classbox or objecbox in TSSD.
 
555
 
 
556
 
 
557
 
 
558
C5. Changes for Tree editors.
 
559
----------------------------------
 
560
 
 
561
068(2). Represent tree-structure as an indented list in a text editor.
 
562
        - With lines / without lines.
 
563
        - With numbers / without numbers 
 
564
        (number is 1.location in tree, 2.unique id, or 3.user-assigned id).
 
565
 
 
566
069(2). Function refinement tree:
 
567
        Indented list of function + annotation (meaning, permissions, source, 
 
568
        date, author etc).
 
569
 
 
570
159(2). Conversion between trees in tree-structure and indented lists.
 
571
 
 
572
333(2). TGTT: Add possibility to duplicate nodes.
 
573
 
 
574
334(2). TGTT: Check for cycles with regards to duplicate nodes (See 333).
 
575
 
 
576
 
 
577
 
 
578
D. Implementation.
 
579
---------------------------------
 
580
 
 
581
235(3). Zoom in to a node in hierarchic editor (if there is no subdiagram, 
 
582
        create one). This operation shows only one level (subdiagram) at the time.
 
583
 
 
584
236(3). Zoom out to a node, i.e. show diagram of parent node. This operation
 
585
        shows one level (subdiagram) at the time.
 
586
 
 
587
237(3). Go to diagram (including goto toplevel). I.e. show diagram with index
 
588
        nr. X. Shows one level (subdiagram).
 
589
 
 
590
238(3). Automatic indexing (numbering) of nodes in hierarchic diagram.
 
591
        
 
592
269(3). Implement mechanism to select only one handle of a line.
 
593
        I.e. when you select one line then you should click an extra time on one
 
594
        of the line handles to make it the "most selected handle". Show this for 
 
595
        instance by making the handle bigger than the others.
 
596
 
 
597
070(2). Make Imakefile file for generating Makefiles for diverse 
 
598
        platforms (with xmkmf like under linux). Or use GNU autoconf/automake/
 
599
        autoheader programs.
 
600
 
 
601
230(2). Implement Load, Save, New and Quit as distinct command classes.
 
602
 
 
603
235(2). Make libeditor (in particular class Config) independent from the 
 
604
        specific config items. This avoids recompilation each time a new config
 
605
        item is added or changed. And also, libeditor should not contain the 
 
606
        options of each specific editor, as libeditor does not rely on specific
 
607
        editors. 
 
608
 
 
609
240(3). Look for bugs/memory leeks with purify so TCM 2.0 has no such bugs.
 
610
 
 
611
241(2). Remove class Code (all shape and subject codes and names) and
 
612
        Toolkit (all editor codes and names) from libglobal.so and put it into a 
 
613
        distinct place. The rest of libglobal.so is totally application independent, 
 
614
        but these two classes aren't. Perhaps best thing is to put all codes 
 
615
        and names in a config file that's read in upon startup.
 
616
 
 
617
246(3). Implement the lists of text shapes in a class box or in a 
 
618
        transition arrow as 1 single text shape with multiple lines. This
 
619
        makes layout and editing much more simple, as well as implementing
 
620
        labels (attributes, actions etc.) that occupy more than one line.
 
621
 
 
622
250(2). Implement RoundedDoubleBox shape type in libdiagram (a DoubleBox
 
623
        with rounded corners).
 
624
 
 
625
252(3). Implement all text syntax checks with flex/bison mini-parsers, just 
 
626
        like is done for CSOD and CED.
 
627
 
 
628
253(3). Generate PostScript from TextViewDialog/TextEditDialog by
 
629
        using PSGrafport, instead of text2ps.
 
630
 
 
631
254(2). Implement CompositeNodeShape in libdiagram. That is a node shape type
 
632
        that has a number of node shapes as children and visually encloses
 
633
        these node shapes. This can be used to implement the
 
634
        representation of subject areas (ER) and sequential composite 
 
635
        states (state charts).
 
636
 
 
637
255(2). Implement PartitionedNodeShape in libdiagram. That is a node
 
638
        shape that is partitioned in a number of compartments (>= 1) with 
 
639
        vertical or horizontal boundary lines. Each compartment contains a number 
 
640
        of node shapes. CompositeNodeShape is_a PartitionedNodeShape 
 
641
        (with 1 compartment). PartitionedNodeShape can be used to implement 
 
642
        concurrent composite states in state charts.
 
643
 
 
644
256(2). Implement operations on CompositeNodeShapes and PartitionedNodeShapes
 
645
        to show/hide the shapes that it encloses (so called Expand and Collapse 
 
646
        operations).
 
647
 
 
648
257(2). Implement possibility to show only a single CompositeNodeShapes or 
 
649
        PartitionedNodeShape and it's contents. So it can be saved or printed 
 
650
        separately.
 
651
 
 
652
263(2). Implement MultiBox (is_a Box). That is two boxes on top of
 
653
        eachother. Used for representing UML multiboxes.
 
654
 
 
655
288(2). Each TextShape has as attribute the relative position in or near
 
656
        the parent shape. The possible values are: Top, Bottom, Left, Right, Center,
 
657
        TopLeft, TopRight, BottomLeft, BottomRight. Specific shape types have
 
658
        a member CalcPosition(TextShape): Point that calculate the exact positon
 
659
        of the Textshape given the specific shape's boundary and the size of the
 
660
        textshape. This functionality now exists in TCM but it's very ad-hoc.
 
661
        Also, implement the duplication asterisk as a textshape.
 
662
 
 
663
 
 
664
E. Documentation.
 
665
---------------------------------
 
666
 
 
667
</pre>
 
668
</body>
 
669
</html>