diff --git a/collects/framework/framework.ss b/collects/framework/framework.ss index a5d559e2..a2bbde30 100644 --- a/collects/framework/framework.ss +++ b/collects/framework/framework.ss @@ -1,69 +1,3 @@ #lang scheme/base - -(require mzlib/unit - (lib "mred-unit.ss" "mred") - (lib "mred-sig.ss" "mred") - mred - scheme/class - - "private/framework-exports.ss" - "preferences.ss" - "test.ss" - "gui-utils.ss" - "decorated-editor-snip.ss" - - "framework-unit.ss" - "private/sig.ss" - - scheme/contract - - (for-syntax scheme/base)) - -(provide-signature-elements - (prefix application: framework:application-class^) - (prefix version: framework:version-class^) - (prefix color-model: framework:color-model-class^) - (prefix mode: framework:mode-class^) - (prefix exit: framework:exit-class^) - (prefix menu: framework:menu-class^) - (prefix preferences: framework:preferences-class^) - (prefix number-snip: framework:number-snip-class^) - (prefix autosave: framework:autosave-class^) - (prefix path-utils: framework:path-utils-class^) - (prefix icon: framework:icon-class^) - (prefix keymap: framework:keymap-class^) - (prefix editor: framework:editor-class^) - (prefix pasteboard: framework:pasteboard-class^) - (prefix text: framework:text-class^) - (prefix color: framework:color-class^) - (prefix color-prefs: framework:color-prefs-class^) - (prefix comment-box: framework:comment-box-class^) - (prefix finder: framework:finder-class^) - (prefix group: framework:group-class^) - (prefix canvas: framework:canvas-class^) - (prefix panel: framework:panel-class^) - (prefix frame: framework:frame-class^) - (prefix handler: framework:handler-class^) - (prefix scheme: framework:scheme-class^) - (prefix main: framework:main-class^)) - -(provide (all-from-out "test.ss") - (all-from-out "gui-utils.ss") - (all-from-out "preferences.ss") - (all-from-out "decorated-editor-snip.ss")) - -(define-syntax (provide/contract/docs stx) - (syntax-case stx () - [(me (name contract docs ...) ...) - (let ([args (syntax->datum #'((name contract) ...))]) - #`(provide/contract #,@(datum->syntax #'me args)))])) - -(define-compound-unit/infer framework+mred@ - (import) - (export framework^) - (link standard-mred@ framework@)) - - -(define-values/invoke-unit/infer framework+mred@) - -(framework-exports provide/contract/docs) +(require "main.ss") +(provide (all-from-out "main.ss")) diff --git a/collects/framework/main.ss b/collects/framework/main.ss index 4ead79c3..68fe5fc8 100644 --- a/collects/framework/main.ss +++ b/collects/framework/main.ss @@ -1,3 +1,14 @@ +#reader scribble/reader #lang scheme/base -(require "framework.ss") -(provide (all-from-out "framework.ss")) + +(require "main2.ss" + "preferences.ss" + "test.ss" + "gui-utils.ss" + "decorated-editor-snip.ss") + +(provide (all-from-out "test.ss") + (all-from-out "main2.ss") + (all-from-out "gui-utils.ss") + (all-from-out "preferences.ss") + (all-from-out "decorated-editor-snip.ss")) diff --git a/collects/framework/sig.ss b/collects/framework/sig.ss new file mode 100644 index 00000000..4d784ac6 --- /dev/null +++ b/collects/framework/sig.ss @@ -0,0 +1,4 @@ +#lang scheme/base +(require "private/sig.ss") +(provide framework^) + diff --git a/collects/framework/unit.ss b/collects/framework/unit.ss new file mode 100644 index 00000000..a8dc6734 --- /dev/null +++ b/collects/framework/unit.ss @@ -0,0 +1,97 @@ +#lang scheme/base + +(require mzlib/unit + (lib "mred-sig.ss" "mred")) + +(require "private/sig.ss" + "private/number-snip.ss" + "private/comment-box.ss" + "private/application.ss" + "private/version.ss" + "private/color-model.ss" + "private/exit.ss" + "private/menu.ss" + "private/preferences.ss" + "private/autosave.ss" + "private/color.ss" + "private/color-prefs.ss" + "private/handler.ss" + "private/keymap.ss" + "private/path-utils.ss" + "private/icon.ss" + "private/editor.ss" + "private/pasteboard.ss" + "private/text.ss" + "private/finder.ss" + "private/group.ss" + "private/canvas.ss" + "private/panel.ss" + "private/frame.ss" + "private/scheme.ss" + "private/main.ss" + "private/mode.ss") + +(provide framework-separate@ framework@) + +(define-compound-unit/infer framework-separate@ + (import mred^) + (export framework:application^ + framework:version^ + framework:color-model^ + framework:mode^ + framework:exit^ + framework:menu^ + framework:preferences^ + framework:number-snip^ + framework:autosave^ + framework:path-utils^ + framework:icon^ + framework:keymap^ + framework:editor^ + framework:pasteboard^ + framework:text^ + framework:color^ + framework:color-prefs^ + framework:comment-box^ + framework:finder^ + framework:group^ + framework:canvas^ + framework:panel^ + framework:frame^ + framework:handler^ + framework:scheme^ + framework:main^) + (link + application@ version@ color-model@ mode@ exit@ menu@ + preferences@ number-snip@ autosave@ path-utils@ icon@ keymap@ + editor@ pasteboard@ text@ color@ color-prefs@ comment-box@ + finder@ group@ canvas@ panel@ frame@ handler@ scheme@ main@)) + +(define-unit/new-import-export framework@ (import mred^) (export framework^) + (((prefix application: framework:application^) + (prefix version: framework:version^) + (prefix color-model: framework:color-model^) + (prefix mode: framework:mode^) + (prefix exit: framework:exit^) + (prefix menu: framework:menu^) + (prefix preferences: framework:preferences^) + (prefix number-snip: framework:number-snip^) + (prefix autosave: framework:autosave^) + (prefix path-utils: framework:path-utils^) + (prefix icon: framework:icon^) + (prefix keymap: framework:keymap^) + (prefix editor: framework:editor^) + (prefix pasteboard: framework:pasteboard^) + (prefix text: framework:text^) + (prefix color: framework:color^) + (prefix color-prefs: framework:color-prefs^) + (prefix comment-box: framework:comment-box^) + (prefix finder: framework:finder^) + (prefix group: framework:group^) + (prefix canvas: framework:canvas^) + (prefix panel: framework:panel^) + (prefix frame: framework:frame^) + (prefix handler: framework:handler^) + (prefix scheme: framework:scheme^) + (prefix main: framework:main^)) + framework-separate@ mred^)) \ No newline at end of file diff --git a/collects/scribblings/framework/application.scrbl b/collects/scribblings/framework/application.scrbl index bd6a8425..6ea610c0 100644 --- a/collects/scribblings/framework/application.scrbl +++ b/collects/scribblings/framework/application.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Application} diff --git a/collects/scribblings/framework/autosave.scrbl b/collects/scribblings/framework/autosave.scrbl index 287762bd..012d5ef8 100644 --- a/collects/scribblings/framework/autosave.scrbl +++ b/collects/scribblings/framework/autosave.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Autosave} diff --git a/collects/scribblings/framework/canvas.scrbl b/collects/scribblings/framework/canvas.scrbl index 1e6b66ed..d92c178a 100644 --- a/collects/scribblings/framework/canvas.scrbl +++ b/collects/scribblings/framework/canvas.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Canvas} diff --git a/collects/scribblings/framework/color-model.scrbl b/collects/scribblings/framework/color-model.scrbl index 139b5303..b8a2749b 100644 --- a/collects/scribblings/framework/color-model.scrbl +++ b/collects/scribblings/framework/color-model.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Color Model} diff --git a/collects/scribblings/framework/color-prefs.scrbl b/collects/scribblings/framework/color-prefs.scrbl index 70d979bc..15286937 100644 --- a/collects/scribblings/framework/color-prefs.scrbl +++ b/collects/scribblings/framework/color-prefs.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Color Prefs} diff --git a/collects/scribblings/framework/color.scrbl b/collects/scribblings/framework/color.scrbl index a1b87b54..4d872b79 100644 --- a/collects/scribblings/framework/color.scrbl +++ b/collects/scribblings/framework/color.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Color} diff --git a/collects/scribblings/framework/comment-box.scrbl b/collects/scribblings/framework/comment-box.scrbl index 8904f2bf..b98cc609 100644 --- a/collects/scribblings/framework/comment-box.scrbl +++ b/collects/scribblings/framework/comment-box.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Comment Box} diff --git a/collects/scribblings/framework/editor.scrbl b/collects/scribblings/framework/editor.scrbl index aafb1a97..a303cc42 100644 --- a/collects/scribblings/framework/editor.scrbl +++ b/collects/scribblings/framework/editor.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Editor} diff --git a/collects/scribblings/framework/exit.scrbl b/collects/scribblings/framework/exit.scrbl index 8b4f67e3..9bc90ecb 100644 --- a/collects/scribblings/framework/exit.scrbl +++ b/collects/scribblings/framework/exit.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Exit} diff --git a/collects/scribblings/framework/finder.scrbl b/collects/scribblings/framework/finder.scrbl index 970332c1..95fea33f 100644 --- a/collects/scribblings/framework/finder.scrbl +++ b/collects/scribblings/framework/finder.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Finder} diff --git a/collects/scribblings/framework/frame.scrbl b/collects/scribblings/framework/frame.scrbl index bb124b2b..4c90a4c3 100644 --- a/collects/scribblings/framework/frame.scrbl +++ b/collects/scribblings/framework/frame.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Frame} diff --git a/collects/scribblings/framework/framework.scrbl b/collects/scribblings/framework/framework.scrbl index 5d8fb625..47430ff9 100644 --- a/collects/scribblings/framework/framework.scrbl +++ b/collects/scribblings/framework/framework.scrbl @@ -1,28 +1,37 @@ #lang scribble/doc +@(require (for-label framework scheme/gui)) @(require scribble/manual) -@(defmodule framework/framework) +@(defmodule framework) @title{@bold{Framework}: PLT GUI Application Framework} +@bold{TODO:} @itemize{ @item{Mode} @item{``Cannot parse docs for handler:open-file''} @item{Check indexing in preferences:get} @item{Warnings in the translation process} +@item{Get rid of framework-exports.ss} } +------------------------------------------------------------------------------------------ + +The framework provides a number of mixins, classes and +functions designed to help you build a complete application +program on top of the @scheme[scheme/gui] library. + @itemize{ @item{@bold{Entire Framework} @itemize{ -@item{@scheme[(require framework/framework)] +@item{@scheme[(require framework)] This library provides all of the definitions and syntax described in this manual. } -@item{@scheme[(require (lib "framework-sig.ss" "framework"))] +@item{@scheme[(require framework/sig)] This library provides the signature definitions: @scheme[framework^], and @@ -34,7 +43,7 @@ signature contains all of the classes defined in this manual. } -@item{@scheme[(require (lib "framework-unit.ss" "framework"))] +@item{@scheme[(require framework/unit)] This library provides one @scheme[unit/sig]: @scheme[framework@]. It exports the signature @@ -45,19 +54,19 @@ @item{ @bold{Test Suite Engine} -@scheme[(require (lib "test.ss" "framework"))] +@scheme[(require framework/test)] This library provides all of the definitions beginning with @scheme[test:] described in this manual. } @item{ @bold{GUI Utilities} -@scheme[(require (lib "gui-utils.ss" "framework"))] +@scheme[(require framework/gui-utils)] This libraries provides all of the definitions beginning with \scheme{gui-utils:} described in this manual. } @item{ @bold{Preferences} -@scheme[(require (lib "preferences.ss" "framework"))] +@scheme[(require framework/preferences)] This library provides a subset of the names of the \scheme|framework.ss| library, namely those for @@ -88,6 +97,7 @@ Johnathan Franklin, Mark Krentel, Corky Cartwright, Michael Ernst, Kennis Koldewyn, Bruce Duba, and many others for their feedback and help. +@include-section["tmp.scrbl"] @include-section["application.scrbl"] @include-section["autosave.scrbl"] @include-section["canvas.scrbl"] diff --git a/collects/scribblings/framework/group.scrbl b/collects/scribblings/framework/group.scrbl index 2f690089..cf3fb446 100644 --- a/collects/scribblings/framework/group.scrbl +++ b/collects/scribblings/framework/group.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Group} @@ -71,7 +71,7 @@ @defmethod*[(((set-active-frame (frame (is-a?/c frame:basic<%>))) void))]{ Sets the active frame in the group. This method is called by - @method[frame:register-group-mixin on-focus]. + @method[frame:register-group-mixin on-activate]. } @defmethod*[(((insert-frame (frame (is-a?/c frame:basic<%>))) void))]{ diff --git a/collects/scribblings/framework/gui-utils.scrbl b/collects/scribblings/framework/gui-utils.scrbl index 89649225..028fe27e 100644 --- a/collects/scribblings/framework/gui-utils.scrbl +++ b/collects/scribblings/framework/gui-utils.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual scribble/extract) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{GUI Utilities} diff --git a/collects/scribblings/framework/handler.scrbl b/collects/scribblings/framework/handler.scrbl index 7c52d1a5..454d69bd 100644 --- a/collects/scribblings/framework/handler.scrbl +++ b/collects/scribblings/framework/handler.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Handler} diff --git a/collects/scribblings/framework/icon.scrbl b/collects/scribblings/framework/icon.scrbl index 1d34c172..b8a565d3 100644 --- a/collects/scribblings/framework/icon.scrbl +++ b/collects/scribblings/framework/icon.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Icon} diff --git a/collects/scribblings/framework/keymap.scrbl b/collects/scribblings/framework/keymap.scrbl index 5a82d3cf..2a1605eb 100644 --- a/collects/scribblings/framework/keymap.scrbl +++ b/collects/scribblings/framework/keymap.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Keymap} diff --git a/collects/scribblings/framework/main.scrbl b/collects/scribblings/framework/main.scrbl index 67352669..ed90be3f 100644 --- a/collects/scribblings/framework/main.scrbl +++ b/collects/scribblings/framework/main.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Main} diff --git a/collects/scribblings/framework/menu.scrbl b/collects/scribblings/framework/menu.scrbl index 93d79ed0..2e9b1f68 100644 --- a/collects/scribblings/framework/menu.scrbl +++ b/collects/scribblings/framework/menu.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Menu} diff --git a/collects/scribblings/framework/mode.scrbl b/collects/scribblings/framework/mode.scrbl index c5c2e464..5622fdb1 100644 --- a/collects/scribblings/framework/mode.scrbl +++ b/collects/scribblings/framework/mode.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Mode} diff --git a/collects/scribblings/framework/number-snip.scrbl b/collects/scribblings/framework/number-snip.scrbl index 788776fd..9a975e5d 100644 --- a/collects/scribblings/framework/number-snip.scrbl +++ b/collects/scribblings/framework/number-snip.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Number Snip} diff --git a/collects/scribblings/framework/panel.scrbl b/collects/scribblings/framework/panel.scrbl index c283be6b..d5b7b90d 100644 --- a/collects/scribblings/framework/panel.scrbl +++ b/collects/scribblings/framework/panel.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Panel} diff --git a/collects/scribblings/framework/pasteboard.scrbl b/collects/scribblings/framework/pasteboard.scrbl index 6ec147da..16048424 100644 --- a/collects/scribblings/framework/pasteboard.scrbl +++ b/collects/scribblings/framework/pasteboard.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Pasteboard} diff --git a/collects/scribblings/framework/path-utils.scrbl b/collects/scribblings/framework/path-utils.scrbl index 48d2cacd..16ab124d 100644 --- a/collects/scribblings/framework/path-utils.scrbl +++ b/collects/scribblings/framework/path-utils.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Path Utils} diff --git a/collects/scribblings/framework/preferences-text.scrbl b/collects/scribblings/framework/preferences-text.scrbl index 0752338b..551e8d12 100644 --- a/collects/scribblings/framework/preferences-text.scrbl +++ b/collects/scribblings/framework/preferences-text.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual scribble/extract) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Preferences, Textual} diff --git a/collects/scribblings/framework/preferences.scrbl b/collects/scribblings/framework/preferences.scrbl index 56e51968..f99a2508 100644 --- a/collects/scribblings/framework/preferences.scrbl +++ b/collects/scribblings/framework/preferences.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Preferences} diff --git a/collects/scribblings/framework/scheme.scrbl b/collects/scribblings/framework/scheme.scrbl index c609fbe6..7018d65d 100644 --- a/collects/scribblings/framework/scheme.scrbl +++ b/collects/scribblings/framework/scheme.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Scheme} diff --git a/collects/scribblings/framework/test.scrbl b/collects/scribblings/framework/test.scrbl index 4cd7eb1a..f23611c8 100644 --- a/collects/scribblings/framework/test.scrbl +++ b/collects/scribblings/framework/test.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual scribble/extract) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Test} diff --git a/collects/scribblings/framework/text.scrbl b/collects/scribblings/framework/text.scrbl index 35ec1a61..993d47c1 100644 --- a/collects/scribblings/framework/text.scrbl +++ b/collects/scribblings/framework/text.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Text} @@ -112,7 +112,7 @@ the file is saved, the port name matches when the save file is the path as \var{id}. If the file has not been saved, the port name matches if the symbol is the same as the result of - @method[text:basic<%> port-name-matches]. + @method[text:basic<%> port-name-matches?]. } } @@ -845,7 +845,7 @@ @defmethod*[#:mode augment (((on-display-size) void))]{ Adjusts the embedded editor-snip (used for reading input to the - @method[text:ports<%> get-in-box-ports]) to match the width of the editor. + @method[text:ports<%> get-in-box-port]) to match the width of the editor. } } @definterface[text:input-box<%> (text%)]{ diff --git a/collects/scribblings/framework/version.scrbl b/collects/scribblings/framework/version.scrbl index d3323a98..843806e5 100644 --- a/collects/scribblings/framework/version.scrbl +++ b/collects/scribblings/framework/version.scrbl @@ -1,6 +1,6 @@ #lang scribble/doc @(require scribble/manual) -@(require (for-label framework/framework)) +@(require (for-label framework)) @(require (for-label scheme/gui)) @title{Version}