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

SCM Repository

[smlnj] View of /sml/branches/SMLNJ/src/eXene/CHANGES
ViewVC logotype

View of /sml/branches/SMLNJ/src/eXene/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log

Revision 29 - (download) (annotate)
Thu Mar 12 01:05:59 1998 UTC (24 years, 6 months ago) by monnier
File size: 18492 byte(s)
*** empty log message ***
eXene-1.0 (released ???)

  - changed uses of System.Unsafe.

  - various minor changes to track basis clean-up in SML/NJ.

  - various minor changes to conform with SML'97 type sharing rules.

  - various minor changes to use Real.== instead of polymorphic equality
    (which doesn't work anymore).

  - modified sources to compile against SML'96 and the latest version of CML.

  - fixed bug in parsing code.

  - created the GetDpy structure to provide support for getting the
    display and authentication information for an application.  This
    code was taken from the RunEXene structure in the widget utilities.

  - fixed alignment bug in X authorization code.

  - Fixed a bug introduced in SML/NJ 109.30, where the open connection
    request had bogus data in it.

  - Fixed a bug in the encoding of PolyText8 requests.

  - One can now use symbolic host names when connecting to servers.

  - Added RunEXene.parseDisplay.

  - RunEXene.run and RunEXene.runWArgs now look for the DISPLAY shell variable
    instead of EXENE_DISPLAY.

eXene-0.5 (released ???)

  - modified sources to use the Char and String interfaces from the
    new standard basis.

  - added partial fix to handle sequence numbers > 2^16; still need to synchronize
    with server when # of requests greatly exceeds replies.

  - add clause to catch Fail exceptions in the wrapper code for XDebug.xspawn.

  - added charWidth to the Font structure, and cleaned up the various
    width computing functions in lib/window/font-base.sml.

  - added withdrawWin to eXeneWin for ICCC-compliant unmapping of top-level

  - added rgbOfColor to eXeneBase for extracting the RGB of a color so that
    the shading colors (for 3D) can be computed.

  - fixed a bug in protocol/xdisplay.sml, where the connection file descriptor
    was not being closed when the server refuses the connection.

  - added the authentication datatype to EXeneBase and added an authentication
    parameter to the openDisplay operation.

  - added position and time information to MOUSE_Enter and MOUSE_Leave
    events.  We may want to make mouse events carry more uniform information.

  - made a bunch of changes to better support properties.  Renamed the type
    XProtTypes.property to prop_val, and removed the name field.  Added
    a property server to monitor property changes.

  - added maxReqLen to allow applications to find out the maximum
    request length supported by a display.

  - renamed Drawing.tileBlt to Drawing.textureBlt, and added a new function,
    called tileBlt, which does a pixelBlt using the tile as a source.

  - created a per display connection server for managing communications
    related to selections.  This also required a couple of minor changes
    to the protocol implementation.

  - created a per display connection atom table, for caching interned atoms.
    The standard atom definitions moved from xatom.sml to std-atoms.sml.

  - fixed bug in Geometry.clipPt.

  - fixed bug in XDebug.xspawn that caused the trace-server's ID to be reported
    instead of the spawned thread.

  - modified XDebug.xspawn to report thread exiting on the xspawn trace module,
    and to unwatch normally exiting threads.  Also, turn on the XDebug.errorTM
    trace module.

  - added Font.substrWidth for computing the width of a substring.

  - added general function to change window attributes (EXeneWin.changeAttrs)

  - added EXeneWin.setBackground

  - added XAuth structure to provide support for getting authentication
    data needed when opening a display.

  - added BitmapIO functor that supports reading and writing depth-1 images
    in the X11 format.

  - added openFont to the Widget structure.

  - created the EXeneRun utility structure for a higher-level way to invoke
    eXene applications.

  - added an authentication parameter to the mkRoot operation.

  - added setCursor and setBackground to Canvas structure to allow those window
    attributes of a canvas to be changed.

  - fixed a race condition in the canvas widget.

  - modified box_item datatype declaration in BoxLayout to allow use of

  - modified Background widget to use EXeneWin.setBackground.

  - added colorOf function to Widget structure; shorthand for
    colorOfScr (screenOf root) colorspec (widget.sml).

  - changed default scrollbar cursor color to gray; correctly handles
    monochrome displays (scrollbar.sml, scroll-view.sml).

eXene-0.4 (released 02/17/93)

  - changed type naming convention to remove "_t" suffix.

  - modified source to use SML/NJ Library (v. 0.1).  A couple of the interfaces
    are different from the util-lib versions.

  - modified XDebug structure to use the trace modules provided by TraceCML.
    Also modified various clients of XDebug.

  - exposed WindowNotFound exception in EXeneBase.

  - changed lib-level hashing functions to use SML/NJ Library hash tables.

  - added encodeSendEvent to XRequest, and send_evt_to_t type to XProtTypes.
    Created the XSendEvent structure, which contains routines for encoding
    SendEvent requests (currently only encodeSendSelectionNotify).

  - modified lib/protocol/xdisplay.sml to retry connection upto 5 times.

  - open EXene structure using explicit structure assignments, so as not to
    confuse source groups.

  - Always create GC server for depth 1 pixmaps (patch for IBM X bug) (display.sml)

  - Fixed parity error in internAtom and lookupAtom (xatoms.sml)

  - Added black and white color_spec_t to EXeneBase (abstract.sml,exene-base.sml)
  - Added createImageFromTile function to EXeneBase (exene-base.sml,image.sml)

  - Removed alloc-type window creation routines (window.sml,exene-win.sml)

  - Added function createTransientWin (window.sml,exene-win.sml,xprops.sml)

  - Added function setWMProtocols (window.sml,exene-win.sml,xprops.sml)

(2 November 1992)

  - split lib/window/window.sml into window-sig.sml and window.sml.

  - added background and border color fields to representation of windows.
    This is necessary to avoid premature deallocation of those color
    cells, once color finalization is implemented.

  - changed "Drawing.autoflush" to "Drawing.feedback"

  - Implemented a new, more abstract, color model.  Each screen has a color
    server that maps abstract color specifications (color_spec_t) to
    an abstract representation of colors (color_t).  The pixel type is no
    longer visible to the user level.

  - Added number of buffered messages count to mapped state of draw-master.

  - Added Font.charPositions to return per character positions of a string.

  - Fixed race condition by adding buffering to the top-level
    window server.

  - XDisplay structure now contains a field for the X server's
    maximum request size.

  - Image can now be more than 1 plane deep, using XY format.
    Images and their ascii representations now require a list of
    lists instead of a list.
    bm2mlx-template.c modified to reflect the new format.

  - Function createImageFromPixmap added.

  - Bounding box function bbox added to Geometry.

  - Bugs in intersection and union in Geometry fixed.

  - Race condition between drawing on a pixmap and destroying the
    pixmap eliminated.

  - Bug in createTileFromPixmap fixed.

  - MOUSE_Enter/MOUSE_Leave events now generated.

  - FirstDown & LastUp messages added to mouse_msg_t.

  - fixed bug in HashUtil.remove

  - added checks to guarantee that values constructed using concrete
    datatypes lie in allowed ranges for the X protocol.  Added related
    exceptions BadRGB, BadDrawParameter, BadPenParameter, BadWindowGeometry
    and BadPixmapParameter.

  - NoColorCell exception added to EXeneBase (and Color), for attempts to
    allocate a new color cell when the color map is full.

  - Immutable tiles are now used where pixmaps used to be allowed.

  - Added routine for generating general ellipses.

  - Fixed bug in spline code concerning when line is flat enough.

  - Spline code has been moved into the graphics utility directory

  - Added routines for drawing/filling rounded rectangles.

  - The BadArgument exceptions in Box, Pile and WidgetSet are 
    changed to BadIndex (box.sml, pile.sml, widget-set.sml).

  - The AlreadyRealized exception from Widget is now exposed (widget.sml).

  - The getChildEnv function in Router now raises a NotFound
    exception if the environment is not in the table (router.sml).

  - A shell widget now deletes its own window and becomes a zombie
    when it receives a KillReq from its child (shell.sml).

  - The bounds function for str_edit is more correctly and efficiently
    handled. It is also no flexible in the x dimension (str-edit.sml).

  - Unnecessary case "013" removed from echo server (vtty.sml)

  - Field name "rad" changed to "radius" in mkToggleCircle (toggle.sml)

  - Many widget exceptions replaced by LibBase.BadArg (slider.sml,
    scrollbar.sml, divider.sml, button-view.sml, str-edit.sml,
    widget.sml, frame.sml, viewport-sig.sml, viewport.sml

  - Exceptions BadWidth and MultipleChoices exposed in text-list.sml

  - Unused exception BadWidth removed from color-rect.sml

  - setWMHints function added to Shell

  - type generators added for types defined by type abbreviation:
    wm_args_t, hints_t (shell.sml), bounds_t (widget.sml),
    list_item_t (text-list.sml), set_item_t (widget-set.sml),
    whereFn_t (simple-menu.sml)

  - Added code to prevent possible deadlock dealing with child CO
    events (widget.sml, shell.sml, box.sml, shape.sml, field-edit.sml)

(11 November 1992)

  - Fixed bugs in vtty.sml, toggle-ctrl.sml

(10 November 1992)

  - Added WidgetSet structure (widget-set.sml); new version of
    TextList using WidgetSet

(5 November 1992)
  - The widget library assumes util-lib library loaded

  - Added mkTransientShell and removed setWMHints from Shell

  - Added wstate_t type to Widget; replaces button_state_t

  - Added sameRoot function to Widget

  - Made widgets abstract, with equality function. 

  - Removed window attributes for widgets. The wrapCreate function 
    was changed accordingly. Also, removed setBackground function 
    from Widget; use new background widget instead

  - Added several utility functions to Widget: okaySize, compatibleDim, 

  - Added ignoreMouse, ignoreKey functions for widgets

  - Toggles now take an initial state; in addition, a toggle now 
    fires its action routine if its state is changed under program control

  - Sliders now take an initial state; in addition, there are now functions for
    setting the state, plus querying the state and scale

  - The function mkSBLayout has been moved to its own structure ScrollLayout

  - TextList replaces the ListWidget structure. The user can now 
    specify an initial state for the items.

  - mkColorRect has been added to implement simple colored rectangular regions.

  - A background_t widget has been added to implement backgrounds for widgets

  - Where possible, composite widgets no longer need a root 
    argument (structures Frame, ScrollPort, Shape)

  - The Box structure now produces a box_layout_t, rather than a widget_t.
    (There is the usual widgetOf function.) In addition, one can now
    insert, delete, map, and unmap "boxes" in the top level of the box

  - A Pile structure has been added. This implements a pile_t type, which
    maintains a collection of widgets, only one of which is visible at
    a time. Widgets can be inserted and deleted from piles.

(2 November 1992)

  - modified str-edit.sml to allow character values in the range

  - Color type introduced to allow multiple representations; currently
    supports RGB and pixel.  [NOTE: this has been moved to the library

  - New widgets : Divider, MenuButton, ViewPort, ScrollPort

  - Label views, text button views and list items 
    reimplemented to use common text glyph.

  - Frames provide dynamic control of frame color.

  - Labels provide a font option, and dynamic control of colors.

  - Bugs fixed in scrollbar widges.

  - Signature of Shape module changed, and two new functions mkRigid
    and mkFlex added.

  - Character insertion and deletion added to TextWidget

  - The Widget module now provides filter functions for the input streams,
    and a function to alter the background of a widget.

  - Toggle and button protocol has changed. Command and toggle buttons
    register a change on button up, not on button down. If button up
    occurs off the widget, no change is registered. Event streams for
    general buttons now terminate with either button up or exit, the latter
    indicating the mouse has left the widget. Buttons and toggles also now
    provide active/inactive state.

eXene-0.3 (released 12/03/91)

  - eXene is now based on CML-0.9.4; this very required minor changes to
    eXene (now using 0.9.6).

  - ported to SML/NJ 0.71.  Most changes were a result of the Array structure
    not being open by default, and by Array.sub no longer being an infix operator.
    Changed the representation of pen_t values to use immutable vectors.

  - fixed typechecking problem in protocol/xdisplay.sml that was exposed
    by SML/NJ 0.70.

  - replaced draw_dst_t datatype with abstract drawable_t type.  This is
    part of the support for rubber-banding.

  - fixed xio.sml bug caused by a faulty understanding of the sequencing
    semantics of the protocol.

  - fixed bugs in gc-server.sml and draw-master.sml reported by Huimin Lin

  - fixed bug in HashUtil.mapList

  - changed remove function for hash tables to return the removed item.  This
    affected the hash tables defined in util/{hash-util.sml,hash-xid.sml},
    window/hash-window.sml and user/eXene-base.sml.

  - added window-tree locking mechanism to the window registry.

  - modified asynchronous blt operations to use a promise-style implementation.

  - added updatePen operation for functional updates of pens.

  - added createOverlay to support rubber-banding.

  - new Spline module providing functions to compute Bezier cubic sections,
    and open and closed B-splines.

  - added copyBlt and copyBltEvt.

  - fixed bug in decoding font info in xreply.sml (wrong offset)

  - fixed possible deadlock arising from parent not always servicing a child's
    CO event. This affected box.sml and field-edit.sml.

  - added new text list widget. The widget provides a vertical or horizontal
    display of text items, and events associated with the user choosing items.

  - the ButtonView structure now provides a new view mkTextBtn, which
    generalizes mkLabelBtn (rectangular buttons with string labels) by
    allowing the programmer to specify the border width and text alignment
    within the button.

  - fixed bug in Frame widget that was causing deadlock.

  - the SimpleMenu module has seen various bug fixes and style
    changes, as well as the addition of a low-level menu routine
    for providing pop-up menus within widgets.

  - there is now a working vtty widget (thanks to Thomas Yan for finishing
    our code)

  - the Canvas widget now provides a drawable, so that the library drawing
    routines can be used.

eXene-0.2 (released 4/27/91)

  - added absolute screen coordinates to mouse event messages

  - added tileBlt operation to Drawing

  - fixed GraphicsExpose/NoExpose problem.  Drawing.bitblt and Drawing.tileBlt
    will raise the exception Exposures, if part of the source is unavailable.
    Also, the PV_Exposures field for pens has been eliminated.

  - destroyWindow is now handled by the draw-master, which avoids a race
    with any pending drawing requests on the window.  This was a problem
    with popup windows.

  - added Geometry.inside; test if a rectangle is inside another

  - fixed bug in encodePolyRects, etc.

  - changed DrawMaster to group adjacent drawing requests that use the same pen.

  - fixed the shutdown deadlock that was causing the "eXene-shutdown timeout"

  - fixed deadlock in widgets/router.sml

  - added tileBlt operation to Canvas widget

  - the menu widget is fixed

  - there is now a text widget

  - there is a text-field edit widget

  - the bounds_t type has been redefined; see the manual for details.

  - the box/glue layouts have been re-implemented.  Also, the layout semantics
    have changed; see the manual for details.

  - the type of Widget.wrapCreate has changed; point_t and size_t arguments were
    bundled into a rect_t argument.

  - additional button views have been added.

  - the shell widget now provides application access to window manager
    hints. In addition, the shell automatically registers size hints
    with the window manager.

  - the examples have been updated to use some of the new library features

  - a simple example of the menu widget has been added

  - a calculator has been implemented using the widget set.

eXene-0.1 (released 3/19/91)
  This was the first release

ViewVC Help
Powered by ViewVC 1.0.0