#reader scribble/reader #lang scheme/base (require (for-syntax scheme/base)) (require scribble/manual scribble/basic scribble/extract scheme/class scheme/contract) (provide (all-from-out scribble/manual) (all-from-out scribble/basic) (all-from-out scribble/extract) (all-from-out scheme/class) (all-from-out scheme/contract)) (require (for-label scheme/gui/base scheme/class scheme/contract scheme/base drscheme/tool-lib mrlib/switchable-button framework)) (provide (for-label (all-from-out scheme/gui/base) (all-from-out scheme/class) (all-from-out scheme/contract) (all-from-out scheme/base) (all-from-out drscheme/tool-lib) (all-from-out mrlib/switchable-button) (all-from-out framework))) (provide docs-get/extend) (define-syntax (docs-get/extend stx) (syntax-case stx () [(_ id) (identifier? #'id) (with-syntax ([get (datum->syntax #'id (string->symbol (format "drscheme:get/extend:get-~a" (syntax-e #'id))))] [extend (datum->syntax #'id (string->symbol (format "drscheme:get/extend:extend-~a" (syntax-e #'id))))]) #'(begin @defproc*[([(extend (mixin mixin-contract)) void?] [(extend (mixin mixin-contract) (before boolean?)) void?])]{ Adds a new mixin to the class eventually created in DrScheme. } @defproc[(get) class?]{Returns the class (with all registered mixins applied).}))]))