1726 lines
65 KiB
Plaintext
1726 lines
65 KiB
Plaintext
Version 6.0, January 2014
|
|
|
|
Added get-display-backing-scale
|
|
Added get-backing-scale to bitmap%
|
|
Fixed key-event% get-key-release-code to return 'press instead of 'down
|
|
for a key-down event
|
|
Changed GUI size limit to 1000000
|
|
Add dimension-integer?, position-integer?, spacing-integer?, and
|
|
positive-dimension-integer?
|
|
Framework: changed backward-containing-sexp so it returns #f in
|
|
more situations
|
|
Framework: syntax colorer now usees 'text' for stuff between {}s
|
|
in scribble mode (not string)
|
|
bitmap-dc% get-pixel and set-pixel now transmit alpha values to/from
|
|
their arguments
|
|
|
|
----------------------------------------
|
|
|
|
Version 5.1, February 2011
|
|
|
|
The GRacket executable is now a thin wrapper on the Racket executable,
|
|
with the drawing and GUI libraries re-implemented as plain Racket
|
|
libraries. See "Draw_and_GUI_5_1.txt" in the Racket release-notes
|
|
directory. These notes will be discontinued.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 5.0.2, October 2010
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 5.0.1, July 2010
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 5.0, May 2010
|
|
|
|
Changed the executable from MrEd to GRacket
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2.5, March 2010
|
|
|
|
Changed radio-box% to allow #f as a selection so that no buttons are
|
|
selected
|
|
Added accept-tab-focus method to canvas<%> and editor-canvas%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2.4, January 2010
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2.3, November 2009
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2.2, September 2009
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2.1, July 2009
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.2, May 2009
|
|
|
|
Ported the editor classes (text%, snip%, editor-canvas%, etc.) from
|
|
C++ to Scheme
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1.5, March 2009
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1.4, January 2009
|
|
|
|
Changed image-snip% to implement equal<%>
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1.3, November 2008
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1.2, October 2008
|
|
|
|
Changed -z/--text-repl to a configuration option
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1.1, October 2008
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.1, August 2008
|
|
|
|
Added auto-resize init argument and method to message%
|
|
Added scroll-editor-to method to editor<%>
|
|
Added on-reflow method to text%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 4.0, June 2008
|
|
|
|
Mac OS X and Windows: adjusted window refresh to draw only
|
|
in update regiion
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 372, December 2007
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 371, August 2007
|
|
|
|
Fixed (get-face-list 'mono) for Mac OS X and X11
|
|
Changed begin-container-sequence to delay making windows visible
|
|
Added 'no-focus style for canvas%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 370, May 2007
|
|
|
|
WXME file format changed to include a #reader() prefix
|
|
Added is-maximized? method to frame% (Windows, Mac OS X)
|
|
Improved the disabled appearance of some controls under Mac OS X
|
|
Added use-style-background and style-background-used? methods
|
|
to editor-snip%; changes the editor-snip WXME format
|
|
Mac OS X printer-dc% uses scaling specified by the current ps-setup%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 360, November 2006
|
|
|
|
Added get-other-altgr-key-code and get-other-shift-altgr-key-code
|
|
to key-event%, and adjusted Ctl- (Windows, X) and Cmd- (Mac OS X)
|
|
mappings to preserve Shift (and Option), moving the unshifted
|
|
version to the "other" fields; adjusted keymap% matching to use
|
|
new "other" fields and to more precisely weight matches
|
|
Mac OS X: fixed event handling to support CJK input and input from
|
|
the character palette
|
|
Removed on-scroll from canvas<%> and editor-canvas%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 352, July 2006
|
|
|
|
Minor bug fixes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 351, July 2006
|
|
|
|
Changed the shortcut type for selectable-menu-item<%> to allow
|
|
key-code symbols
|
|
Added get-shortcut-prefix and set-shortcut-prefix to menu-item
|
|
to selectable-menu-item<%>, along with corresponding initialization
|
|
argument to menu-item% and checkable-menu-item%
|
|
Added get-default-shortcut-prefix
|
|
Removed get-x-shortcut-prefix and set-x-shortcut-prefix from
|
|
selectable-menu-item<%>
|
|
Added get-other-shift-key-code to key-event%
|
|
Added support for "?:" modifier to keymap state strings
|
|
Changed internal handling of keyboard events
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 350, June 2006
|
|
|
|
Default max undo history for an editor<%> is 0; use
|
|
set-max-undo-history to enable undo
|
|
Disabled menu-item shortcuts stay effective (to just beep)
|
|
When no location is given for a dialog%, it is centered when
|
|
shown
|
|
Added 'no-sheet dialog% style
|
|
Added |MrEd:emacsUndo| low-level preference
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 301, Decmber 2005
|
|
|
|
Fixed a bug in reading non-text files whose encoding contains
|
|
a byte string longer than 64 bytes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 300, Decmber 2005
|
|
|
|
Changed editor file format to an ASCII encoding
|
|
Changed measurement of text for post-script-dc%
|
|
Changed label->plain-label to strip parenthesized mneumonics
|
|
Added 'package and 'enter-package flags to put-file, and
|
|
changed Mac OS X put-file to use extension and filters args
|
|
Added on-mdi-activate to frame%
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 299.400, September 2005
|
|
|
|
No MrEd-specific changes
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 299.200, August 2005
|
|
|
|
Added get-handle to window<%>
|
|
Added open-output-text-editor
|
|
Changed application-file-handler so that handler's result is
|
|
used; #f tells Windows that the application won't quit
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 299.100, March 2005
|
|
|
|
General:
|
|
Added support for smoothed (i.e., anti-aliased) shape drawing,
|
|
including support for spline-based paths; under X, smoothed
|
|
drawing requires Cairo
|
|
Mac OS X: switched to composite Carbon layer for widgets, added
|
|
support for full keyboard access
|
|
X: modernized GUI look, added support for X clipboard (as opposed
|
|
to the X selection)
|
|
Changed some methods to augmentable instead of overrideable (see
|
|
MzScheme_300.txt about augmentable methods):
|
|
top-level-window<%>: can-close?
|
|
on-close
|
|
editor<%>: on-change
|
|
on-snip-modified
|
|
can-save-file?
|
|
on-save-file
|
|
after-save-file
|
|
can-load-file?
|
|
on-load-file
|
|
after-load-file
|
|
on-edit-sequence
|
|
after-edit-sequence
|
|
text%: can-insert?
|
|
on-insert
|
|
after-insert
|
|
can-delete?
|
|
on-delete
|
|
after-delete
|
|
can-change-style?
|
|
on-change-style
|
|
after-change-style
|
|
after-set-position
|
|
can-set-size-constraint?
|
|
on-set-size-constraint
|
|
after-set-size-constraint
|
|
pasteboard%: can-insert?
|
|
on-insert
|
|
after-insert
|
|
can-delete?
|
|
on-delete
|
|
after-delete
|
|
can-move-to?
|
|
on-move-to
|
|
after-move-to
|
|
can-resize?
|
|
on-resize
|
|
after-resize
|
|
can-reorder?
|
|
on-reorder
|
|
after-reorder
|
|
can-select?
|
|
on-select
|
|
after-select
|
|
can-interactive-move?
|
|
on-interactive-move
|
|
after-interactive-move
|
|
can-interactive-resize?
|
|
on-interactive-resize
|
|
after-interactive-resize
|
|
Widgets and Widget Features:
|
|
Added a default callback procedure for every control<%> class
|
|
that has a callback
|
|
Added combo-field%
|
|
Added 'float and 'metal styles to frame%
|
|
Added 'combo, 'transparent, and 'resize-corner styles to canvas%
|
|
and editor-canvas%; added 'no-border, 'auto-vscroll, and
|
|
'auto-hscroll flags to editor-canvas%; added set-resize-corner
|
|
to canvas<%>; added show-scrollbars and method to canvas%
|
|
Added set-min-width function to popup-menu%
|
|
Added set-canvas-background and get-canvas-background to
|
|
canvas<%>
|
|
Added get-item-label, set-item-label, and set to tab-panel%
|
|
Added 'blank cursor%
|
|
Added hide-cursor-until-moved, called by text%'s on-char
|
|
Added message+check-box and message+check-box/custom
|
|
Added a font intialization argument for control<%> classes
|
|
and popup-menu%, and added get-font method
|
|
Removed get-label-font, get-control-font, set-label-font,
|
|
set-control-front, get-label-position, and set-label-position
|
|
from area-container<%> and implementing classes
|
|
Added normal-control-font, small-control-font, tiny-control-font,
|
|
view-control-font, and menu-control-font constants
|
|
Drawing:
|
|
Added set-smoothing and get-smoothing to dc<%>
|
|
Added dc-path% class and added draw-path to dc<%>
|
|
Added set-path to region%
|
|
Added in-region? to region%
|
|
Added draw-bitmap-section-smooth to bitmap-dc% (not dc<%>)
|
|
Added variants of dc<%>'s set-{pen,brush} that accept arguments
|
|
like the-{pen,brush}-list's find-or-create-{pen,brush}
|
|
Changed default of radius argument of set-rounded-rectangle
|
|
in region% to -0.25 (consistent with dc<%> method)
|
|
Changed the font% constructor so that weight and style
|
|
arguments are optional
|
|
Added screen-glyph-exists? to font% and glyph-exists to dc<%>
|
|
Removed get-afm-path and set-afm-path from ps-setup%;
|
|
use the PLTAFMDIR environment variable or the
|
|
current-ps-afm-file-paths parameter, instead
|
|
Added can-show-native? and show-native to ps-setup%
|
|
Changed default 'default PostScript font to Helvetica
|
|
Changed default 'decorative PostScript font to Helvetica
|
|
Changed gl-context% swap-buffers to use the call-as-current lock,
|
|
and changed the lock to be re-entrant
|
|
Added gl-config%, a gl-config init argument to canvas%, and
|
|
set-gl-config and get-gl-config methods to bitmap%
|
|
X: improved performance of bitmap scaling when RENDER is
|
|
available
|
|
Improved performance of get-argb-pixels, set-argb-pixels,
|
|
and loading of PNG and JPG files on some platforms
|
|
Misc:
|
|
Added the-x-selection-clipboard
|
|
Added paste-x-selection and do-paste-x-selection to editor<%>
|
|
Added "paste-x-selection" to add-editor-keymap-functions
|
|
Changed "middlebutton" mapping in the default text keymap
|
|
initializer's map to use paste-x-selection
|
|
Dropped question marks for interactive and use-paper-bbox
|
|
initialization arguments of post-script-dc%; added
|
|
as-eps initialization argument
|
|
Added an as-eps argument to editor<%>'s print method
|
|
Flattened text from an editor<%> always uses #\newline,
|
|
not a platform-specific line separator
|
|
Added background-color argument to editor<%>'s refresh
|
|
Added on-split-snip, on-merge-snips, and get-revision-number
|
|
to text%
|
|
Changed read-one-special in readable-snip<%> to read-special
|
|
Added get-unterminated-bytes to editor-stream-in%
|
|
Removed >> and << from the editor-stream classes, and changed
|
|
"string" to "bytes" in class and method names
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 209, December 2004
|
|
|
|
No significant changes.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 208, August 2004
|
|
|
|
No significant changes.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 207, May 2004
|
|
|
|
Changed Windows launching behavior to bring an existing window
|
|
to the front and to use `application-file-handler' to deliver
|
|
comamnd-line arguments
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 206p1, February 2004
|
|
|
|
Fixed printing scale for Windows NT/2000/XP
|
|
|
|
|
|
Version 206, January 2004
|
|
|
|
Drawing:
|
|
Changed get-argb-pixels and set-argb-pixels to row-major order:
|
|
left to right then top to bottom
|
|
Added get-bitmap and get-bitmap-mask to image-snip%
|
|
PostScript `draw-bitmap' now uses a supplied mask
|
|
Changed the default radius for dc<%>'s draw-rounded-rectangle
|
|
to -0.25, and added checking and a mismatch exception
|
|
when the radius is out of range
|
|
Text and fonts:
|
|
Added optional argument to draw-text in dc<%> for rotation
|
|
Changed text scaling to support independent X and Y scale
|
|
(except Windows 95/98/Me)
|
|
Added argument to font%, etc., to make size in pixels
|
|
Added size-in-pixels to style<%> and style-delta%
|
|
X with fontconfig/Xft: Added remapping for the 'symbol family
|
|
to match Adobe symbols (like Mac OS X)
|
|
X with fontconfig/Xft: Added substitution support via
|
|
comma-separated font names
|
|
X with fontconfig/Xft: Changed default 'symbol face mapping
|
|
to " Standard Symbols L,Nimbus Sans L"
|
|
Added optional 'mono argument to get-face-list
|
|
Frames:
|
|
X, Mac OS: minimum size and non-stretchiness of a frame
|
|
or dialog is enforced by the window manager
|
|
Added optional argument to get-display-size to get the entire
|
|
screen's size under Windows and Mac OS
|
|
Added get-display-left-top-inset
|
|
Added 'hide-menu-bar frame style
|
|
Initial location for a frame can use negative numbers, and
|
|
the move method can move a frame to a negative location
|
|
Editors:
|
|
Added an optional argument to begin-edit-sequence in
|
|
editor<%> to treat actions before and after sequence
|
|
as consecutive
|
|
Framework collection:
|
|
Changed the defaults for frame:standard-menus-mixin;
|
|
the method file-menu:between-save-as-and-print method no
|
|
longer creates a separator menu item
|
|
Changed the overriding method behavior of
|
|
drscheme:frame:basics-mixin
|
|
Modes are now based on the language settings, rather than
|
|
the filename
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 205: August, 2003
|
|
|
|
Anti-aliased text:
|
|
Text rendering uses smoothing (anti-aliasing) for Mac OS X,
|
|
Windows, and X with Xft/fontconfig/RENDER
|
|
PNG format and image masks:
|
|
Added 'png and 'png/mask as load bitmap types, and added
|
|
optional background color argument for loading 'png
|
|
Added 'jpeg and 'png as save bitmap types
|
|
Changed draw-bitmap and draw-bitmap-section to accept
|
|
a non-monochrome bitmap as a mask (serving roughly
|
|
as an inverted alpha channel)
|
|
Changed image-snip% to use a mask attached to a
|
|
bitmap, if any, and to preserve the mask bitmap
|
|
when the file is saved
|
|
OpenGL:
|
|
OpenGL support now available on all platforms; see also the
|
|
"sgl" collection
|
|
Changed canvas% so that 'gl style is no longer needed
|
|
to enable OpenGL drawing in the canvas
|
|
Added get-gl-context method to dc<%>, which returns a
|
|
gl-context<%> for canvas and bitmap DCs
|
|
Changed with-gl-context method of canvas% to use
|
|
call-as-current for its gl-context<%>; the difference
|
|
from the old behavior is that such context-setting
|
|
is serialized across all eventspaces
|
|
GUI:
|
|
Added 'no-autoclear style to canvas%
|
|
Added 'control-border style to canvas% and editor-canvas%
|
|
Added 'hilite style for pen% and brush%
|
|
Windows: Use XP theme controls (under Windows XP)
|
|
Windows: system font is Tahoma when available,
|
|
default font is Microsoft Sans Serif when available
|
|
Mac OS X: Added 'toolbar-button style, on-toolbar-button-click
|
|
method, and modified method to frame%; the 'toolbar-button style
|
|
only affects the frame under OS X
|
|
Mac OS: Added current-eventspace-has-menu-root? and support for
|
|
'root parent of a menu-bar% instance
|
|
Mac OS: Added application-file-handler
|
|
Mac OS: Key-release events now reported
|
|
Mac OS X: Fixed menu-bar flashing bug, thanks to Paul Schlie
|
|
Editor:
|
|
Added write-editor-version and read-editor-version
|
|
Changed cut-and-paste WXME format to include version
|
|
Added on-display-size-when-ready and lock for refresh that blocks
|
|
an edit sequence
|
|
Added get-text! to snip%
|
|
Added locations-computed? to editor<%>
|
|
Added locked-for-write?, locked-for-flow?, and
|
|
locked-for-read? to editor<%>
|
|
Misc:
|
|
Handling of --main/-C command-line flag changed
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 204: May, 2003
|
|
|
|
Mac OS X: tab-panel% draws a border around its content by default
|
|
Added 'no-border style to tab-panel%
|
|
Windows: removed border around radio-box% buttons, changed label
|
|
to follow requested positioning
|
|
Added group-box-panel%
|
|
Added eventspace-handler-thread
|
|
Added vertical-inset and horizontal-inset methods to editor-canvas%
|
|
Changed text-field% to have margins of 2, reduced space between
|
|
the edit-box border and the editable text
|
|
Windows: switched to XP-style controls under XP
|
|
Added application-quit-handler
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 203: December, 2002
|
|
|
|
Windows: corrected a source of much instability
|
|
Added tab-panel%
|
|
Added message-box/custom
|
|
Added 'app, 'caution, and 'stop styles to message-box
|
|
Added 'app, 'caution, and 'stop labels for message%
|
|
Added value init argument to check%, selection init argument to
|
|
radio-box%, choice%, and list-box%; in the argument order, the new
|
|
argument follows the style argument
|
|
Added checked init argument for checkable-menu-item%
|
|
Added and 'deleted style to every subwindow<%> class; a window
|
|
created with 'deleted is initially invisible and takes no
|
|
space in its container
|
|
Added `file-creator-and-type', useful in Mac OS
|
|
Mac OS X: file dialogs use given starting directory, and dialog%s
|
|
with a parent frame are shown as "sheets"
|
|
Mac OS X: MrEd3m is now supported
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 202: August, 2002
|
|
|
|
Added 'panel brush style for drawing in the current platform's panel
|
|
background color and pattern.
|
|
Added application-about-handler, application-preferences-handler,
|
|
and current-eventspace-has-standard-menus?
|
|
Mac OS X: fixed handling of the standard `Quit' menu item; it now
|
|
invokes the `on-exit' handler of the most recently active frame in the
|
|
initial eventspace
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 201: July, 2002
|
|
|
|
Added 'unknown/mask and 'unknown/gif bitmap types and
|
|
get-loaded-mask and set-loaded-mask methods to bitmap%;
|
|
used for GIF files containing transparent pixels
|
|
New load handler, text-editor-load-handler, enables MrEd to
|
|
load source files that are stored in the graphical
|
|
editor format
|
|
Added open-input-text-editor, used by the load handler
|
|
Added readable-snip<%>, which is recognized in ports created
|
|
with open-input-text-editor to "read" special snips
|
|
Changed file loading and saving so that a snip class name of
|
|
the form "(lib ...)" triggers the loading of a snip class
|
|
implementation
|
|
Removed get-clipboard-client from clipboard<%>
|
|
Changed set-clipboard-client to associate a clipboard-client%
|
|
object to the current eventspace, and the-clipboard to call
|
|
methods within the eventspace through event callbacks
|
|
Added a variant of insert-file to editor<%> to accept
|
|
an input port instead of a filename
|
|
Changed load-file, save-file, and insert-file in editor<%>
|
|
to raise exceptions instead of returning booleans
|
|
Added can-reorder?, on-reorder, and after-reorder to
|
|
pasteboard%
|
|
Added on-snip-modified method to editor<%>, set-unmodified
|
|
method on snip%, and modified method to editor-admin and
|
|
snip-admin
|
|
Added 'packages and 'enter-packages style flags to get-file
|
|
and get-directory; affects only Mac OS
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 200: June, 2002
|
|
|
|
Changed mouse-event% and key-event% positions (x and y) to be
|
|
exact integers
|
|
Added 'wheel-up and 'wheel-down "key" events
|
|
Added 'release key events
|
|
Added popup-menu to window<%>
|
|
Added a popup menu to the message-box dialog that copies the contained
|
|
message to the clipboard
|
|
Changed methods in dc<%> classes to raise an exception if the
|
|
DC is not ok (except for the ok? method)
|
|
Changed dc<%>'s draw-bitmap and draw-bitmap-section to
|
|
scale the bitmap if the dc<%> has a scale, and to accept
|
|
a mask bitmap
|
|
The get-resource and write-resource procedures are deprecated, and
|
|
not supported for Mac OS; MrEd uses the preferences file that
|
|
ismanaged by MzLib's get-preference and put-preferences
|
|
Changed text% undo to restore the pre-modification selection
|
|
Changed text% so that later-installed clickbacks take precedence
|
|
Changed cursor% constructor to take image and mask bitmaps instead of
|
|
a filename
|
|
Restricted all label string arguments to <= 200 characters
|
|
Added optional filters argument to get-file, put-file, and
|
|
get-file-list (used by Windows, only)
|
|
Added get-directory
|
|
Fixed internal lock handling on focus and activation events
|
|
Removed ps-setup%'s get-options and set-options
|
|
Added a use-paper-bbox? initialization argument to post-script-dc%
|
|
Added a 'gl style flag to canvas%, and with-gl-context and
|
|
swap-gl-buffers methods; supported for Windows, only
|
|
Added container-flow-modified method to area-container<%>
|
|
Added "standard" HTML colors to the-color-database
|
|
Added 'size-n/s, 'size-e/w, 'size-ne/sw, and 'size-nw/se icons
|
|
Windows: removed special handling of Ctl-m, Ctl-i, and Ctl-h
|
|
X: play-sound in Linux uses the "play" program, and under
|
|
Solaris, it uses the "audioplay" program
|
|
X: Default keymap double-click time determined via the standard Xt
|
|
function
|
|
X: 'no-resize-border and 'no-caption work for frame% with many window
|
|
managers
|
|
X: too-long menus can scroll
|
|
X: changed default preview command from "ghostview" to "gv"
|
|
Mac OS: play-sound plays virtually any kind of sound, including
|
|
.wav files; QuickTime 3.0 or higher is required
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 103: August 28, 2000
|
|
|
|
Added 'wait as a possible argument to yield, and changed startup
|
|
to call (yield 'wait), with new meaning for -V flag
|
|
Removed 'anchored flag for snip% (wasn't implemented)
|
|
Added support for loading JPEG file (but not saving)
|
|
Added get-clipboard-bitmap and set-clipboard-bitmap to
|
|
clipboard<%>
|
|
Changed graphical-read-eval-print-loop to take an optional
|
|
eventspace argument, which determines the evaluation eventspace
|
|
Fixed menu shortcut handling to call the menu bar's `on-demand'
|
|
method before looking for a key binding
|
|
Fixed auto-wrapping bug in text%
|
|
Fixed set-max-undo-history in editor<%>
|
|
Windows: editors can paste bitmaps copied to the
|
|
clipboard from other programs
|
|
Windows: fixed get-file-list
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 102: June 26, 2000
|
|
|
|
Changed the interaction of face and familiy settings in a font for
|
|
drawing text
|
|
Removed get-afm-name and set-afm-name from font-name-directory<%>,
|
|
and changed post-script-dc% to use the PostScript font name as the
|
|
AFM file name
|
|
Added get-margin and set-margin to ps-setup%; post-script-dc% uses
|
|
the margins to shrink its paper size and offset its output
|
|
Changed pen%'s width from integer to real number (used for PS)
|
|
Added on-superwindow-show and on-superwindow-enable to window<%>
|
|
Added get-file-list procedure
|
|
Added on-message to top-level-window<%>
|
|
Added send-message-to-window procedure
|
|
Added pop-down callback initialization argument to popup-menu%, and
|
|
added 'menu-popdown and 'menu-popdown-none event types to
|
|
control-event%
|
|
Added get-popup-target method to popup-menu%
|
|
Added popup-menu method to editor-admin% and snip-admin%
|
|
Added can-do-edit-operation? to editor<%>
|
|
Added "leftbuttonseq", "middlebuttonseq", and "rightbuttonseq" to
|
|
keymap%'s map-function
|
|
Changed the default text keymap initializer to map right button
|
|
releases to popup an edit menu
|
|
Changed the meaning of the on-change method in editor<%>; see the
|
|
manual for details
|
|
Editor reading/writing/cutting/pasting no longer relies on global
|
|
state, so exceptions raised for one editor do not affect other
|
|
editors
|
|
Removed read-done and write-done from snip-class%
|
|
Moved reading-version to snip-class% (from snip-class-list%)
|
|
Added offset argument to dc<%>'s get-text-extent and draw-text
|
|
Made stdio window for Windows/MacOS accept input (for `read', etc.)
|
|
X, Mac: Fixed list-box% to handle arbitrarily many list items
|
|
X: Fixed input of keypad characters and dead characters (such as
|
|
accent marks)
|
|
X: Fixed loading of amimated GIFs (shows only first image)
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 101: October 25, 1999
|
|
|
|
Showing an inactive child window now raises an exception
|
|
Added set-paragrapgh-alignment to text%
|
|
Added 'symbol font family
|
|
Added {set,get}-paste-text-only to editor<%>
|
|
Added {set,get}-line-spacing and {set,get}-styles-sticky to text%
|
|
Added {set,get}-tight-text-fit to editor-snip%
|
|
A text-field%'s text% is in paste-text-only mode by default
|
|
|
|
Framework changes:
|
|
|
|
- gui-utils:get-choice accepts a new (final) parameter that controls the
|
|
result when the user cancels the dialog.
|
|
|
|
- added color-model:rgb-color-distance that accepts six numbers representing
|
|
two colors in rgb form and returns the distance between those colors.
|
|
Larger numbers mean that the human eye will see larger differences.
|
|
|
|
- when the framework collection has a "CVS" subdirectory,
|
|
info frames show the current memory usage in the info panel.
|
|
Clicking the button performs three gcs and updates the memory count.
|
|
|
|
- editor:basic-mixin no longer has a `default-auto-wrap?' method.
|
|
Just set the parameter method `auto-wrap' directly.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 100: August 9, 1999
|
|
|
|
MrEd 100 is the successor to MrEd 53. For MrEd 100, we preserved the
|
|
underlying windowing model, but redesigned the GUI toolbox interface
|
|
to make it simpler and more Scheme-like. Every MrEd 53 program
|
|
requires substantial changes to run in MrEd 100.
|
|
|
|
The revised interface makes MrEd more accessible to new users: class
|
|
and method names are more consistent; useless and redundant methods
|
|
have been eliminated; and methods check their arguments more
|
|
precisely. Key portions of the documentation have been re-written,
|
|
and a new help system called "Help Desk" makes locating information
|
|
much easier than before.
|
|
|
|
The implementation behind the revised interface is reliable. Whereas
|
|
previous versions of MrEd were plagued by bugs and inconsistently
|
|
implemented features, the new interface is consistently implemented
|
|
across platforms and thoroughly tested. Of course, bugs will always
|
|
slip through, but MrEd 100 is far more robust than its predecessors as
|
|
a result of a cleaner implementation and a new testing process.
|
|
|
|
New Application Architecture
|
|
----------------------------
|
|
|
|
MrEd 53 comprised two parts:
|
|
|
|
* a core toolbox (containing names prefixed with `wx:') that was too
|
|
primitive for real programming (notably, no geometry management);
|
|
and
|
|
|
|
* an application framework (containing names prefixed with `mred:')
|
|
that provided crucial functionality (notably, windows with geometry
|
|
management) but also much more, making it too heavyweight for
|
|
simple GUI programs.
|
|
|
|
For MrEd 100, we moved the boundary between the core toolbox and the
|
|
application framework. The name "MrEd" now refers to only the core
|
|
toolbox, but the core toolbox now includes the most useful `mred:'
|
|
classes from the old application framework. While merging the `wx:'
|
|
and `mred:' classes, we eliminated the prefixes.
|
|
|
|
All of the core toolbox classes are built into the MrEd executable.
|
|
The old `mred:' classes that are not part of the core toolbox have
|
|
been moved into a separate framework library. The framework library is
|
|
designed for use in large and polished applications (as opposed to
|
|
small or prototype applications), and particularly in applications
|
|
that require coordinated groups of frames, editor frames with
|
|
searching, or user preference dialogs.
|
|
|
|
Running MrEd and Developing MrEd Applications
|
|
---------------------------------------------
|
|
|
|
MrEd 100 is more consistent with MzScheme than previous releases. The
|
|
default language for MrEd 100 is the same as MzScheme's default
|
|
language. In contrast, MrEd 53's language had different
|
|
case-sensitivity and cond-fallthrough behavior. Command-line handling
|
|
for MrEd 100 is nearly the same as for MzScheme; the only difference
|
|
is that MrEd executes `(graphical-read-eval-print-loop)' on startup
|
|
instead of `(read-eval-print-loop)'. MrEd 100 programmers do not need
|
|
to understand units and collections to implement a simple GUI
|
|
application.
|
|
|
|
MrEd's `graphical-read-eval-print-loop' implements a rather primitive
|
|
REPL, unlike the relatively useful REPL provided by the old MrEd
|
|
toolbox-framework combination. MrEd 100 provides no replacement for
|
|
the old REPL. Instead, DrScheme 100 provides a REPL that matches
|
|
MrEd's language exactly.
|
|
|
|
Porting to MrEd 100
|
|
-------------------
|
|
|
|
The remainder of this document provides an overview of MrEd 100 with
|
|
notes for porting MrEd 53 applications. Section 0 describes a few
|
|
highlights of the MrEd 100 revision. Section 1 shows the new
|
|
interface/class hierarchy for windows and a few other parts of the
|
|
toolbox. Section 2 lists the methods of the new interfaces and
|
|
classes. Section 3 lists the complete, new set of MrEd procedures,
|
|
showing the arguments for selected new procedures. Section 4 provides
|
|
a mapping from the old `wx:const-XXX' constants to the new
|
|
symbols. Finally, Section 5 lists some of the small, relatively
|
|
subtle, and potentially confusing changes in MrEd 100 (similar to
|
|
changes normally listed in the HISTORY notes).
|
|
|
|
Further Details
|
|
---------------
|
|
|
|
See plt/notes/mred/MrEd_100.txt in the PLT distribution for further
|
|
details.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 53: July 25, 1998
|
|
|
|
IMPORTANT: Expect further major changes in the MrEd toolbox with
|
|
version 54. See the note for version 51, below. Here are some
|
|
more expected changes:
|
|
* wx:text%, wx:multi-text%, wx:text-window%, mred:text%, and
|
|
mred:multi-text% will be removed and replaced with
|
|
wx:media%-based tools, i.e., the current mred:media-text% and
|
|
mred:media-multi-text%
|
|
|
|
Engine:
|
|
-------
|
|
Removed wx:concat-files, wx:string-match?, wx:get-temp-file-name
|
|
(see MzLib's new make-temporary-file)
|
|
Procedures and methods that accept wx:const-XXX bit combinations
|
|
now check their arguments more thoroughly; junk values are
|
|
no longer ignored
|
|
The wx:style-delta% initialization and wx:style-delta% set-delta
|
|
method no longer allow a second argument with command flags
|
|
where it used to be ignored; the second argument with
|
|
wx:const-change-underline is now a Boolean rather than 0 or 1
|
|
Removed some constants:
|
|
wx:const-bitmap-type-default
|
|
wx:const-bitmap-discard-colourmap
|
|
wx:const-allow-auto-resize
|
|
wx:const-needed-sb
|
|
wx:const-event-type-char
|
|
wx:const-conter (use wx:const-centre)
|
|
All methods that operate on bitmap files now require that the
|
|
bitmap type is specified
|
|
Removed wx:key-event%'s get-event-type, since there was only
|
|
one possible result
|
|
Added wx:const-print-postscript, wx:const-print-standard, and
|
|
wx:const-print-ask
|
|
Restricted wx:find-path to fewer paths; see MzScheme's new
|
|
find-system-path
|
|
Changed wx:list-box%'s get-selections to just return a list
|
|
of integers
|
|
The following wx:command-event% methods are deprecated and
|
|
have been removed from the documentation:
|
|
get-/set-command-int (use get-/set-selection)
|
|
get-/set-command-string (use get-/set-string)
|
|
get-/set-extra-long (use get-/set-selection-type)
|
|
Cleaned up wx:list-box% multiple-selection (wx:const-multiple
|
|
and wx:const-extended standardized across platforms)
|
|
Cleaned up wx:command-event% field values for list-box events
|
|
Cleaned up canvas scrollbar handling for all platforms;
|
|
the get-scroll-units method was removed
|
|
wx:panel%'s set-button-font and set-label-font work consistenly
|
|
Windows: cleaned up structure of sliders and gauges
|
|
|
|
System:
|
|
-------
|
|
- Fixed minimum mred:slider% size
|
|
|
|
- Cleaned up wx:command-event% field values for list-box double-click
|
|
events
|
|
|
|
- When only one object of class mred:standard-menus-frame% exists,
|
|
its File|Close menu item is disabled, and its close button
|
|
invokes the exit handler
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 52: May 25, 1998
|
|
|
|
IMPORTANT: Expect major changes in the MrEd toolbox with version 53 or
|
|
so. See the note for version 51, below.
|
|
|
|
Engine:
|
|
-------
|
|
on-set-focus and on-kill-focus work reliably; not all windows
|
|
can get the focus, but those that do call the on-set-focus and
|
|
on-kill-focus methods
|
|
pre-on-char and pre-on-event work for all windows on all
|
|
platforms
|
|
wx:begin-busy-cursor no longer takes a cursor argument, but it
|
|
now works correctly on all platforms
|
|
set-cursor in wx:window% now accepts and returns null, indicating
|
|
that the window's cursor is the same as its parents; most
|
|
windows start out with the null cursor
|
|
Added number method to wx:menu% and wx:menu-bar
|
|
The delete methods of wx:menu% and wx:menu-bar return #t if the
|
|
delete suceeded, #f otherwise
|
|
|
|
System:
|
|
-------
|
|
- mred:standard-menus-frame now has a windows menu. To
|
|
eliminate it, ovveride "windows-meun" with #f. It
|
|
is updated by mred:the-frame-group
|
|
|
|
- added documentation for:
|
|
mred:constants:original-output-port,
|
|
mred:constants:original-error-port, and
|
|
mred:constants:original-input-port.
|
|
|
|
- added get-title-prefix to mred:simple-menu-frame% class
|
|
documented get-title, etc. in mred:simple-menu-frame% class
|
|
added get-complete-title to mred:simple-menu-frame% class
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 51: March 25, 1998
|
|
|
|
IMPORTANT: Expect major changes in the MrEd toolbox with version 53 or
|
|
so. Likely changes include:
|
|
* Removing the useless size arguments for initializing mred:frame%,
|
|
mred:button%, etc. instances.
|
|
* Changing the ``nothing'' value (e.g., no parent frame) from null
|
|
to #f.
|
|
* Replacing `bitwise-or'ed wx:const-XXX numerical constants with
|
|
lists of 'wx:const-XXX symbols.
|
|
|
|
Engine:
|
|
-------
|
|
The wx: classes and procedures are no longer ``built-in''
|
|
with respect to units; instead, all wx: items are now
|
|
in the wx@ signed unit, with the signature wx^, so
|
|
the MzScheme and MrEd languages are the same; the
|
|
wx^ signature is in MrEd's initial environment and
|
|
in the "wxs.ss" library of the "system" collection
|
|
Added a --pre flag for evaluating an expression in a
|
|
MzScheme-only namespace at startup. This flag is intended
|
|
for use with image dumps (see the MzScheme manual), which
|
|
are disabled by default
|
|
X Windows: mred now accepts a fixed set of standard X
|
|
Windows command-line flags (it treats them the same as
|
|
always) instead of letting the platform-specific Xt
|
|
library decide; these flags must now be specified
|
|
first if there is no --pre flag, or after --pre's
|
|
argument if there is one, otherwise the flags
|
|
are passed on to MrEd's system (for good or ill)
|
|
X Windows: window manager close-frame request is ignored
|
|
when a modal dialog is in control
|
|
Added security so that wx:snip% methods cannot be overridden
|
|
to crash MrEd
|
|
Fixed wx:canvas% scrolling on all platforms; the style flags
|
|
wx:const-hscroll and wx:const-vscroll must be used at
|
|
canvas-creation to set up for scrolling. Removed the
|
|
enable-scrolling method from wx:canvas%. Renamed the method
|
|
get-scroll-page-units to get-scroll-units. Added methods
|
|
get-scroll-pos, get-scroll-range, and get-scroll-page.
|
|
The wx:canvas% wx:const-backingstore and wx:const-retained
|
|
style flags have been removed.
|
|
Pasteboard printing implemented [finally], and many pasteboard
|
|
bugs are fixed
|
|
Removed wx:key-event%'s position method and added get-x,
|
|
get-y, set-x, and set-y
|
|
Changed default pen in DC to width 0 instead of 1
|
|
Added get-max-view method to wx:media-admin%
|
|
Revised wx:media-buffer%'s cursor system for better
|
|
cooperation with embedded buffers; instead of handling
|
|
the cursor in on-default-event, added a method adjust-cursor
|
|
to buffers and snips, and replaced admin's set-cursor with
|
|
update-cursor
|
|
Added refresh-delayed? predicate to wx:media-buffer%, useful
|
|
for deciding whether a buffer (or one of its enclosing
|
|
buffers) is in an edit-sequence
|
|
Added copy-self-to method to wx:media-buffer% and made copy-self
|
|
overrideable; copy-self creates a new buffer and copy-self-to
|
|
copies properties of the buffer to the newly created buffer;
|
|
now implemented for pasteboards, too
|
|
Added number-of-visible-items to wx:list-box%
|
|
Removed wx:copy-file; MzScheme now has copy-file
|
|
Fixed wx:media-stream-in%'s get-string (it was adding an
|
|
extra nul character)
|
|
Removed error dialogs when wx:media-buffer%'s load-file or
|
|
save-file fails
|
|
Changed the meaning of wx:keymap%'s implies-shift method;
|
|
mapping from ``?'', where ``?'' implies a shift, maps both
|
|
``?'' and ``s:?''; the idea is that only one of these
|
|
mappings is possible, but it may be difficult to know
|
|
which one
|
|
Windows: fixed canvas mouse events; button-down event grabs
|
|
the mouse until the next button-up event
|
|
Windows: fixed initial setting of DC text mode: transparent
|
|
instead of opaque
|
|
X Windows: fixed wx:frame's iconize and iconized? methods,
|
|
ignoring the X idea of not de-iconifying windows that were
|
|
iconified by the user
|
|
X Windows: fixed iconification of parentless dialog boxes;
|
|
they can't be iconified, since there's often no way to
|
|
get them back
|
|
Changed the initial setting of an eventspace created by the
|
|
wx:make-eventspace procedure; now, the initial directory is
|
|
the current directory when wx:make-eventspace is called
|
|
Removed wx:exit
|
|
MacOS: fixed event handling -> better response and performance
|
|
More PostScript drawing fixes
|
|
X Windows: added .mred.resources option `mred.forceFocus'; if
|
|
the value is 1, bringing a frame to the foreground forces the
|
|
focus there (good for Window Managers where the focus does
|
|
not follow the pointer); the default is 0, the old behavior
|
|
MacOS: removed the special -r command-line flag
|
|
Upgraded to gc 13alpha1
|
|
|
|
System:
|
|
-------
|
|
- mred console printer improved:
|
|
- values printer now shows partial results.
|
|
- last newline inside stdout (purple) boxes ommitted
|
|
- more efficient
|
|
|
|
- killing and breaking read (finally) works.
|
|
|
|
- printing dialogs for windows and mac work better now
|
|
|
|
- parenthesis matching is improved. The cache is now used much more
|
|
heavily.
|
|
|
|
- turned off the file name printouts on splash screen
|
|
|
|
evaluate:
|
|
|
|
(wx:write-resource "mred" "splashMessages" 1 (wx:find-path 'setup-file))
|
|
|
|
to turn them back on.
|
|
|
|
- searching keybindings have changed. There are four distinct actions:
|
|
action1: move keyboard focus to the searching window, opening it if necessary,
|
|
or if already there search forward
|
|
action2: move keyboard focus to the searching window, opening it if necessary,
|
|
or if already there search backward.
|
|
action3: search again, in the same direction
|
|
action4: move the focus between the main window, searching window and replacment window
|
|
action5: hide the searching window
|
|
|
|
The actions are mapped to different keys, based on the platform.
|
|
|
|
On unix:
|
|
action1 => control-s, meta-%
|
|
action2 => control-r
|
|
action3 => f3
|
|
action4 => control-i
|
|
action5 => control-g
|
|
|
|
On the macintosh:
|
|
action1 => command-f
|
|
action2 => command-r
|
|
action3 => command-g
|
|
action4 => command-o
|
|
action5 => command-.
|
|
|
|
On windows:
|
|
action1 => control-f
|
|
action2 => control-r
|
|
action3 => f3, control-g
|
|
action4 => control-i
|
|
action5 => escape
|
|
|
|
- set-empty-callback in mred:frame-group% is now set-empty-callbacks
|
|
in mred:frame-group%. See the docs for more details.
|
|
|
|
- initial basis now documented
|
|
|
|
- provide "simple" interface to unitized apps
|
|
|
|
- mred:edit-file used to return (void) when the file was already
|
|
open. Now it returns the (already open) frame.
|
|
|
|
- fixed callback printfs from frames. They now appear in the console.
|
|
|
|
- the paren shader used to fail on very large regions. It does not
|
|
anymore.
|
|
|
|
- fixed mred:radio-box%'s enable method. It now takes two arguments.
|
|
|
|
- better begin/end-edit-sequence support in mred; used by
|
|
info-frame and to improve the speed in the console io. There is a
|
|
new method of mred:media-edit: "run-after-edit-sequence".
|
|
|
|
- mred:original-output-port is now called mred:constants:original-output-port
|
|
mred:original-input-port is now called mred:constants:original-input-port
|
|
|
|
- MrEd's collections are now documented.
|
|
|
|
- The command line flags have changed. Specifically:
|
|
the -nu flag is now called either "--non-unitized" or "-u".
|
|
the splash screen flag has changed.
|
|
|
|
- mred no longer imports a unit of the mred:application signature. Instead,
|
|
the parameter mred:current-app-name is used to get and set the
|
|
applications name. The eval-string and frame are not used.
|
|
|
|
- CACHE-WRITE-COUNT in a console-edit is no longer used.
|
|
|
|
- set-empty-callback is now set-empty-callbacks. It sets two
|
|
callbacks, one for when the group is about to become empty and one
|
|
for when the group is actually empty. See the documentation for
|
|
more info.
|
|
|
|
- do not use the frame method on-close anymore. Use can-close? and
|
|
do-close.
|
|
|
|
- renamed the edit-method "on-close" to "do-close"
|
|
|
|
- the startup procedure has changed again. Now, applications are
|
|
expected to be in a collection. The -a flag has an extra first
|
|
argument, specifing the collection to load the files from, and
|
|
a -A flag has been added. See the startup documentation for more
|
|
information.
|
|
|
|
Also, if you define mred:startup and use the -u (previously -nu) flag, the
|
|
definition of mred:startup must come after the flag on the command
|
|
line. For example:
|
|
mred -e "(define mred:startup (lambda ...))" -nu
|
|
no longer works.
|
|
|
|
Redefinition of mred:initialize and mred:make-invokeable-unit are
|
|
no longer supported. Create a new system instead, using the -s flag.
|
|
|
|
- added "set-display/write-handlers" method of mred:console-edit. This
|
|
work used to happen during a call to the "takeover" method.
|
|
|
|
- mred:get-file and mred:put-file now take a parent window as optional
|
|
last argument.
|
|
|
|
- added kill-protect and kill-allow-protected to mred:console-edit%
|
|
|
|
- the collection paths are not normalized anymore
|
|
|
|
- fixed bugs in the meta-u and meta-l keybindings
|
|
|
|
- if unmarshalling preferences caused an exception at startup, MrEd
|
|
would open up EdJr; now it recovers and uses the default value.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 50: August 26, 1997
|
|
|
|
Engine:
|
|
-------
|
|
Changed wx:dc%'s get-size method to return size of
|
|
destination area; old [documented] functionality
|
|
is available via max-x and max-y
|
|
Made button-click state visible for Xt on b&w displays
|
|
Fixed and normalized PostScript drawing
|
|
Removed wx:dc% methods: device-to-logical-x, etc.
|
|
Windows wx:display-size changed to return the size of the
|
|
screen not including the task bar
|
|
Windows: finally fixed scale for [non-PostScript] printing
|
|
Added wx:[un]register-collecting-blit
|
|
X Windows: Fixed use of colormap by loaded bitmap images
|
|
Added an optional argument to wx:media-buffer's print method
|
|
to supporting fitting to the destination page
|
|
X Windows: Saving as xbm works for bitmaps of any depth
|
|
MzScheme pathname expansion performed by all wx: toolbox
|
|
procedures that take a pathname
|
|
X Windows Xt: removed excessive borders on wx:canvas% objects
|
|
X Windows Xt: removed 2 pixel offset for a single auto-sized
|
|
child in a wx:frame% or wx:dialog-box%
|
|
Windows: Fixed scrollbars on editor buffers; they're always
|
|
shown now, but the editor never gets confused about the size
|
|
Fixed on-size, pre-on-char, and pre-on-event for wx:item%
|
|
subclasses
|
|
Fixed confusing argument type and number error messages
|
|
for overloaded methods of primitive classes
|
|
|
|
System:
|
|
-------
|
|
- fixed a bug in file handlers; if a predicate is supplied, that
|
|
predicate is only called with one argument, the filename.
|
|
|
|
- added mred:get-single-choice, which takes the same arguments as
|
|
wx:get-single-choice. It works the same, unless the dialog is
|
|
resized, in which case the mred: version resizes gracefully.
|
|
|
|
- All of the icons in mred are now loaded lazily (but only once),
|
|
and their names are prefixed with "get-". They are now:
|
|
|
|
- mred:get-anchor-bitmap
|
|
- mred:get-lock-bitmap
|
|
- mred:get-unlock-bitmap
|
|
- mred:get-icon
|
|
- mred:get-autowrap-bitmap
|
|
- mred:get-paren-highlight-bitmap
|
|
- mred:get-reset-console-bitmap
|
|
|
|
- added mred:info-frame%
|
|
|
|
- split out mred:edit into several edits. The choices for pasteboards
|
|
and edits are now:
|
|
|
|
mred:media-edit%
|
|
mred:info-edit%
|
|
mred:searching-edit%
|
|
mred:clever-file-format-edit%
|
|
mred:file-edit%
|
|
mred:backup-autosave-edit%
|
|
mred:edit%
|
|
mred:return-edit%
|
|
mred:pasteboard%
|
|
mred:file-pasteboard%
|
|
mred:backup-autosave-pasteboard%
|
|
|
|
Probably mred:edit is not the right choice for you now.
|
|
|
|
- mred:media-snip% objects now defaultly carry a mred:media-edit% object
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 49: May 31, 1997
|
|
|
|
Engine:
|
|
-------
|
|
Object system changes: see mzscheme/HISTORY for details
|
|
Fixed Mac event-handling and many other Mac things
|
|
Fixed garbage collection of hidden frames under Windows (!)
|
|
Panels, canvases, and controls that are both hidden and
|
|
inaccessible are now garbage-collected
|
|
Disabled controls are reliably grayed-out, including items
|
|
within a disabled panel
|
|
Instances of wx:pen%, wx:brush%, or wx:pen% that are
|
|
selected into a drawing context cannot be mutated
|
|
Immutability of objects obtained via wx:the-XXX-list is
|
|
enforced
|
|
Controls for Windows, Xt are created with the "System" family
|
|
rather than the "Default" family (using resources)
|
|
Single wx:bitmap% object can be used by multiple controls
|
|
and/or pens and/or brushes
|
|
Fixed Motif image-label radio button
|
|
wx:find-directory replaced with wx:find-path
|
|
All wx:dc% instances have a default font for drawing
|
|
wx:const-copy blit never uses the pen/background color;
|
|
new blit mode wx:const-colour uses current pen
|
|
X Windows: removed mapping of Mod3 to Alt (too confusing on
|
|
keyboards where NumLock is Mod3)
|
|
Fixed wx:timer% bug that caused autosaving to not work
|
|
Fixed eventspace bugs
|
|
Fixed .bmp reading when smaller-than-max colormap is provided
|
|
Fixed interlaced .gif reading for Windows and MacOS
|
|
Xt: fixed default height of wx:text% items
|
|
Xt: In a wx:mouse-event% instance, type wx:const-type-XXX-down
|
|
implies get-XXX-down => #t (formerly #f)
|
|
Removed wx:group-box% class; use a panel with a border, instead
|
|
Removed wx:tool-bar% class
|
|
wx:choice% get-columns and set-columns no longer supported
|
|
Added wx:gauge% methods: get-value and get-range
|
|
wx:media-pasteboard% bug fixes and improvements: raise, lower,
|
|
set-before, and set-after methods now work
|
|
wx:list-box% set-client-data and get-client-data work with
|
|
any Scheme data type
|
|
Windows and X Windows: Break key changed back to shift-ctl-c
|
|
instead of ctl-c (to avoid conflicts with Emacs-std keyboard
|
|
mappings)
|
|
|
|
System:
|
|
-------
|
|
- .htx files are no longer supported
|
|
|
|
- the search paths for the mzlib collection have changed. The PLTHOME
|
|
environment variable is now given preference.
|
|
|
|
- mred:editor-frames are shown by default (the documentation was wrong)
|
|
|
|
- mred:pasteboard-frames initialization arguments have changed and
|
|
they are not shown by default
|
|
|
|
- autosaving has been moved to new edit and pasteboard classes,
|
|
mred:backup-autosave-edit and mred:backup-autosave-pasteboard.
|
|
|
|
- mred:add-preference-default now takes a function which determines if
|
|
preferences read from the disk are valid or not (if not, the default
|
|
is used)
|
|
|
|
- the show method of mred:dialog-box% only takes one argument now. Use
|
|
the centre method instead of the second argument
|
|
|
|
- There is only one frame group now, and all frames are registered
|
|
with it. It is called mred:the-frame-group.
|
|
Associated changes:
|
|
- mred:current-frames is gone
|
|
- mred:edit-file only takes at most two arguments now
|
|
- handlers do not take a group as an argument
|
|
- mred:editor-frame% does not take a group as an input argument
|
|
- classes with the method `get-edit' are treated specially in groups
|
|
- mred:frame-group% method open-file does not exist,
|
|
use the procedures mred:edit-file or mred:open-file.
|
|
- mred:frame-group% ask-before-closing last eliminated.
|
|
Use the empty-callback method
|
|
- added locate-file, a method of mred:the-frame-group which
|
|
takes a filename and returns a frame that is editing that if one exists.
|
|
- mred:edit-file now consults mred:the-frame-group to see if
|
|
the file is already open, based on the third argument (or the parameter
|
|
mred:edit-file-consult-group)
|
|
- mred:editor-frame
|
|
- medthod get-frame-group gone from mred:editor-frame%
|
|
- method open-file's final optional arg eliminated
|
|
- do-autosave method deleted
|
|
- register-autosave call moved to mred:std-buffer
|
|
(ie mred:edit and mred:pasteboard)
|
|
|
|
- The perform-updates and set-perform-update ivars in mred:panel%,
|
|
mred:frame%, and mred:dialog-box% have been replaced with the
|
|
delay-updates method in mred:frame% and mred:dialog-box%.
|
|
|
|
Added on-container-resize method to mred:panel%, etc. to handle
|
|
container resize events, rather than inferring a container resize via
|
|
on-size (which could confuse real container resizes with external
|
|
events).
|
|
|
|
Changed force-redraw to ignore refresh requests when the
|
|
redraw-requesting window is not shown. Redraw requests are now
|
|
propagated to the top-level frame or dialog via child-redraw-request.
|
|
- if your application is unititized, then you need to change the
|
|
startup procedure. See the application startup section in the
|
|
toolbox manual.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 48: Skipped to avoid confusion with Scheme48
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 47: January 11, 1997
|
|
|
|
Engine:
|
|
-------
|
|
WARNING: multiple inhertance is going away in 48
|
|
Added overwrite-styles? arg to wx:media-buffer%'s read-from-file,
|
|
and added get-/set-load-overwrites-styles methods
|
|
Modified wx:media-buffer%'s set-caret-owner to provide more
|
|
levels of focus control
|
|
Controls with bitmap labels work correctly, fixed crashing bugs,
|
|
some Mac controls do not display yet
|
|
wx:bitmap%'s load-file only allowed when the bitmap is not selected
|
|
into a wx:memory-dc% object or used by a control
|
|
|
|
System:
|
|
-------
|
|
- find-string-embedded of mred:edit% is just like find-string except it
|
|
searches in embedded buffers as well.
|
|
- mred:frame-name is gone, use app-name in the application unit instead,
|
|
which is documented under the `Starting Up' section of the toolbox
|
|
manual.
|
|
- the signature mred:application^ now contains the variable app-name.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 46: December 5, 1996
|
|
|
|
Engine:
|
|
-------
|
|
Fixed misc. Motif control-sizing problems
|
|
Mac & Xt: "&" stripped from control labels correctly
|
|
wx:yield takes an optional semaphore argument
|
|
|
|
System:
|
|
-------
|
|
- pretty-print-out is gone, use display-result instead, if you want to
|
|
display results
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 45: November 12, 1996
|
|
|
|
Engine:
|
|
-------
|
|
IMPORTANT: let-values is now analogous to let; the old
|
|
let-values is now let*-values
|
|
Added thread-savy parameterization system; namespace system changed
|
|
Added eventspaces
|
|
wx:server%, wx:client%, and wx:connection% are no longer supported
|
|
(Better TCP support is now built into MzScheme)
|
|
wx:the-snip-class-list was replaced by (wx:get-the-snip-class-list)
|
|
wx:the-buffer-data-class-list was replaced by (wx:get-the-buffer-data-class-list)
|
|
Added transparent text backing for editor text
|
|
Added wx:dc% try-colour method
|
|
wx:window% capture-mouse, release-mouse, and make-modal no longer supported
|
|
Modal dialogs can be used instead of make-modal (modal is
|
|
specified through the constructor). There is currently no
|
|
replacement for capture-mouse and release-mouse, but a replacement is
|
|
likely to be in 46.
|
|
Xt and Mac: "&" stripped from control labels (matches Windows/Motif), sortof
|
|
|
|
System:
|
|
-------
|
|
- frame groups no longer set the frame title prefix
|
|
- there is a new edit%, mred:return-edit%. It takes an extra arg at
|
|
initialization time, which should be a function that will be called
|
|
when the user types return in the edit.
|
|
- takeover-output is now takeover and release-output is gone.
|
|
In the next release this should become obsolete
|
|
- there are now two new methods of simple-menu-frame%'s,
|
|
get-edit and get-canvas. These return the current "main" edit and canvas
|
|
in the frame. They should be used for saving, reverting, etc. If your
|
|
frame can have more than one "main" edit then override get-edit and
|
|
get-canvas and have them return the current main canvas. Note that
|
|
this is different from active-canvas and active-edit. Those two functions
|
|
may return *any* visible edit in the frame, eg one of the searching edits
|
|
in the bottom of the frame, that appear while searching.
|
|
active-edit and active-canvas should be used for things like pasting
|
|
and copying, which should apply to all edits, not just "important" or "main"
|
|
ones.
|
|
- mred:simple-frame-canvas% and mred:editor-canvas% are now obsolete.
|
|
Instead there are now three important canvas classes in the system:
|
|
mred:wrapping-canvas% :
|
|
handles autowrapping, can create edits automatically, uses
|
|
style-flags ivar and style initialization for default styles to
|
|
super-init, and implements edit-modifited and edit-renamed
|
|
mred:one-line-canvas%
|
|
is just the right height to display one line of text.
|
|
inherits from mred:wrapping-canvas%
|
|
mred:frame-title-canvas%
|
|
updates the title of the frame when it receives focus
|
|
events. inherits from mred:wrapping-canvas%
|
|
- all of the "connection maintenence" ie edits that know which canvses
|
|
they are in, frames that know which canvas is the most recently
|
|
active canvas have been moved into into separate classes that only
|
|
maintain those connections, mred:connections-media-edit%,
|
|
mred:connections-media-canvas%, mred:connections-frame%,
|
|
mred:connections-dialog-box%, and mred:connections-panel%
|
|
- all instance variables class% (e.g. edit% and canvas% on frames)
|
|
have been changed to get-class%, to support inheiritance.
|
|
- added extra optional arg to mred:local-busy-cursor and
|
|
mred:show-busy-cursor that specifies the timeout
|
|
- frame title prefixes are now handled by the frame, and
|
|
the set-frame-prefix and set-frame-title methods correctly
|
|
update the graphical frame with it's new title.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 44: September 9, 1996
|
|
|
|
Engine:
|
|
-------
|
|
wx:play-sound added
|
|
Saving bitmaps fixed on all platforms; editor can now save
|
|
"inlined" images instead of only references to images
|
|
Hyper-text browser handles HTML files (w/o networking)
|
|
Fixed Mac control drawing and hiding
|
|
Fixed Xt menus (finally!)
|
|
Fixed menu item auto-check for popup menus
|
|
Fixed Motif canvas click event reporting (spurious drags)
|
|
See also mzscheme/HISTORY, wxme/README, and system/HISTORY
|
|
Upgraded to gc 11alpha3
|
|
|
|
System:
|
|
-------
|
|
- .html files (with file: links) are supported
|
|
- system now provides and uses a better dialog buildling classes.
|
|
See toolbox manual for more info
|
|
- changed do-eval and do-save-and-eval-or-read-avail
|
|
to accept a range in the edit rather than a string
|
|
- added read-snips/chars-from-buffer, a function that takes an edit and
|
|
produces a thunk. That thunk returns either a snip or a character, for
|
|
each character and non-text snip in the edit.
|
|
- added a check so that edits will now save themselves in mred's format
|
|
if there are non-text snips in the edit.
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 43: Re-released August 12, 1996
|
|
Under GNU LGPL license
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 43: August 9, 1996
|
|
|
|
Engine:
|
|
-------
|
|
Major system overhaul (Robby Findler); see system/HISTORY
|
|
Windows stability greatly advanced
|
|
Windows and MacOS versions much more "Windows-like" and "Mac-like"
|
|
with standard menu shortcuts and better icons
|
|
MacOS and Windows use native print facilities
|
|
GIF images supported under Windows
|
|
wx:window set-client-size removed
|
|
wx:panel%'s get-cursor renamed to get-item-cursor; added set-item-cursor
|
|
Fixed cut-n-paste newlines under MacOS and Windows
|
|
Xt: panel with one item no longer auto-sizes the child
|
|
See also mzscheme/HISTORY
|
|
|
|
System:
|
|
-------
|
|
- replaced search dialogue
|
|
- new application startup procedure
|
|
- mred:frame% changed to mred:editor-frame%
|
|
- mred:canvas% changed to mred:editor-canvas%
|
|
- mred:console-frame renamed to mred:console
|
|
- mred:console-edit and mred:console-canvas gone, use
|
|
(ivar mred:console edit) and (ivar mred:console canavs)
|
|
- expanded keybindings -- most movement keys now
|
|
have a shifted form that selects text
|
|
- added mred:standard-menus-frame% which gets the right keybindings for
|
|
the different platforms
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Version 42: June 8, 1996
|
|
Documentation translated to Scheme notation, corrected
|
|
Windows update bug fixed for embedded buffers
|
|
MacOS memory use greatly improved
|
|
Fixed annoying non-standard Windows beep
|
|
Non-matching cond or case expression raises and error
|
|
mred:platform and mred:window-system changed to wx:...
|
|
standard system uses functors (see MzScheme)
|
|
wx:canvas%::int-draw-line and wx:int-point% removed
|
|
wx:list%, wx:hash-table%, wx:string-list%, wx:path-list removed
|
|
wx:media-stream-in%::get removed for strings; use get-string
|
|
Redundant wx: functions removed:
|
|
wx:dir-exists? (use directory-exists?)
|
|
wx:file-exists? (use file-exists?)
|
|
wx:file-name-from-path (use file-name-from-path or split-path)
|
|
wx:path-only (use path-only or split-path)
|
|
wx:is-absolute-path? (use reletaive-path?)
|
|
wx:expand-path (use expand-path)
|
|
wx:get-working-directory (use current-directory)
|
|
wx:set-working-directory (use current-directory)
|
|
wx:mkdir (use make-directory)
|
|
wx:remove-file (use delete-file)
|
|
wx:rename-file (use rename-file)
|
|
wx:get-user-home and wx:get-home-dir (use expand-path with "~")
|
|
wx:execute and wx:shell (use system or process)
|
|
wx:find-first-file and wx:find-next-file (use get-directory-list)
|
|
wx:sleep (use sleep)
|
|
wx:sub-type? (use subclass?)
|
|
wx:to-lower (use char-upcase)
|
|
wx:to-upper (use char-downcase)
|
|
wx:is-wild? (use reg exps)
|
|
wx:match-wild? (use reg exps)
|
|
|
|
Version 0.41: April 15, 1996
|
|
Important language changes; see mzscheme/HISTORY
|
|
Fixed bug in wxCanvas drawing methods
|
|
Fixed wxCanvasDC and wxMemoryDC bugs in Xt version
|
|
Pasteboards fixed
|
|
AIX: two consecutive SIGDANGERs => exit(-1)
|
|
wxGetMultipleChoice supported
|
|
|
|
Version 0.40: March 24, 1996
|
|
Possible improvements to memory system
|
|
Some redundant event methods removed
|
|
Finally fixed Windows NT/95 Scheme threads
|
|
Stdout/stderr messages to a window instead of file for Windows/Mac+
|
|
Fixed misc. Xt problems, including show-n-hide on frame
|
|
|
|
Version 0.39: March 6, 1996
|
|
Fixed safety from Scheme on invalidated C++ objects (stack objs, too)
|
|
Fixed many bugs in Xt version
|
|
Upgraded to gc version 4.10
|
|
Reduced memory usage of buffer objects
|
|
|
|
Version 0.38: February 22, 1996
|
|
Xt port released
|
|
Part of standard system moved to DrScheme
|
|
See also mzscheme HISTORY and wxmedia README
|
|
|
|
Version 0.37: Not released
|
|
|
|
Version 0.36: January 18, 1996
|
|
Fixed bug in MzScheme's bignum multiplication
|
|
|
|
Version 0.35: January 17, 1996
|
|
X selection protocol supported. To get the old clipboard-style
|
|
mechanism, add this to your .mredrc:
|
|
(wx:media-set-x-selection-mode #f)
|
|
See also wxMediaEdit::SetPosition() in the wxMedia manual.
|
|
|
|
Version 0.34: December 30, 1995
|
|
Minor improvements to MzScheme and the standard system
|
|
|
|
Version 0.33: December 21, 1995
|
|
MzScheme language changes; see mzscheme/HISTORY
|
|
Old standard system no longer compatible
|
|
Project system improved
|
|
Many bugs fixed in the new standard system
|
|
|
|
Version 0.32: December 4, 1995
|
|
New standard system:
|
|
* The console I/O is completely different. It works more
|
|
like an Emacs shell. Use M-p and M-n to access previously
|
|
entered expressions. (read) will now read from the console.
|
|
* All mred:std-<x> variables have been eliminated. For each
|
|
mred:<x>%, there is now a procedure mred:make-<x>% that takes a
|
|
superclass and returns a new class.
|
|
* The frame and buffer hierarchies have changed a little.
|
|
* From a mred:edit% object, you can get to its canvas or frame.
|
|
* The menubar/menu system is completely revised. You don't have to
|
|
deal with menu ids much anymore. Menus and menu items can now be
|
|
dynamically added and removed.
|
|
* Keymap chaining works differently.
|
|
* The new Scheme project system is roughly in place. This will let you
|
|
develop Scheme programs by organizing Scheme files within a project.
|
|
Projects help manage loading program files into the
|
|
evaluator and uses Shriram's Zodiac/Aries packages to
|
|
provide debugging facilities. This will be improved in the near
|
|
future.
|
|
The old standard system is available in the "oldsys" directory.
|
|
Pretty printer handles loops and graphs
|
|
Very limited support for wxYield under XView - will be extended
|
|
Fixed some wxMedia bugs (see wxme/README)
|
|
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
|
|
|
Version 0.31: November 14, 1995
|
|
Fixed some wxMedia bugs (see wxme/README)
|
|
Fixed some MzScheme bugs (see mzscheme/HISTORY)
|
|
Parameterization for Macintosh
|
|
|
|
Verion 0.30: October 25, 1995
|
|
Added call-with-values and regexp to MzScheme
|
|
Unix stack-checking setup code fixed in MzScheme
|
|
wxMediaPasteboard implemented more
|
|
Scheme-C++ object link changed; use ptr in all C++ objects
|
|
Added tutorial section to "User Manual"
|
|
|
|
Version 0.29: October 18, 1995
|
|
Editor can save text preserving automatic CR
|
|
Bug fix in automatic line-wrapping
|
|
New font system can access arbitrary fonts
|
|
Multiple displays in Motif: wx:set-display and wx:get-display-name
|
|
MzScheme fix for forms such as (let ([x (let ...)]) ...)
|
|
|
|
Version 0.28: October 3, 1995
|
|
MzScheme bug fix: stack-checking on Unix
|
|
wxMedia fix: Insert(unsigned char, ...) instead of Insert(char, ...)
|
|
and proper use of `unsigned' in word-breaking array access
|
|
|
|
Version 0.27: September 29, 1995
|
|
Major MzScheme upgrade, including multiple inheritance
|
|
(See MzScheme HISTORY for details)
|
|
Win32: Allow deeper recursion by copying the stack
|
|
Win32: Allow breaking with Shift-Ctl-C
|
|
New font configuration system
|
|
|
|
Version 0.26: September 8, 1995
|
|
Very minor changes
|
|
Bug fix to MzScheme for Win32s
|
|
|
|
Version 0.25: September 7, 1995
|
|
Upgraded to wxWindows 1.63
|
|
Minor bug fixes
|
|
|
|
Version 0.24: September 1, 1995
|
|
Minor bug fixes
|
|
|
|
Version 0.23: August 23, 1995
|
|
Minor bug fixes
|
|
Editor can display images (types depend on wxWindow compile flags)
|
|
MzScheme correction: expand & expand-once
|
|
|
|
Version 0.22: August 17, 1995
|
|
Mostly MzScheme improvements
|
|
File-format bug fixed related to portability; To make files created
|
|
earlier portable, open and re-save them.
|
|
|
|
Version 0.21: August 8, 1995
|
|
Bug fixes
|
|
triggers, hash tables, and case-lambda added to MzScheme
|
|
MzScheme "sleeps" properly
|
|
Connected MrEd to wxWindow's layout constraint system
|
|
|
|
Version 0.20: July 26, 1995
|
|
MzScheme Bug fixes
|
|
|
|
Version 0.19: July 25, 1995
|
|
All "!"s removed from method names!!!!!
|
|
Full continuations and bignums added to MzScheme
|
|
Bug Fixes
|
|
|
|
Version 0.18: July 20, 1995
|
|
Win32s kinda supported
|
|
Bug fixes
|
|
Added (compile ...) to MzScheme
|
|
Added internal processes & threads to MzScheme
|
|
wxSnipData -> wxBufferData
|
|
Old process and system changed to process* and system*
|
|
|
|
Version 0.17: July 11, 1995
|
|
Bug fixes, especially Motif and memory bugs
|
|
Rewrote editor line-maintenance
|
|
Faster caret updating
|
|
Upgraded garbage collector
|
|
File format changed to accommodate nested buffers with
|
|
separate style lists
|
|
Standard system standardized
|
|
Code changes for compiling on MSWindows (almost works...)
|
|
Scheme mode
|
|
|
|
Version 0.16: June 16, 1995
|
|
Fixed define-struct bug
|
|
|
|
Version 0.15: June 15, 1995
|
|
Bug fixes, especially XView
|
|
make-input-port takes only 3 args; "unget" param dropped
|
|
on-local-char & on-local-event renamed to on-default-char
|
|
and on-default-event
|
|
name changes: to have "!" or not to have "!". See doc/names.diff
|
|
for a list of changed names
|
|
fonts configuarble through .Xdefaults; see MrEd.ad
|
|
|
|
Version 0.14: June 9, 1995
|
|
Bug fixes, including wxWindows widget table clash
|
|
Scheme mode works
|
|
error-handler changed to parameterizing function
|
|
|
|
Version 0.13: June 5, 1995
|
|
MzScheme replaced libscheme
|
|
ctl-c breaks Scheme evaluation in MrEd
|
|
libscheme/ changed to mzscheme/ - change your make.env!
|
|
|
|
Version 0.12: June 1, 1995
|
|
Bug fixes
|
|
Revised object system: requires (inherit ...) declarations
|
|
(pretty-print ...) installed
|
|
|
|
Version 0.11: May 19, 1995
|
|
Bug Fixes
|
|
|
|
Version 0.10: May 19, 1995
|
|
Bug fixes
|
|
(match ...) installed
|
|
|
|
Version 0.9: May 18, 1995
|
|
wxMediaPasteboard
|
|
|
|
Version 0.8: May 11, 1995
|
|
Bug fixes
|
|
|
|
Version 0.7: May 10, 1995
|
|
mred:default-<x> changed to mred:<x> in system
|
|
README in demo directory
|
|
Lots of bug fixes
|