From db108dee39567008ed6f3013645d704d82163094 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Sun, 4 Jan 2004 10:24:24 +0000 Subject: [PATCH] .. original commit: 1abf2ac850c888bcb5b615981f7da52c85932165 --- collects/framework/framework.ss | 18 ++++++++++++++++-- collects/framework/private/comment-box.ss | 15 ++++++++++++++- collects/framework/private/scheme.ss | 10 ++++++++++ collects/framework/private/sig.ss | 4 +++- .../framework/private/standard-menus-items.ss | 2 +- .../framework/framework-test-engine.icns | Bin 0 -> 53284 bytes 6 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 collects/tests/framework/framework-test-engine.icns diff --git a/collects/framework/framework.ss b/collects/framework/framework.ss index 99e3f8e3..3010f372 100644 --- a/collects/framework/framework.ss +++ b/collects/framework/framework.ss @@ -1240,8 +1240,22 @@ "That is, \\var{keymap} must be chained to some keymap attached" "to the editor.") - - (scheme:add-preferences-panel + (scheme:text-balanced? + (opt-> + ((is-a?/c text%)) + (number? (union false? number?)) + boolean?) + ((text) + ((start 0) (end #f))) + "Determines if the range in the editor from \\var{start} to \\var{end} in \\var{text}" + "is a matched set of parenthesis. If \\var{end} is \\scheme{#f}, it" + "defaults to the last position of the \\var{text}." + "" + "The implementation of this function creates a port with" + "@flink open-input-text-editor" + "and then uses `read' to parse the range of the buffer.") + + (scheme:add-preferences-panel (-> void?) () "Adds a tabbing preferences panel to the preferences dialog.") diff --git a/collects/framework/private/comment-box.ss b/collects/framework/private/comment-box.ss index c553b7c1..4482af2a 100644 --- a/collects/framework/private/comment-box.ss +++ b/collects/framework/private/comment-box.ss @@ -38,11 +38,24 @@ (cons (keymap:get-file) (super-get-keymaps))) (super-instantiate ()))) + (define scheme+copy-self% #f) + (define (get-scheme+copy-self%) + (unless scheme+copy-self% + (set! scheme+copy-self% + (class scheme:text% + (inherit copy-self-to) + (define/override (copy-self) + (let ([ed (new scheme+copy-self%)]) + (copy-self-to ed) + ed)) + (super-new)))) + scheme+copy-self%) + (define -snip% (class* decorated-editor-snip% (readable-snip<%>) (inherit get-editor get-style) - (define/override (make-editor) (new scheme:text%)) + (define/override (make-editor) (new (get-scheme+copy-self%))) (define/override (make-snip) (make-object -snip%)) (define/override (get-corner-bitmap) bm) (define/override (get-position) 'left-top) diff --git a/collects/framework/private/scheme.ss b/collects/framework/private/scheme.ss index 0e47d9f2..d4ff34fe 100644 --- a/collects/framework/private/scheme.ss +++ b/collects/framework/private/scheme.ss @@ -43,6 +43,16 @@ [-text% text%]) + (define text-balanced? + (opt-lambda (text [start 0] [in-end #f]) + (let* ([end (or in-end (send text last-position))] + [port (open-input-text-editor text start end)]) + (with-handlers ([exn:read:eof? (lambda (x) #f)]) + (let loop () + (let ([s (read port)]) + (or (eof-object? s) + (loop)))))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Sexp Snip ;; diff --git a/collects/framework/private/sig.ss b/collects/framework/private/sig.ss index 558f7c43..a84b404d 100644 --- a/collects/framework/private/sig.ss +++ b/collects/framework/private/sig.ss @@ -522,7 +522,9 @@ get-color-prefs-table short-sym->pref-name - short-sym->style-name)) + short-sym->style-name + + text-balanced?)) (define-signature framework:scheme^ ((open framework:scheme-class^) (open framework:scheme-fun^))) diff --git a/collects/framework/private/standard-menus-items.ss b/collects/framework/private/standard-menus-items.ss index 7377e972..1e302310 100644 --- a/collects/framework/private/standard-menus-items.ss +++ b/collects/framework/private/standard-menus-items.ss @@ -358,7 +358,7 @@ (make-an-item 'edit-menu 'replace-and-find-again '(string-constant replace-and-find-again-info) '(lambda (item control) (void)) - #\h + '(if (eq? (system-type) 'macosx) #f #\h) '(string-constant replace-and-find-again-menu-item) edit-menu:edit-target-on-demand #f) diff --git a/collects/tests/framework/framework-test-engine.icns b/collects/tests/framework/framework-test-engine.icns new file mode 100644 index 0000000000000000000000000000000000000000..4dbb8be9d3feac6e08ea67996a9437c3f67a79ed GIT binary patch literal 53284 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 literal 0 HcmV?d00001