File: CHANGES

package info (click to toggle)
ivtools 0.6.2-4
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 10,236 kB
  • ctags: 31,595
  • sloc: ansic: 137,968; makefile: 20,655; cpp: 14,588; sh: 169
file content (207 lines) | stat: -rw-r--r-- 7,659 bytes parent folder | download
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
February 26th 1998  ivtools-0.6.2

Drawing Editor Changes

	* conditionally adds a ConvexHull tool to drawtool if qhull from
 	the University of Minnesota Geometry Center can be found via your
 	PATH environment variable.  To acquire and build this separate
 	executable see
 	http://www.geom.umn.edu/software/download/qhull.html

	* adds a "Compute Attributes" item to the Edit menu
 	(SetAttrByExprCmd).  This brings up a dialog box on the current
 	selection, and allows the user to enter an arbitrary attribute
 	value expression and evaluate it.  For example, if a component had
 	an attribute of "likelihood", a new attribute called
 	"likelihoodsquared" could be set with an expression of
 	"likelihoodsquared=likelihood*likelihood".  Keyboard shortcut in
 	drawtool is "#"
	
Interpreter Changes

	* adds these mathematical functions:
	acos, asin, atan, atan2, cos, sin, tan, pow, exp, log, log10

	* adds a min and max function that promotes operands as needed,
 	similar to the other arithmetic operators.

	* adds a cond operator that returns one of two values based on a
 	boolean test.  Pre-evaluates all parameters (like every other
 	current command except help).  In the future there can be "if",
 	"for", and "while" commands that use a lazy, post-evaluation
 	technique.

	* adds a paste command to comdraw, for use in any derived
 	application that builds up a component that needs pasting in the
 	viewer.

Library Changes

	* TopoFace -- adds methods to construct and return a floating
 	point geomobj that reuses the points without duplicating them:

	    FPointObj* TopoNode::point_obj();
	    FMultiLineObj* TopoEdge::multiline();
	    FFillPolygonObj* TopoFace::polygon()

	* OverlayUnidraw --

	- fixes linear scaling and logarithmic scaling of GrayRaster's

	- fixes mechanism for embedding of a graylevel test strip in
 	GrayRaster's

	- adds an edlauncher() mechanism to OverlayEditor to allow for the
 	inclusion of arbitrary editors into the main.c of one specific
 	editor. 

	- adds a comterplist() mechanism to OverlayEditor to manage a
 	global list of registered interpreters.  Allows for one editor to
 	execute expressions on another editor's associated interpreter.

	- adds more mouse documentation lines to OverlayKit

	- adds OverlayViewer ::ScreenToGraphic and ::GraphicToScreen
 	methods, for converting between the x,y of mouse clicks and the
 	coordinate system of a graphic.  Useful for addressing individual
 	pixels of a raster.

	- adds a boolean OverlayKit::bincheck to test for the presence of
 	an executable before relying on it.  Uses OverlayKit::bintest
 	under the hood.

	- mixes in Observer and Observable as multiply inherited base
 	classes of OverlayComp.  Now other update/notify systems can be
 	constructed around and within the subject/view hierarchy of a
 	Unidraw editor.

	* ComTerp -- 

	- clones the above into a ComFunc::bincheck and ComFunc::bintest,
 	for use of generic ComFunc programmers

	- add a new parameter to ComFunc::argcnts, nargskey (defaulted to
 	zero), which is used by ComTerp to inform the func of how many
 	arguments are associated with keywords.

	- add a ComTerp::stack_height() method to tell the current size of
 	the stack.

Configuration Changes

	* sets up drawserv to link in FrameUnidraw as well as
 	GraphUnidraw, and then tests this with a new Editors menu that
 	allows for the launching of other GraphEditor's or FrameEditor's

	* sets up drawserv to be installed with "make install"

	* sets up comterp to use the original Iterator and UList objects
 	from Unidraw, instead of the ALIterator and AList in the Attribute
 	library.  But then, so raw comterp programs won't have to link in
 	all of Unidraw and InterViews, new libraries called
 	Unidraw-command and IV-common were set up to build with only
 	symbolic links to the necessary files:

	IV-common:  listimpl.c, memory.c, regexp.c, resource.c, textbuffer.c

	Unidraw-common:  iterator.c, ulist.c

	* removes the RCS tags from the TIFF source

Bug Fixes

	* fixes a segfault when attempting to import an empty file

	* fixes bug in the mechanism for managing absolute and relative
 	pathnames for drawtool and related documents.

January 23rd 1998  ivtools-0.6.1

Drawing Editor Changes
	
        * clear any error message on the import, export, open, and save-as
 	dialog boxes from previous attempts upon starting a new attempt.

Interpreter Changes

	* add help command that lists available commands by default, or
 	specific information about each command supplied as an argument.  

	* to support the help command the interpreter was evolved to
 	support a lazy-eval command, one that gets invoked before its
 	arguments get computed.  The next release of ivtools should make
 	use of this with conditional and looping commands, the traditional
 	control constructs of procedural programming.
	
Library Changes

	* TopoFace -- add separate methods to attach start and end nodes to
	  an edge: 
	
	      TopoEdge::attach_start_node(TopoNode*);
 	      TopoEdge::attach_end_node(TopoNode*);

	-- and methods to test if a edge starts or ends at this node:

	      TopoEdge::starts_at(TopoNode*);
	      TopoEdge::ends_at(TopoNode*);

	* OS -- add a method to test the table iterator's current entry.
  	helps avoid a nil pointer reference in case of an empty table:

	      TableEntry(Table)* cur_entry();

	* OverlayUnidraw -- fix bugs caught by ElectricFence, including
 	one to the gs-based selection highlighting mechanism of
 	OverlayUnidraw.  Also fix problem with flushing of
 	deferred-loading rasters and save/restore of arbitrary
	numeric gray-level rasters (GrayRaster)

	* ComTerp -- fix bugs caught by ElectricFence, like referencing
 	off the ComTerp stack.  Increase default buffer size on
 	ComTerpServ to 1k.  Change the ";" operator (SeqFunc) to return
 	the second argument on the ComTerp stack.  Add a
 	ComValue::unkval() to return a static ComValue of UnknownType.

	* Attribute -- disable Attribute's call to symbol_del which
 	sometimes inadvertently removes a symbol from the symbol table
 	when an Attribute is destructed.  This needs to be evolved so that
 	either the symbols are never removed after being created, or there
 	is an accurate ref counting done when using ComUtil's symbol_add
 	and symbol_del.  This release also improves the overall memory
 	mgmt of Attribute's, AttributeList's, and AttributeValueList's.
  	Finally, this release adds support for reading in comma-separated
 	list of AttributeValue's (into an AttributeValueList).

Configuration Changes

	* incorporate patches to iv-3.2a published by Randall C. O'Reilly
 	and others of the CMU Psychology Dept., part of the pdp++_1.2
 	distribution.  One thing this does is prefix all the globals in
 	InterViews/coord.h with "iv" (i.e. inch is ivinch, cm is ivcm) if
 	PDP_PLUS_PLUS is defined.  If PDP_PLUS_PLUS isn't defined (the
 	default), these global variables stay the same, but #define's are
 	included which prefix "iv".

	* also incorporate Alpha and Stratus entries for config/arch.def
 	from the pdp++ distribution.  Still probably need the associate
 	iv-*.cf files.

	* change the build order so that ComUnidraw (and comdraw) get
 	built before GraphUnidraw and FrameUnidraw, and then inherit
 	GraphEditor and FrameEditor from ComEditor.

	* incorporate Doug Scott's iv-3.1 event handling patch that
 	enables use of the shift key.

	* remove all explicit e-mail addresses from ivtools for spam
 	protection
	

December 23rd 1997  ivtools-0.6

	* version change

	* renamed Topology library to TopoFace to avoid conflict
	with IUE and Target Jr class libraries of the same name.