File: help.h

package info (click to toggle)
oo-browser 4.08-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 3,864 kB
  • ctags: 2,889
  • sloc: lisp: 21,037; ansic: 10,819; makefile: 353; sh: 94
file content (191 lines) | stat: -rw-r--r-- 6,651 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
static char help_text[] ="\n"
"Introduction\n"
"\n"
"	          OO-Browser Graphical Interface\n"
"\n"
"	This program demonstrates a dynamic tree-drawing \n"
"	algorithm developed by Sven Moen.  The algorithm is \n"
"	published in \"IEEE Software\", July 1990, pp. 21-28.\n"
"	If you desire more information than the description\n"
"	given below, see the above-referenced article. \n"
"\n"
"	A number of the features mentioned herein are not\n"
"	included in this version of the program.\n"
"\n"
"Algorithm\n"
"\n"
"	Unlike other algorithms, Moen's algorithm uses an \n"
"	explicit representation of node and subtree contours\n"
"	and it stores each contour as a polygon. \n"
"\n"
"	Trees with nodes of any polygonal shape can be drawn\n"
"	compactly, and the data structure supports insert and\n"
"	delete operations on subtrees.  The results are tidy\n"
"	trees and efficient relayouts when the tree changes.\n"
"\n"
"	In the Layout step, the tree is traversed in depth-first\n"
"	fashion until the leaf nodes are reached.  The contour\n"
"	of each leaf node is formed by creating a linked list of\n"
"	lines that wrap around the node's shape.  This is the \n"
"	LayoutLeaf step.  As the return trip is made back to the\n"
"	root, the contour of each interior node is formed by\n"
"	joining the individual contours of each child. This Join\n"
"	step involves a Merge step where the offset between\n"
"	two neighboring contours is computed to avoid overlap. \n"
"	Since the width of each subtree contour is known at\n"
"	each step, each interior node is centered over its\n"
"	children, and the subtree contour is extended to include\n"
"	the interior node.  This is the AttachParent step.\n"
"\n"
"	In a dynamic update operation (insert or delete), the\n"
"	algorithm reuses the contours not influenced by the\n"
"	change and updates them efficiently. When a given \n"
"	node changes, subtree contours at higher levels must\n"
"	be disassembled before the change. This is called\n"
"	the Unzip step, which call RuboutLeaf, Split, and\n"
"	DetachParent, all inverses of LayoutLeaf, Join, and\n"
"	AttachParent, respectively.  After the change is made,\n"
"	the Zip step reassembles the contours by again calling\n"
"	Layout, Join, and AttachParent.\n"
"\n"
"User Interface\n"
"	\n"
"	This program offers an interactive environment for \n"
"	creating and updating trees of arbitrary size. Trees\n"
"	can be loaded from a file or created on-the-fly.  You\n"
"	can also save trees, and specify various layout and\n"
"	animation options.  Each feature is associated with \n"
"	a menu item which is explained in the next section.\n"
"\n"
"	When invoking the program, you may specify a single\n"
"	argument indicating the name of a tree file. This file\n"
"	will be loaded upon startup. If you start the program\n"
"	without arguments, the canvas will be blank.\n"
"\n"
"Tree Menu\n"
"\n"
"	New Tree...	Create a new tree. You specify \n"
"			a new root, and the existing tree, \n"
"			if any, is deleted.\n"
"\n"
"	Load Tree...	Load a tree specification file.\n"
"			(see the File Format section)\n"
"\n"
"	Save Tree...	Save a tree specification file.\n"
"			(see the File Format section)\n"
"\n"
"	Quit		Exits the program.\n"
"\n"
#if 0
"Layout Menu\n"
"\n"
"	Layout Spacing...\n"
"			Displays a dialog that allows you\n"
"			to change the spacing between nodes\n"
"			on the same level and the spacing\n"
"			between levels. \n"
"\n"
"	Align Nodes on Level\n"
"			Adds a constraint to the layout\n"
"			algorithm that forces all nodes\n"
"			on the same level to have the same\n"
"			x-position. This leads to truncation\n"
"			of nodes if necessary. The maximum\n"
"			node width is controlled by the\n"
"			Level Spacing. By default, this is\n"
"			disabled.\n"
"\n"
#endif
"Node Menu\n"
"\n"
"	This popup menu is invoked by pressing and holding\n"
"	the left mouse button on a node. This menu offers\n"
"	several actions that can be performed on nodes.\n"
"\n"
#if 0
"	Add Child	Add a child to the node. The new child\n"
"			is added after the bottommost child.\n"
"\n"
"	Add Sibling Before\n"
"			Add a sibling before this node.\n"
"\n"
"	Add Sibling After\n"
"			Add a sibling after this node.\n"
"\n"
#endif
"	Collapse Node	Collapses or expands the subtree\n"
"	Expand Node	beginning at the specified node.\n"
"			This operation is similiar to a\n"
"			Delete operation, except that the\n"
"			subtree is preserved so that you\n"
"			can display it again. Collapsed\n"
"			nodes are marked with a gray box.\n"
"\n"
"	Delete Node	Delete the subtree beginning at the\n"
"			specified node.\n"
"\n"
"Tree File Format\n"
"\n"
"	If you wish to load a file, you can load a file created\n"
"	by the OO-Browser with the {M-d} or {M-g} commands within\n"
"	a browser listing buffer.\n"
"\n"
"	Node labels are sequences of characters delimited by\n"
"	newlines or end-of-file. \n"
"\n"
"	Files must begin with an OO-Browser Environment path\n"
"	name.  The next line must be a label, which indicates the\n"
"	root node.  Optionally, lists containing labels may\n"
"	follow. Each child label is indented two spaces more \n"
"	its parent. Lists of labels are nested to produce trees. \n"
"\n"
"	For example, a three-level binary tree is as follows:\n"
"\n"
"		^^c++-^^~/OOBR\n"
"		root node level1\n"
"		  level2-1\n"
"		    level3-1\n"
"		    level3-2\n"
"		  level2-2\n"
"		    level3-3\n"
"		    level3-4\n"
"\n"
"X11 Resources\n"
"\n"
"	Various settings in the program can be manipulated by \n"
"	using X11 resources, specified either on the command\n"
"	line or in a resource setting file. The supported \n"
"	resources are:\n"
"\n"
"	tree.font:	Sets the font of the label nodes.\n"
"			Default is \"fixed\".\n"
"\n"
"	tree.backgroundColor:\n"
"			Sets the background color of the \n"
"			canvas.  Default is \"white\".\n"
"\n"
"	tree.treeColor:	Sets the color of the displayed tree.\n"
"			Default is \"black\".\n"
"\n"
"	tree.splitColor:\n"
"			Sets the color of split contours which\n"
"			appear during a dynamic update.\n"
"			Default is \"goldenrod\".\n"
"	\n"
"	tree.highlightColor:\n"
"			Sets the color of highlighted nodes.\n"
"			Default is \"OrangeRed\".\n"
"\n"
"Help\n"
"\n"
"	If you are reading this, chances are that you found the\n"
"	Help button on the menubar. \n"
"\n"
"Author\n"
"	\n"
"	A number of people have contributed to the evolution of this\n"
"	tree handling program: Mark L. Stern, Stephan Zachwieja,\n"
"	Torgeir Veimo, Bob Weiner, Martin Buchholz, Steve Baur and\n"
"	Kirill Katsnelson.  The other authors have granted Bob Weiner\n"
"	rights to distribute any of their work in this code as part of\n"
"	the OO-Browser.\n";