Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/eXene/CHANGES
ViewVC logotype

Annotation of /sml/trunk/src/eXene/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1354 - (view) (download)

1 : jhr 704 eXene-1.0
2 : monnier 2 ------------------------
3 :    
4 :     GLOBAL CHANGES
5 : mblume 1354 - added a dummy implementation of UnixSock to kick when a native
6 :     implementation is unavailable (on non-Unix systems);
7 :     replaced reference to Posix.ProcEnv by reference to generic OS.Process;
8 :     eXene now compiles under Win32
9 :     [2003-09-09]
10 :    
11 : mblume 1350 - fixed code that broke because of Basis API changes (slices)
12 :     [2003-09-03]
13 :    
14 : jhr 1188 - compiles again under 110.33+ (library name is $/eXene.cm)
15 :     [2001-06-20]
16 :    
17 : monnier 2 - changed uses of System.Unsafe.
18 :     [07/11/97]
19 :    
20 :     - various minor changes to track basis clean-up in SML/NJ.
21 :     [06/11/97]
22 :    
23 :     - various minor changes to conform with SML'97 type sharing rules.
24 :     [05/22/97]
25 :    
26 :     - various minor changes to use Real.== instead of polymorphic equality
27 :     (which doesn't work anymore).
28 :     [12/10/96]
29 :    
30 :     - modified sources to compile against SML'96 and the latest version of CML.
31 :     [08/01/96]
32 :    
33 :     STYLES
34 : jhr 704 - fixed bug in parsing code (space between resource name and ":" was not
35 :     accepted.
36 :     [06/14/99]
37 :    
38 : monnier 2 - fixed bug in parsing code.
39 :     [04/07/97]
40 :    
41 :     GRAPHICS UTILITIES
42 : monnier 29 - created the GetDpy structure to provide support for getting the
43 :     display and authentication information for an application. This
44 :     code was taken from the RunEXene structure in the widget utilities.
45 :     [01/27/98]
46 :    
47 : monnier 2 - fixed alignment bug in X authorization code.
48 :     [04/07/97]
49 :    
50 :     LIBRARY CHANGES
51 : jhr 1188 - Fixed bug in XTime.toReal; it did not handle large time values.
52 :     [2001-10-24]
53 :    
54 : jhr 704 - Added code to make the leycode to keysym translation bulletproof (some
55 :     X servers seem to generate bogus keycodes in some situations).
56 :     [09/14/99]
57 :    
58 :     - Fixed some bugs in the implementation of selections and modified the
59 :     interface to support interaction with applications that use CurrentTime
60 :     in their selection requests (this goes against the ICCC spec).
61 :     [07/12/99]
62 :    
63 : monnier 289 - Fixed bug in ICCC signature, where the wrong type name was being used
64 :     for windows in some places.
65 :     [05/19/99]
66 :    
67 : monnier 2 - Fixed a bug introduced in SML/NJ 109.30, where the open connection
68 :     request had bogus data in it.
69 :     [08/11/97]
70 :    
71 :     - Fixed a bug in the encoding of PolyText8 requests.
72 :     [04/08/97]
73 :    
74 :     - One can now use symbolic host names when connecting to servers.
75 :     [08/01/96]
76 :    
77 :     WIDGET CHANGES
78 : jhr 1188 - New Scrollbar implementation from Allen Stoughton that fixes various
79 :     problems.
80 :     [2002-03-12]
81 :    
82 : monnier 139 - Removed old-style imperative type variables from signatures in 2D structured
83 :     graphics library.
84 :     [07/15/98]
85 :    
86 :     - Added 2D structured graphics canvas widget (widgets/fancy/2d-graphics).
87 : monnier 106 [05/22/98]
88 :    
89 : monnier 2 - Added RunEXene.parseDisplay.
90 :     [04/07/97]
91 :    
92 :     - RunEXene.run and RunEXene.runWArgs now look for the DISPLAY shell variable
93 :     instead of EXENE_DISPLAY.
94 :     [08/01/96]
95 :    
96 :    
97 : jhr 704 eXene-0.5
98 : monnier 2 ------------------------
99 :    
100 :     GLOBAL CHANGES
101 :     - modified sources to use the Char and String interfaces from the
102 :     new standard basis.
103 :     [11/15/94]
104 :    
105 :     LIBRARY CHANGES
106 :     - added partial fix to handle sequence numbers > 2^16; still need to synchronize
107 :     with server when # of requests greatly exceeds replies.
108 :     [02/01/95]
109 :    
110 :     - add clause to catch Fail exceptions in the wrapper code for XDebug.xspawn.
111 :     [12/06/94]
112 :    
113 :     - added charWidth to the Font structure, and cleaned up the various
114 :     width computing functions in lib/window/font-base.sml.
115 :     [11/26/94]
116 :    
117 :     - added withdrawWin to eXeneWin for ICCC-compliant unmapping of top-level
118 :     windows.
119 :     [11/09/94]
120 :    
121 :     - added rgbOfColor to eXeneBase for extracting the RGB of a color so that
122 :     the shading colors (for 3D) can be computed.
123 :     [09/21/94]
124 :    
125 :     - fixed a bug in protocol/xdisplay.sml, where the connection file descriptor
126 :     was not being closed when the server refuses the connection.
127 :     [08/26/94]
128 :    
129 :     - added the authentication datatype to EXeneBase and added an authentication
130 :     parameter to the openDisplay operation.
131 :     [06/08/94]
132 :    
133 :     - added position and time information to MOUSE_Enter and MOUSE_Leave
134 :     events. We may want to make mouse events carry more uniform information.
135 :     [06/03/94]
136 :    
137 :     - made a bunch of changes to better support properties. Renamed the type
138 :     XProtTypes.property to prop_val, and removed the name field. Added
139 :     a property server to monitor property changes.
140 :     [03/29/94]
141 :    
142 :     - added maxReqLen to allow applications to find out the maximum
143 :     request length supported by a display.
144 :     [03/29/94]
145 :    
146 :     - renamed Drawing.tileBlt to Drawing.textureBlt, and added a new function,
147 :     called tileBlt, which does a pixelBlt using the tile as a source.
148 :     [03/18/94]
149 :    
150 :     - created a per display connection server for managing communications
151 :     related to selections. This also required a couple of minor changes
152 :     to the protocol implementation.
153 :     [03/11/94]
154 :    
155 :     - created a per display connection atom table, for caching interned atoms.
156 :     The standard atom definitions moved from xatom.sml to std-atoms.sml.
157 :     [10/26/93]
158 :    
159 :     - fixed bug in Geometry.clipPt.
160 :     [07/12/93]
161 :    
162 :     - fixed bug in XDebug.xspawn that caused the trace-server's ID to be reported
163 :     instead of the spawned thread.
164 :     [04/12/93]
165 :    
166 :     - modified XDebug.xspawn to report thread exiting on the xspawn trace module,
167 :     and to unwatch normally exiting threads. Also, turn on the XDebug.errorTM
168 :     trace module.
169 :     [03/28/93]
170 :    
171 :     - added Font.substrWidth for computing the width of a substring.
172 :     [03/27/93]
173 :    
174 :     - added general function to change window attributes (EXeneWin.changeAttrs)
175 :     [03/26/93]
176 :    
177 :     - added EXeneWin.setBackground
178 :     [03/25/93]
179 :    
180 :     GRAPHICS UTILITIES
181 :     - added XAuth structure to provide support for getting authentication
182 :     data needed when opening a display.
183 :     [06/08/94]
184 :    
185 :     - added BitmapIO functor that supports reading and writing depth-1 images
186 :     in the X11 format.
187 :     [02/18/93]
188 :    
189 :     WIDGET CHANGES
190 :     - added openFont to the Widget structure.
191 :     [11/27/94]
192 :    
193 :     - created the EXeneRun utility structure for a higher-level way to invoke
194 :     eXene applications.
195 :     [07/16/94]
196 :    
197 :     - added an authentication parameter to the mkRoot operation.
198 :     [06/08/94]
199 :    
200 :     - added setCursor and setBackground to Canvas structure to allow those window
201 :     attributes of a canvas to be changed.
202 :     [03/28/94]
203 :    
204 :     - fixed a race condition in the canvas widget.
205 :     [04/12/93]
206 :    
207 :     - modified box_item datatype declaration in BoxLayout to allow use of
208 :     newconreps.
209 :     [03/28/93]
210 :    
211 :     - modified Background widget to use EXeneWin.setBackground.
212 :     [03/26/93]
213 :    
214 :     - added colorOf function to Widget structure; shorthand for
215 :     colorOfScr (screenOf root) colorspec (widget.sml).
216 :     [02/19/93]
217 :    
218 :     - changed default scrollbar cursor color to gray; correctly handles
219 :     monochrome displays (scrollbar.sml, scroll-view.sml).
220 :     [02/19/93]
221 :    
222 :    
223 :     eXene-0.4 (released 02/17/93)
224 :     -----------------------------
225 :    
226 :     GLOBAL CHANGES
227 :     - changed type naming convention to remove "_t" suffix.
228 :     [02/09/93]
229 :    
230 :     - modified source to use SML/NJ Library (v. 0.1). A couple of the interfaces
231 :     are different from the util-lib versions.
232 :     [02/03/93]
233 :    
234 :     LIBRARY CHANGES
235 :     - modified XDebug structure to use the trace modules provided by TraceCML.
236 :     Also modified various clients of XDebug.
237 :     [02/10/93]
238 :    
239 :     - exposed WindowNotFound exception in EXeneBase.
240 :     [02/10/93]
241 :    
242 :     - changed lib-level hashing functions to use SML/NJ Library hash tables.
243 :     [02/09/93]
244 :    
245 :     - added encodeSendEvent to XRequest, and send_evt_to_t type to XProtTypes.
246 :     Created the XSendEvent structure, which contains routines for encoding
247 :     SendEvent requests (currently only encodeSendSelectionNotify).
248 :     [11/20/92]
249 :    
250 :     - modified lib/protocol/xdisplay.sml to retry connection upto 5 times.
251 :     [11/17/92]
252 :    
253 :     - open EXene structure using explicit structure assignments, so as not to
254 :     confuse source groups.
255 :    
256 :     - Always create GC server for depth 1 pixmaps (patch for IBM X bug) (display.sml)
257 :    
258 :     - Fixed parity error in internAtom and lookupAtom (xatoms.sml)
259 :    
260 :     - Added black and white color_spec_t to EXeneBase (abstract.sml,exene-base.sml)
261 :     - Added createImageFromTile function to EXeneBase (exene-base.sml,image.sml)
262 :    
263 :     - Removed alloc-type window creation routines (window.sml,exene-win.sml)
264 :    
265 :     - Added function createTransientWin (window.sml,exene-win.sml,xprops.sml)
266 :    
267 :     - Added function setWMProtocols (window.sml,exene-win.sml,xprops.sml)
268 :    
269 :     (2 November 1992)
270 :    
271 :     - split lib/window/window.sml into window-sig.sml and window.sml.
272 :    
273 :     - added background and border color fields to representation of windows.
274 :     This is necessary to avoid premature deallocation of those color
275 :     cells, once color finalization is implemented.
276 :    
277 :     - changed "Drawing.autoflush" to "Drawing.feedback"
278 :    
279 :     - Implemented a new, more abstract, color model. Each screen has a color
280 :     server that maps abstract color specifications (color_spec_t) to
281 :     an abstract representation of colors (color_t). The pixel type is no
282 :     longer visible to the user level.
283 :    
284 :     - Added number of buffered messages count to mapped state of draw-master.
285 :    
286 :     - Added Font.charPositions to return per character positions of a string.
287 :    
288 :     - Fixed race condition by adding buffering to the top-level
289 :     window server.
290 :    
291 :     - XDisplay structure now contains a field for the X server's
292 :     maximum request size.
293 :    
294 :     - Image can now be more than 1 plane deep, using XY format.
295 :     Images and their ascii representations now require a list of
296 :     lists instead of a list.
297 :     bm2mlx-template.c modified to reflect the new format.
298 :    
299 :     - Function createImageFromPixmap added.
300 :    
301 :     - Bounding box function bbox added to Geometry.
302 :    
303 :     - Bugs in intersection and union in Geometry fixed.
304 :    
305 :     - Race condition between drawing on a pixmap and destroying the
306 :     pixmap eliminated.
307 :    
308 :     - Bug in createTileFromPixmap fixed.
309 :    
310 :     - MOUSE_Enter/MOUSE_Leave events now generated.
311 :    
312 :     - FirstDown & LastUp messages added to mouse_msg_t.
313 :    
314 :     - fixed bug in HashUtil.remove
315 :    
316 :     - added checks to guarantee that values constructed using concrete
317 :     datatypes lie in allowed ranges for the X protocol. Added related
318 :     exceptions BadRGB, BadDrawParameter, BadPenParameter, BadWindowGeometry
319 :     and BadPixmapParameter.
320 :    
321 :     - NoColorCell exception added to EXeneBase (and Color), for attempts to
322 :     allocate a new color cell when the color map is full.
323 :    
324 :     - Immutable tiles are now used where pixmaps used to be allowed.
325 :    
326 :     GRAPHICS UTILITIES
327 :     - Added routine for generating general ellipses.
328 :     [10/05/92]
329 :    
330 :     - Fixed bug in spline code concerning when line is flat enough.
331 :     [10/03/92]
332 :    
333 :     - Spline code has been moved into the graphics utility directory
334 :     (lib/graph_util).
335 :     [10/03/92]
336 :    
337 :     - Added routines for drawing/filling rounded rectangles.
338 :     [09/03/92]
339 :    
340 :     WIDGET CHANGES
341 :     - The BadArgument exceptions in Box, Pile and WidgetSet are
342 :     changed to BadIndex (box.sml, pile.sml, widget-set.sml).
343 :     [02/12/93]
344 :    
345 :     - The AlreadyRealized exception from Widget is now exposed (widget.sml).
346 :     [02/12/93]
347 :    
348 :     - The getChildEnv function in Router now raises a NotFound
349 :     exception if the environment is not in the table (router.sml).
350 :     [02/12/93]
351 :    
352 :     - A shell widget now deletes its own window and becomes a zombie
353 :     when it receives a KillReq from its child (shell.sml).
354 :     [02/12/93]
355 :    
356 :     - The bounds function for str_edit is more correctly and efficiently
357 :     handled. It is also no flexible in the x dimension (str-edit.sml).
358 :     [02/12/93]
359 :    
360 :     - Unnecessary case "013" removed from echo server (vtty.sml)
361 :     [02/12/93]
362 :    
363 :     - Field name "rad" changed to "radius" in mkToggleCircle (toggle.sml)
364 :     [02/12/93]
365 :    
366 :     - Many widget exceptions replaced by LibBase.BadArg (slider.sml,
367 :     scrollbar.sml, divider.sml, button-view.sml, str-edit.sml,
368 :     widget.sml, frame.sml, viewport-sig.sml, viewport.sml
369 :     [02/12/93]
370 :    
371 :     - Exceptions BadWidth and MultipleChoices exposed in text-list.sml
372 :     [02/11/93]
373 :    
374 :     - Unused exception BadWidth removed from color-rect.sml
375 :     [02/11/93]
376 :    
377 :     - setWMHints function added to Shell
378 :    
379 :     - type generators added for types defined by type abbreviation:
380 :     wm_args_t, hints_t (shell.sml), bounds_t (widget.sml),
381 :     list_item_t (text-list.sml), set_item_t (widget-set.sml),
382 :     whereFn_t (simple-menu.sml)
383 :    
384 :     - Added code to prevent possible deadlock dealing with child CO
385 :     events (widget.sml, shell.sml, box.sml, shape.sml, field-edit.sml)
386 :    
387 :     (11 November 1992)
388 :    
389 :     - Fixed bugs in vtty.sml, toggle-ctrl.sml
390 :    
391 :     (10 November 1992)
392 :    
393 :     - Added WidgetSet structure (widget-set.sml); new version of
394 :     TextList using WidgetSet
395 :    
396 :     (5 November 1992)
397 :     - The widget library assumes util-lib library loaded
398 :    
399 :     - Added mkTransientShell and removed setWMHints from Shell
400 :    
401 :     - Added wstate_t type to Widget; replaces button_state_t
402 :    
403 :     - Added sameRoot function to Widget
404 :    
405 :     - Made widgets abstract, with equality function.
406 :    
407 :     - Removed window attributes for widgets. The wrapCreate function
408 :     was changed accordingly. Also, removed setBackground function
409 :     from Widget; use new background widget instead
410 :    
411 :     - Added several utility functions to Widget: okaySize, compatibleDim,
412 :     compatibleSize
413 :    
414 :     - Added ignoreMouse, ignoreKey functions for widgets
415 :    
416 :     - Toggles now take an initial state; in addition, a toggle now
417 :     fires its action routine if its state is changed under program control
418 :    
419 :     - Sliders now take an initial state; in addition, there are now functions for
420 :     setting the state, plus querying the state and scale
421 :    
422 :     - The function mkSBLayout has been moved to its own structure ScrollLayout
423 :    
424 :     - TextList replaces the ListWidget structure. The user can now
425 :     specify an initial state for the items.
426 :    
427 :     - mkColorRect has been added to implement simple colored rectangular regions.
428 :    
429 :     - A background_t widget has been added to implement backgrounds for widgets
430 :    
431 :     - Where possible, composite widgets no longer need a root
432 :     argument (structures Frame, ScrollPort, Shape)
433 :    
434 :     - The Box structure now produces a box_layout_t, rather than a widget_t.
435 :     (There is the usual widgetOf function.) In addition, one can now
436 :     insert, delete, map, and unmap "boxes" in the top level of the box
437 :     hierarchy
438 :    
439 :     - A Pile structure has been added. This implements a pile_t type, which
440 :     maintains a collection of widgets, only one of which is visible at
441 :     a time. Widgets can be inserted and deleted from piles.
442 :    
443 :     (2 November 1992)
444 :    
445 :     - modified str-edit.sml to allow character values in the range
446 :     [0xa0-0xff].
447 :    
448 :     - Color type introduced to allow multiple representations; currently
449 :     supports RGB and pixel. [NOTE: this has been moved to the library
450 :     level]
451 :    
452 :     - New widgets : Divider, MenuButton, ViewPort, ScrollPort
453 :    
454 :     - Label views, text button views and list items
455 :     reimplemented to use common text glyph.
456 :    
457 :     - Frames provide dynamic control of frame color.
458 :    
459 :     - Labels provide a font option, and dynamic control of colors.
460 :    
461 :     - Bugs fixed in scrollbar widges.
462 :    
463 :     - Signature of Shape module changed, and two new functions mkRigid
464 :     and mkFlex added.
465 :    
466 :     - Character insertion and deletion added to TextWidget
467 :    
468 :     - The Widget module now provides filter functions for the input streams,
469 :     and a function to alter the background of a widget.
470 :    
471 :     - Toggle and button protocol has changed. Command and toggle buttons
472 :     register a change on button up, not on button down. If button up
473 :     occurs off the widget, no change is registered. Event streams for
474 :     general buttons now terminate with either button up or exit, the latter
475 :     indicating the mouse has left the widget. Buttons and toggles also now
476 :     provide active/inactive state.
477 :    
478 :    
479 :     eXene-0.3 (released 12/03/91)
480 :     -----------------------------
481 :    
482 :     GLOBAL CHANGES:
483 :     - eXene is now based on CML-0.9.4; this very required minor changes to
484 :     eXene (now using 0.9.6).
485 :    
486 :     - ported to SML/NJ 0.71. Most changes were a result of the Array structure
487 :     not being open by default, and by Array.sub no longer being an infix operator.
488 :     Changed the representation of pen_t values to use immutable vectors.
489 :    
490 :     LIBRARY CHANGES
491 :     - fixed typechecking problem in protocol/xdisplay.sml that was exposed
492 :     by SML/NJ 0.70.
493 :    
494 :     - replaced draw_dst_t datatype with abstract drawable_t type. This is
495 :     part of the support for rubber-banding.
496 :    
497 :     - fixed xio.sml bug caused by a faulty understanding of the sequencing
498 :     semantics of the protocol.
499 :    
500 :     - fixed bugs in gc-server.sml and draw-master.sml reported by Huimin Lin
501 :     (huimin@@cogs.susx.ac.uk).
502 :    
503 :     - fixed bug in HashUtil.mapList
504 :    
505 :     - changed remove function for hash tables to return the removed item. This
506 :     affected the hash tables defined in util/{hash-util.sml,hash-xid.sml},
507 :     window/hash-window.sml and user/eXene-base.sml.
508 :    
509 :     - added window-tree locking mechanism to the window registry.
510 :    
511 :     - modified asynchronous blt operations to use a promise-style implementation.
512 :    
513 :     - added updatePen operation for functional updates of pens.
514 :    
515 :     - added createOverlay to support rubber-banding.
516 :    
517 :     - new Spline module providing functions to compute Bezier cubic sections,
518 :     and open and closed B-splines.
519 :    
520 :     - added copyBlt and copyBltEvt.
521 :    
522 :     - fixed bug in decoding font info in xreply.sml (wrong offset)
523 :    
524 :     WIDGET CHANGES
525 :     - fixed possible deadlock arising from parent not always servicing a child's
526 :     CO event. This affected box.sml and field-edit.sml.
527 :    
528 :     - added new text list widget. The widget provides a vertical or horizontal
529 :     display of text items, and events associated with the user choosing items.
530 :    
531 :     - the ButtonView structure now provides a new view mkTextBtn, which
532 :     generalizes mkLabelBtn (rectangular buttons with string labels) by
533 :     allowing the programmer to specify the border width and text alignment
534 :     within the button.
535 :    
536 :     - fixed bug in Frame widget that was causing deadlock.
537 :    
538 :     - the SimpleMenu module has seen various bug fixes and style
539 :     changes, as well as the addition of a low-level menu routine
540 :     for providing pop-up menus within widgets.
541 :    
542 :     - there is now a working vtty widget (thanks to Thomas Yan for finishing
543 :     our code)
544 :    
545 :     - the Canvas widget now provides a drawable, so that the library drawing
546 :     routines can be used.
547 :    
548 :    
549 :     eXene-0.2 (released 4/27/91)
550 :     -----------------------------
551 :    
552 :     LIBRARY CHANGES
553 :     - added absolute screen coordinates to mouse event messages
554 :    
555 :     - added tileBlt operation to Drawing
556 :    
557 :     - fixed GraphicsExpose/NoExpose problem. Drawing.bitblt and Drawing.tileBlt
558 :     will raise the exception Exposures, if part of the source is unavailable.
559 :     Also, the PV_Exposures field for pens has been eliminated.
560 :    
561 :     - destroyWindow is now handled by the draw-master, which avoids a race
562 :     with any pending drawing requests on the window. This was a problem
563 :     with popup windows.
564 :    
565 :     - added Geometry.inside; test if a rectangle is inside another
566 :    
567 :     - fixed bug in encodePolyRects, etc.
568 :    
569 :     - changed DrawMaster to group adjacent drawing requests that use the same pen.
570 :    
571 :     - fixed the shutdown deadlock that was causing the "eXene-shutdown timeout"
572 :     message.
573 :    
574 :     WIDGET CHANGES
575 :     - fixed deadlock in widgets/router.sml
576 :    
577 :     - added tileBlt operation to Canvas widget
578 :    
579 :     - the menu widget is fixed
580 :    
581 :     - there is now a text widget
582 :    
583 :     - there is a text-field edit widget
584 :    
585 :     - the bounds_t type has been redefined; see the manual for details.
586 :    
587 :     - the box/glue layouts have been re-implemented. Also, the layout semantics
588 :     have changed; see the manual for details.
589 :    
590 :     - the type of Widget.wrapCreate has changed; point_t and size_t arguments were
591 :     bundled into a rect_t argument.
592 :    
593 :     - additional button views have been added.
594 :    
595 :     - the shell widget now provides application access to window manager
596 :     hints. In addition, the shell automatically registers size hints
597 :     with the window manager.
598 :    
599 :     EXAMPLES
600 :     - the examples have been updated to use some of the new library features
601 :    
602 :     - a simple example of the menu widget has been added
603 :    
604 :     - a calculator has been implemented using the widget set.
605 :    
606 :    
607 :     eXene-0.1 (released 3/19/91)
608 :     -----------------------------
609 :     This was the first release

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0