#lang scribble/doc @(require (for-label framework framework/framework-unit framework/framework-sig racket/gui) (for-syntax framework/private/scheme racket/base) scribble/manual) @title{Framework: Racket GUI Application Framework} @(defmodule framework) @author["Robert Bruce Findler" "Matthew Flatt"] The framework provides a number of mixins, classes and functions designed to help you build a complete application program on top of the @racket[racket/gui] library. @bold{Thanks} Thanks to Shriram Krishnamurthi, Cormac Flanagan, Matthias Felleisen, Ian Barland, Gann Bierner, Richard Cobbe, Dan Grossman, Stephanie Weirich, Paul Steckler, Sebastian Good, Johnathan Franklin, Mark Krentel, Corky Cartwright, Michael Ernst, Kennis Koldewyn, Bruce Duba, and many others for their feedback and help. @section{Framework Libraries Overview} @itemize[ @item{Entire Framework: @racketmodname[framework] This library provides all of the definitions and syntax described in this manual. } @item{Test Suite Engine: @racketmodname[framework/test] This library provides all of the definitions beginning with @racket[test:] described in this manual. } @item{GUI Utilities @racketmodname[framework/gui-utils] This libraries provides all of the definitions beginning with @racket[gui-utils:] described in this manual. } @item{Preferences @racketmodname[framework/preferences] This library provides a subset of the names of the @racketmodname[framework] library, namely those for manipulating preference settings and is designed to be used from @exec{racket}. } @item{Splash Screen @racketmodname[framework/splash] This library provides support for a splash screen. See @racketmodname[framework/splash] for more. } @item{Notify-boxes @racketmodname[framework/notify] This library provides boxes and controls that allow listeners to execute when their value changes. See @racketmodname[framework/splash] for more. }] @include-section["application.scrbl"] @include-section["autosave.scrbl"] @include-section["canvas.scrbl"] @include-section["color-model.scrbl"] @include-section["color-prefs.scrbl"] @include-section["color.scrbl"] @include-section["comment-box.scrbl"] @section{Decorated Editor Snip} @defmodule[framework/decorated-editor-snip] This library is here for backwards compatibility. The functionality in it has moved into the framework proper, in the @secref["editor-snip"] section. @defidform[decorated-editor-snip%]{ Use @racket[editor-snip:decorated%] instead. } @defidform[decorated-editor-snipclass%]{ Use @racket[editor-snip:decorated-snipclass%] instead. } @defidform[decorated-editor-snip-mixin]{ Use @racket[editor-snip:decorated-mixin] instead. } @defidform[decorated-editor-snip<%>]{ Use @racket[editor-snip:decorated<%>] instead. } @include-section["editor-snip.scrbl"] @include-section["editor.scrbl"] @include-section["exit.scrbl"] @include-section["finder.scrbl"] @include-section["frame.scrbl"] @include-section["group.scrbl"] @include-section["gui-utils.scrbl"] @include-section["handler.scrbl"] @include-section["icon.scrbl"] @include-section["keymap.scrbl"] @include-section["menu.scrbl"] @include-section["mode.scrbl"] @include-section["notify.scrbl"] @include-section["number-snip.scrbl"] @include-section["panel.scrbl"] @include-section["pasteboard.scrbl"] @include-section["path-utils.scrbl"] @include-section["preferences.scrbl"] @include-section["preferences-text.scrbl"] @include-section["racket.scrbl"] @include-section["text.scrbl"] @include-section["splash.scrbl"] @include-section["test.scrbl"] @include-section["version.scrbl"] @section{Backwards Compatibility} @(define-syntax (scheme:-docs stx) #`(begin #,@(for/list ([suffix (in-list racket:ids)]) (define scheme:id (string->symbol (format "scheme:~a" suffix))) (define racket:id (string->symbol (format "racket:~a" suffix))) #`@defidform[#,scheme:id]{An alias for @racket[#,racket:id].}))) @(scheme:-docs) @section{Signatures} @defmodule[framework/framework-sig] @defsignature[framework^ ()]{ Contains all of the names of the procedures in this manual, except those that begin with @racket[test:] or @racket[gui-utils:]. } @defsignature[framework-class^ ()]{ Contains all of the classes defined in this manual. } @section{Unit} @defmodule[framework/framework-unit] @defthing[framework@ unit?]{ Exports the signature @racket[framework^] and imports the @racket[mred^] signature. } @index-section[]