gui/gui-lib/mred/MrEd_100_Framework.txt
2014-12-02 02:33:07 -05:00

298 lines
10 KiB
Plaintext

MrEd 100 Framework revision
The framework is a streamlined version of the `mred:' names
from MrEd version 53.
Several of the old classes and proecedures are not longer in the
framework. Some have been eliminated and some have been moved out
into a separate application.
Subtle Changes:
- get-edit -> get-editor
- get-panel -> get-area-container
- many other mred-sympathetic names changes
- removing exit callbacks is accomplished by calling the procedure that
exit:insert-callback returns
- menus
- the built in keymap functions no longer call:
add-editor-keymap-functions
add-text-keymap-functions and
add-pasteboard-keymap-functions
automatically. Instead, the pasteboards and editor classes add them in.
- the editor `auto-save?' ivar is now called `autosave?'
- overriding `windows-menu' with #f no longer eliminates the windows
menu. Now, it is an error.
- mred:original-output-port, mred:original-error-port, and
mred:original-input-port are gone
- mred:the-frame-groups method new-frame is gone. Use handler:edit-file
instead.
The eliminated classes are:
:: classes that used to improve the wx: toolbox
:: interface and are no longer needed
mred:button%
mred:check-box%
mred:choice%
mred:dialog-box%
mred:frame%
mred:gauge%
mred:horizontal-panel%
mred:list-box%
mred:message%
mred:multi-text%
mred:panel%
mred:radio-box%
mred:single-panel%
mred:slider%
mred:text%
mred:text-window%
mred:vertical-panel%
mred:media-canvas%
mred:connections-frame%
mred:connections-dialog-box%
mred:connections-media-edit%
mred:connections-media-pasteboard%
mred:connections-media-canvas%
mred:connections-panel%
mred:testable-button%
mred:testable-check-box%
mred:testable-choice%
mred:testable-dialog-box%
mred:testable-gauge%
mred:testable-list-box%
mred:testable-message%
mred:testable-multi-text%
mred:testable-panel%
mred:testable-radio-box%
mred:testable-slider%
mred:testable-text%
mred:testable-text-window%
mred:menu%
mred:menu-bar%
mred:menu-frame%
mred:media-text-edit% (use a text-field%)
mred:media-text-canvas% (use a text-field%)
mred:media-multi-text% (use a text-field% with 'multiple style)
mred:canvas-message% (use a message%)
mred:edit% (only the name alias is gone; mred:file-edit lives on)
:: modes have just become mixins
mred:basic-mode%
mred:mode%
mred:scheme-interaction-mode%
mred:scheme-mode%
:: just use drscheme instead of these
mred:console-edit%
mred:console-frame%
mred:editor-frame%
mred:transparent-io-edit%
mred:autoload
The moved functions and classes are:
:: web browswer
mred:hyper-basic-frame%
mred:hyper-canvas%
mred:hyper-edit%
mred:hyper-make-frame%
mred:hyper-view-frame%
:: graph
mred:graph-pasteboard%
mred:node-snip%
The remaining existent classes:
frame:empty% = (frame:make-empty% frame%)
frame:standard-menus% = (frame:make-standard-menus% frame:empty%)
frame:simple-menu% = (frame:make-simple-menu% frame:standard-menus%)
frame:searchable% = (frame:make-searchable% frame:simple-menu%)
frame:info% = (frame:make-info% frame:searchable%)
frame:info-file% = (frame:make-file% frame:info%)
frame:pasteboard% = (frame:make-pasteboard% frame:simple-menu%)
frame:pasteboard-info% = (frame:make-info% frame:pasteboard%)
frame:pasteboard-info-file% = (frame:make-file% frame:pasteboard-info%)
text:basic% =
(text:make-basic% (editor:make-basic% text%))
text:return% = (text:make-return% text:basic%)
text:searching% = (text:make-searching% text:basic%)
text:info% =
(text:make-info% (editor:make-info% text:searching%))
text:clever-file-format% =
(text:make-clever-file-format% text:info%)
text:file% =
(editor:make-file% text:clever-file-format%)
text:backup-autosave% =
(editor:make-backup-autosave% text:file%)
text:scheme% =
(text:make-scheme% text:backup-autosave%)
pasteboard:basic% = (editor:make-basic% pasteboard%)
pasteboard:info% = (editor:make-info% pasteboard:basic%)
pasteboard:file% = (editor:make-file% pasteboard:info%)
pasteboard:backup-autosave% = (editor:make-backup-autosave% pasteboard:info%)
editor-canvas:frame-title% =
(editor-canvas:make-frame-title% editor-canvas%)
editor-canvas:wide-snip% =
(editor-canvas:make-wide-snip% editor-canvas:frame-title%)
panel:vertical-edit% = (panel:make-edit% vertical-panel%)
panel:horizontal-edit% = (panel:make-edit% horizontal-panel%)
snip:basic-style% = (snip:make-basic-style% snip%)
snip:basic-style-media% = (snip:make-basic-style% media-snip%)
frame-group:%
match-cache:%
Old to new name mapping:
mred:scheme-paren-pairs -> scheme-paren:paren-pairs
mred:scheme-quote-pairs -> scheme-paren:quote-pairs
mred:scheme-comments -> scheme-paren:comments
mred:scheme-backward-match -> scheme-paren:forward-match
mred:scheme-forward-match-> scheme-paren:backward-match
mred:scheme-balanced? -> scheme-paren:balanced?
mred:scheme-backward-containing-sexp -> scheme-paren:backward-containing-sexp
mred:setup-global-keymap -> keymap:setup-global
mred:setup-global-search -> keymap:setup-search
mred:setup-global-file -> keymap:setup-file
mred:global-keymap -> keymap:global
mred:global-search-keymap -> keymap:serach
mred:global-file-keymap -> keyamp:file
mred:match-cache% -> match-cache:%
mred:handler? -> handler:handler?
mred:handler-name -> handler:handler-name
mred:handler-extension -> handler:handler-extension
mred:handler-handler -> handler:handler-handler
mred:format-handlers -> handler:format-handlers
mred:insert-format-handler -> handler:insert-format-handler
mred:find-format-handler -> handler:find-format-handler
mred:find-named-format-handler -> handler:find-named-format-handler
mred:edit-file -> handler:edit-file
mred:open-url -> handler:open-url
mred:open-file -> handler:open-file
mred:register-autosave -> autosave:register
mred:make-exn -> exn:make-exn
mred:exn? -> exn:exn?
mred:make-exn:unkown-preference -> exn:make-unkown-preference
mred:exn:unkown-preference? -> exn:unkown-preference?
mred:exn:make-during-preferences -> exn:make-during-preferences
mred:exn:during-preferences? -> exn:during-preferences?
mred:exn:make-url -> exn:make-url
mred:exn:url? -> exn:url?
mred:insert-exit-callback -> exit:insert-callback
mred:remove-exit-callback -> exit:remove-callback
mred:run-exit-callbacks -> exit:run-callbacks
mred:exit -> exit:exit
mred:add-version-spec -> version:add-spec
mred:version -> version:version
mred:empty-frame% -> frame:basic%
mred:standard-menus-frame% -> frame:standard-menus%
mred:simple-menu-frame% -> frame:simple-menu%
mred:searchable-frame% -> frame:searchable%
mred:info-frame% -> frame:text-info%
mred:info-file-frame% -> frame:text-info-file%
mred:pasteboard-frame% -> frame:pasteboard%
mred:pasteboard-info-frame% -> frame:pasteboard-info%
mred:pasteboard-info-file-frame% -> frame:pasteboard-info-file%
mred:media-edit% -> text:basic%
mred:return-edit% -> text:return%
mred:searching-edit% -> text:searching%
mred:info-edit% -> text:info%
mred:clever-file-format-edit% -> text:clever-file-format%
mred:file-edit% -> text:file%
mred:backup-autosave-edit% -> text:backup-autosave%
mred:scheme-mode-edit% -> text:scheme%
(The new class is now implemented differently but has the same
functionality as the old.)
mred:media-pasteboard% -> pasteboard:basic%
mred:info-pasteboard% -> pasteboard:info%
mred:file-pasteboard% -> pasteboard:file%
mred:backup-autosave-pasteboard% -> pasteboard:backup-autosave%
mred:wrapping-canvas% -> editor-canvas:wrapping%
mred:frame-title-canvas% -> editor-canvas:frame-title%
mred:one-line-canvas% -> editor-canvas:one-line%
mred:wide-snip-canvas% -> editor-canvas:wide-snip%
mred:vertical-edit-panel% -> panel:vertical-edit%
mred:horizontal-edit-panel% -> panel:horizontal-edit%
mred:snip% -> snip:basic-style%
mred:media-snip% -> snip:basic-style-media%
mred:frame-group -> frame-group:%
mred:match-cache% -> match-cache:%
Mixins:
NOTE: some used but non-existant interfaces from mred engine:
frame<%>, panel<%>, editor-canvas<%>, and text<%>.
For now, these will use some "class derived from" predicate,
with the corresponding engine classes. Perhaps later those
interfaces will be added.
frame:make-empty% : frame% -> frame:basic<%>
frame:make-standard-menus% : frame% -> frame:standard-menus<%>
frame:make-edit% : frame:empty-standard-menus<%> -> frame:edit<%>
frame:make-searchable% : frame:edit<%> -> frame:searchable<%>
frame:make-pasteboard% : frame:edit<%> -> frame:pasteboard<%>
frame:make-info% : frame:empty<%> -> frame:info<%>
frame:make-edit-info% : (interface (frame:info<%> frame:edit<%>)) -> frame:edit-info<%>
frame:make-file% : frame:edit<%> -> frame:info-file<%>
; editor:make-basic% adds keymap support, error checking on load-file
; run-after-edit-sequence, locked?, get-edit-snip,
; get-pasteboard-snip, sets up parents for get-file and put-file
editor:make-basic% : editor<%> -> editor:basic<%>
editor:make-info% : editor:basic<%> -> editor:info<%>
editor:make-file% : editor:basic<%> -> editor:basic<%>
editor:make-backup-autosave% : editor:basic<%> -> editor:autosave<%>
; text:make-basic% adds ranges, wrapping, move/copy-to-edit
text:make-basic% : (interface (editor:basic<%> text<%>)) -> text:basic<%>
text:make-return% : editor:basic<%> -> editor:basic<%>
text:make-searching% : (interface (editor:basic<%> text<%>)) -> text:searching<%>
text:make-info% : (interface (editor:basic<%> text<%>)) -> (interface (editor:basic<%> text<%>))
text:make-clever-file-format% : text<%> -> clever-file-format<%>
text:make-scheme% : (interface (editor:basic<%> text<%>)) -> editor:scheme<%>
editor-canvas:make-frame-title% : editor-canvas<%> -> editor-canvas<%>
editor-canvas:make-wide-snip% : editor-canvas<%> -> editor-canvas:wide-snip<%>
panel:make-edit% : panel<%> -> panel:edit<%>
snip:make-basic-style% : snip<%> -> snip<%>
scheme:make-text% : text:basic<%> -> scheme:text<%>