a little progress on the tools manual
svn: r9724
This commit is contained in:
parent
42dcfbc79a
commit
06463490f3
|
@ -1,11 +1,7 @@
|
||||||
|
|
||||||
#lang scheme/unit
|
#lang scheme/unit
|
||||||
(require mzlib/class
|
|
||||||
"drsig.ss"
|
|
||||||
mred
|
|
||||||
mzlib/etc)
|
|
||||||
|
|
||||||
|
|
||||||
|
(require scheme/class
|
||||||
|
"drsig.ss")
|
||||||
|
|
||||||
(import [prefix drscheme:unit: drscheme:unit^]
|
(import [prefix drscheme:unit: drscheme:unit^]
|
||||||
[prefix drscheme:frame: drscheme:frame^]
|
[prefix drscheme:frame: drscheme:frame^]
|
||||||
|
@ -28,7 +24,7 @@
|
||||||
(error 'extend-% "expected output of extension to create a subclass of its input, got: ~a"
|
(error 'extend-% "expected output of extension to create a subclass of its input, got: ~a"
|
||||||
new%)))))])
|
new%)))))])
|
||||||
(values
|
(values
|
||||||
(rec add-extender
|
(letrec ([add-extender
|
||||||
(case-lambda
|
(case-lambda
|
||||||
[(extension) (add-extender extension #t)]
|
[(extension) (add-extender extension #t)]
|
||||||
[(extension before?)
|
[(extension before?)
|
||||||
|
@ -38,7 +34,8 @@
|
||||||
(set! extensions
|
(set! extensions
|
||||||
(if before?
|
(if before?
|
||||||
(compose (verify extension) extensions)
|
(compose (verify extension) extensions)
|
||||||
(compose extensions (verify extension))))]))
|
(compose extensions (verify extension))))])])
|
||||||
|
add-extender)
|
||||||
(λ ()
|
(λ ()
|
||||||
(unless built-yet?
|
(unless built-yet?
|
||||||
(set! built-yet? #t)
|
(set! built-yet? #t)
|
||||||
|
|
|
@ -18,4 +18,13 @@ all of the names in the tools library, for use defining keybindings
|
||||||
(shutdown-splash)
|
(shutdown-splash)
|
||||||
(define-values/invoke-unit/infer drscheme@)
|
(define-values/invoke-unit/infer drscheme@)
|
||||||
(close-splash)
|
(close-splash)
|
||||||
(provide-signature-elements drscheme:tool^))
|
(provide-signature-elements drscheme:tool^)
|
||||||
|
|
||||||
|
(provide drscheme:unit:program-editor-mixin)
|
||||||
|
(define-syntax (drscheme:unit:program-editor-mixin stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ a ...)
|
||||||
|
#'((drscheme:unit:get-program-editor-mixin) a ...)]
|
||||||
|
[_ #'(drscheme:unit:get-program-editor-mixin)])))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
(module common scheme/base
|
#reader scribble/reader
|
||||||
|
#lang scheme/base
|
||||||
|
(require (for-syntax scheme/base))
|
||||||
|
|
||||||
(require scribble/manual
|
(require scribble/manual
|
||||||
scribble/basic
|
scribble/basic
|
||||||
scheme/class
|
scheme/class
|
||||||
|
@ -12,10 +15,33 @@
|
||||||
scheme/class
|
scheme/class
|
||||||
scheme/contract
|
scheme/contract
|
||||||
scheme/base
|
scheme/base
|
||||||
|
drscheme/tool-lib
|
||||||
framework))
|
framework))
|
||||||
(provide (for-label (all-from-out scheme/gui/base)
|
(provide (for-label (all-from-out scheme/gui/base)
|
||||||
(all-from-out scheme/class)
|
(all-from-out scheme/class)
|
||||||
(all-from-out scheme/contract)
|
(all-from-out scheme/contract)
|
||||||
(all-from-out scheme/base)
|
(all-from-out scheme/base)
|
||||||
(all-from-out framework))))
|
(all-from-out drscheme/tool-lib)
|
||||||
|
(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?])]{
|
||||||
|
Does stuff.
|
||||||
|
}
|
||||||
|
@defproc[(get) class?]{Returns the class.}))]))
|
|
@ -1,19 +1,20 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:debug}}
|
@title{@tt{drscheme:debug}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@defmixin[drscheme:debug:profile-unit-frame-mixin () ((domain . drscheme:frame:) (domain . drscheme:unit:frame))]{
|
@defmixin[drscheme:debug:profile-unit-frame-mixin (drscheme:frame:<%> drscheme:unit:frame<%>) ()]{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:debug:profile-interactions-text-mixin () ((domain . drscheme:rep:text))]{
|
@defmixin[drscheme:debug:profile-interactions-text-mixin (drscheme:rep:text<%>) ()]{
|
||||||
|
|
||||||
%% %% drscheme:unit %%
|
%% %% drscheme:unit %%
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:debug:profile-definitions-text-mixin () ((domain . drscheme:unit:definitions-text) (domainc . text))]{
|
@defmixin[drscheme:debug:profile-definitions-text-mixin (drscheme:unit:definitions-text<%> text%) ()]{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:frame}}
|
@title{@tt{drscheme:frame}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@defclass[drscheme:frame:name-message% canvas% ()]{
|
@defclass[drscheme:frame:name-message% canvas% ()]{
|
||||||
|
|
||||||
|
@ -31,7 +32,7 @@ hasn't been saved is shown.
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:frame:mixin (drscheme:frame:<%>) ((domain . drscheme:frame:basics) (domain . frame:text-info) (domain . frame:editor))]{
|
@defmixin[drscheme:frame:mixin (drscheme:frame:basics<%> frame:text-info<%> frame:editor<%>) (drscheme:frame:<%>)]{
|
||||||
|
|
||||||
Provides an implementation of
|
Provides an implementation of
|
||||||
@scheme[drscheme:frame:<%>]
|
@scheme[drscheme:frame:<%>]
|
||||||
|
@ -39,7 +40,7 @@ Provides an implementation of
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:frame:basics-mixin (drscheme:frame:basics<%>) ((domain . frame:standard-menus))]{
|
@defmixin[drscheme:frame:basics-mixin (frame:standard-menus<%>) (drscheme:frame:basics<%>)]{
|
||||||
|
|
||||||
Use this mixin to establish some common menu items across various DrScheme windows.
|
Use this mixin to establish some common menu items across various DrScheme windows.
|
||||||
|
|
||||||
|
|
|
@ -1,92 +1,11 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:get/extend}}
|
@title{@tt{drscheme:get/extend}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-unit-frame% (drscheme:debug:profile-unit-frame-mixin) ()]{
|
@docs-get/extend[definitions-text]
|
||||||
|
@docs-get/extend[interactions-text]
|
||||||
|
@docs-get/extend[unit-frame]
|
||||||
|
@docs-get/extend[definitions-canvas]
|
||||||
@defconstructor[()]{
|
@docs-get/extend[interactions-canvas]
|
||||||
Passes all arguments to @scheme[super-init].
|
@docs-get/extend[tab]
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-tab% () ()]{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@defconstructor[()]{
|
|
||||||
Passes all arguments to @scheme[super-init].
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-interactions-text% (drscheme:debug:profile-interactions-text-mixin) ()]{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@defconstructor[()]{
|
|
||||||
Passes all arguments to @scheme[super-init].
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-interactions-canvas% (canvas:delegate-mixin canvas:info-mixin) ()]{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@defconstructor/make[()]{
|
|
||||||
|
|
||||||
Calls @scheme[super-new], adding @scheme['hide-hscroll] to the style argument.
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@defconstructor[()]{
|
|
||||||
Passes all arguments to @scheme[super-init].
|
|
||||||
}
|
|
||||||
|
|
||||||
@defmethod[#:mode override
|
|
||||||
(on-focus)
|
|
||||||
void?]{
|
|
||||||
|
|
||||||
When the focus is on, calls
|
|
||||||
@method[drscheme:unit:frame% make-searchable] with @scheme[this].
|
|
||||||
|
|
||||||
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-definitions-text% (drscheme:debug:profile-definitions-text-mixin) ()]{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@defconstructor[()]{
|
|
||||||
Passes all arguments to @scheme[super-init].
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:get/extend:base-definitions-canvas% (canvas:delegate-mixin canvas:info-mixin) ()]{
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@defconstructor/make[()]{
|
|
||||||
|
|
||||||
Calls @scheme[super-new], adding @scheme['hide-hscroll] to the style argument.
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@defconstructor[()]{
|
|
||||||
Passes all arguments to @scheme[super-init].
|
|
||||||
}
|
|
||||||
|
|
||||||
@defmethod[#:mode override
|
|
||||||
(on-focus)
|
|
||||||
void?]{
|
|
||||||
|
|
||||||
When the focus is on, calls
|
|
||||||
@method[drscheme:unit:frame% make-searchable] with @scheme[this].
|
|
||||||
|
|
||||||
%% %% drscheme:debug %%
|
|
||||||
|
|
||||||
}}
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:language}}
|
@title{@tt{drscheme:language}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@definterface[drscheme:language:simple-module-based-language<%> ()]{
|
@definterface[drscheme:language:simple-module-based-language<%> ()]{
|
||||||
|
|
||||||
|
@ -131,7 +132,7 @@ returns the corresponding init arg.
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:language:simple-module-based-language->module-based-language-mixin (drscheme:language:module-based-language<%>) ((domain . drscheme:language:simple-module-based-language))]{
|
@defmixin[drscheme:language:simple-module-based-language->module-based-language-mixin (drscheme:language:simple-module-based-language<%>) (drscheme:language:module-based-language<%>)]{
|
||||||
|
|
||||||
\index{drscheme:language:simple-settings}
|
\index{drscheme:language:simple-settings}
|
||||||
\label{tools:simple-settings}
|
\label{tools:simple-settings}
|
||||||
|
@ -492,7 +493,7 @@ Defaultly returns @scheme[#f].
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:language:module-based-language->language-mixin (drscheme:language:language<%>) ((domain . drscheme:language:module-based-language))]{
|
@defmixin[drscheme:language:module-based-language->language-mixin (drscheme:language:module-based-language<%>) (drscheme:language:language<%>)]{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:rep}}
|
@title{@tt{drscheme:rep}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@definterface[drscheme:rep:text<%> ()]{
|
@definterface[drscheme:rep:text<%> ()]{
|
||||||
|
|
||||||
|
@ -312,7 +313,7 @@ in the user's eventspace
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:rep:drs-bindings-keymap-mixin () ((domain . editor:keymap))]{
|
@defmixin[drscheme:rep:drs-bindings-keymap-mixin (editor:keymap<%>) ()]{
|
||||||
|
|
||||||
This mixin adds some drscheme-specific keybindings to the
|
This mixin adds some drscheme-specific keybindings to the
|
||||||
editor it is mixed onto.
|
editor it is mixed onto.
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#lang scribble/doc
|
#lang scribble/doc
|
||||||
@(require "common.ss")
|
@(require "common.ss")
|
||||||
@title{@tt{drscheme:unit}}
|
@title{@tt{drscheme:unit}}
|
||||||
|
@(defmodule drscheme/tool-lib)
|
||||||
|
|
||||||
@definterface[drscheme:unit:tab<%> (drscheme:rep:context<%>)]{
|
@definterface[drscheme:unit:tab<%> (drscheme:rep:context<%>)]{
|
||||||
|
|
||||||
|
@ -175,7 +176,7 @@ Clears any error highlighting.
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@defmixin[drscheme:unit:program-editor-mixin () ((domainc . text) (domain . editor:basic))]{
|
@defmixin[drscheme:unit:program-editor-mixin (text% editor:basic<%>) ()]{
|
||||||
|
|
||||||
This mixes in the ability to reset the highlighting for
|
This mixes in the ability to reset the highlighting for
|
||||||
error message when the user modifies the buffer. Use it for
|
error message when the user modifies the buffer. Use it for
|
||||||
|
@ -220,7 +221,7 @@ Passes all arguments to @scheme[super-init].
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:unit:frame% (drscheme:frame:mixin drscheme:frame:basics-mixin drscheme:unit:frame<%>) ()]{
|
@defclass[drscheme:unit:frame% (drscheme:frame:basics-mixin (drscheme:frame:mixin frame:searchable%)) (drscheme:unit:frame<%>)]{
|
||||||
|
|
||||||
This frame inserts the Scheme and Language menus into the menu bar as it is initialized.
|
This frame inserts the Scheme and Language menus into the menu bar as it is initialized.
|
||||||
|
|
||||||
|
@ -688,7 +689,7 @@ Note that the capability must be registered separately, via
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@defclass[drscheme:unit:definitions-text% (scheme:text-mixin drscheme:unit:program-editor-mixin drscheme:rep:drs-bindings-keymap-mixin drscheme:unit:definitions-text<%>) ()]{
|
@defclass[drscheme:unit:definitions-text% (drscheme:rep:drs-bindings-keymap-mixin (drscheme:unit:program-editor-mixin (scheme:text-mixin text:info%))) (drscheme:unit:definitions-text<%>)]{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user