From fb76a887d82ac613af2f02049e2edf9cdd8fd83f Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 17 Dec 2010 11:27:00 -0500 Subject: [PATCH] Refactor to create `racket/snip' collection. --- collects/mred/mred.rkt | 3 +- collects/mred/private/snipfile.rkt | 2 +- collects/mred/private/wxme/cycle.rkt | 2 - collects/mred/private/wxme/editor-admin.rkt | 2 +- collects/mred/private/wxme/editor-data.rkt | 12 ++-- .../mred/private/wxme/editor-snip-class.rkt | 8 +-- collects/mred/private/wxme/editor-snip.rkt | 9 ++- collects/mred/private/wxme/editor.rkt | 4 +- collects/mred/private/wxme/mline.rkt | 4 +- collects/mred/private/wxme/pasteboard.rkt | 6 +- ...snip-admin.rkt => standard-snip-admin.rkt} | 59 +----------------- collects/mred/private/wxme/stream.rkt | 2 +- collects/mred/private/wxme/text.rkt | 6 +- collects/mred/private/wxme/undo.rkt | 4 +- collects/mred/private/wxtextfield.rkt | 2 +- collects/mrlib/cache-image-snip.rkt | 2 +- collects/mrlib/image-core.rkt | 14 ++--- collects/racket/snip.rkt | 3 + collects/racket/snip/snip-admin.rkt | 62 +++++++++++++++++++ .../wxme => racket/snip}/snip-flags.rkt | 0 .../private/wxme => racket/snip}/snip.rkt | 15 ++--- 21 files changed, 108 insertions(+), 113 deletions(-) rename collects/mred/private/wxme/{snip-admin.rkt => standard-snip-admin.rkt} (75%) create mode 100644 collects/racket/snip.rkt create mode 100644 collects/racket/snip/snip-admin.rkt rename collects/{mred/private/wxme => racket/snip}/snip-flags.rkt (100%) rename collects/{mred/private/wxme => racket/snip}/snip.rkt (99%) diff --git a/collects/mred/mred.rkt b/collects/mred/mred.rkt index 15236cdcf0..114a98b367 100644 --- a/collects/mred/mred.rkt +++ b/collects/mred/mred.rkt @@ -11,14 +11,13 @@ (prefix wx: "private/wxme/editor.ss") (prefix wx: "private/wxme/text.ss") (prefix wx: "private/wxme/pasteboard.ss") - (prefix wx: "private/wxme/snip.ss") + (prefix wx: racket/snip) (prefix wx: "private/wxme/keymap.ss") (prefix wx: "private/wxme/editor-admin.ss") (prefix wx: "private/wxme/editor-data.ss") (prefix wx: "private/wxme/editor-snip.ss") (prefix wx: "private/wxme/stream.ss") (prefix wx: "private/wxme/wordbreak.ss") - (prefix wx: "private/wxme/snip-admin.ss") "private/wxtop.ss" "private/app.ss" "private/misc.ss" diff --git a/collects/mred/private/snipfile.rkt b/collects/mred/private/snipfile.rkt index 593014bb05..e44b3610e7 100644 --- a/collects/mred/private/snipfile.rkt +++ b/collects/mred/private/snipfile.rkt @@ -3,7 +3,7 @@ racket/port syntax/moddep (prefix-in wx: "kernel.ss") - (prefix-in wx: "wxme/snip.ss") + (prefix-in wx: racket/snip) (prefix-in wx: "wxme/cycle.ss") "check.ss" "editor.ss") diff --git a/collects/mred/private/wxme/cycle.rkt b/collects/mred/private/wxme/cycle.rkt index c8fa72ec96..05cc6dbd24 100644 --- a/collects/mred/private/wxme/cycle.rkt +++ b/collects/mred/private/wxme/cycle.rkt @@ -8,7 +8,6 @@ (decl text% set-text%!) (decl pasteboard% set-pasteboard%!) -(decl snip-admin% set-snip-admin%!) (decl editor-stream-in% set-editor-stream-in%!) (decl editor-stream-out% set-editor-stream-out%!) (decl editor-snip% set-editor-snip%!) @@ -18,7 +17,6 @@ (decl extended-text% set-extended-text%!) (decl extended-pasteboard% set-extended-pasteboard%!) -;(decl get-snip-class set-get-snip-class!) (decl get-editor-data-class set-get-editor-data-class!) (decl editor-get-file set-editor-get-file!) diff --git a/collects/mred/private/wxme/editor-admin.rkt b/collects/mred/private/wxme/editor-admin.rkt index 2a7e8cffbf..285d2d459d 100644 --- a/collects/mred/private/wxme/editor-admin.rkt +++ b/collects/mred/private/wxme/editor-admin.rkt @@ -1,7 +1,7 @@ #lang scheme/base (require scheme/class "../syntax.ss" - "snip.ss" + racket/snip "private.ss" (only-in "cycle.ss" popup-menu%)) diff --git a/collects/mred/private/wxme/editor-data.rkt b/collects/mred/private/wxme/editor-data.rkt index e2dca23a89..ff32ff2cc2 100644 --- a/collects/mred/private/wxme/editor-data.rkt +++ b/collects/mred/private/wxme/editor-data.rkt @@ -3,17 +3,15 @@ (require scheme/class scheme/file file/convertible "../syntax.ss" - "snip-flags.ss" + racket/snip/snip-flags "private.ss" "style.ss" "load-one.rkt" - ;; used only in contracts - (only-in "cycle.ss" editor-stream-in% editor-stream-out% snip-admin%) - ;; used for real - (only-in "cycle.ss" get-editor-data-class set-get-editor-data-class!) + (only-in "cycle.ss" + editor-stream-in% editor-stream-out% + get-editor-data-class set-get-editor-data-class!) "../wx/common/event.rkt" - racket/draw - (only-in "wx.ss" begin-busy-cursor end-busy-cursor get-highlight-text-color)) + racket/draw) (provide get-the-editor-data-class-list editor-data% diff --git a/collects/mred/private/wxme/editor-snip-class.rkt b/collects/mred/private/wxme/editor-snip-class.rkt index 47e8cd6117..5ee5e2ef11 100644 --- a/collects/mred/private/wxme/editor-snip-class.rkt +++ b/collects/mred/private/wxme/editor-snip-class.rkt @@ -3,14 +3,12 @@ (require racket/class racket/file file/convertible "../syntax.ss" - "snip-flags.ss" + racket/snip/snip-flags "private.ss" "style.ss" - "snip.rkt" - ;; used only in contracts - (only-in "cycle.ss" editor-stream-in% editor-stream-out% snip-admin%) - ;; used for real + racket/snip (only-in "cycle.ss" + editor-stream-in% editor-stream-out% extended-text% extended-pasteboard% extended-editor-snip% get-editor-data-class) "../wx/common/event.rkt" diff --git a/collects/mred/private/wxme/editor-snip.rkt b/collects/mred/private/wxme/editor-snip.rkt index cc26fec52e..bca02aa9e0 100644 --- a/collects/mred/private/wxme/editor-snip.rkt +++ b/collects/mred/private/wxme/editor-snip.rkt @@ -3,12 +3,12 @@ "../syntax.ss" "private.ss" "const.ss" - "snip.ss" - "snip-flags.ss" + racket/snip + racket/snip/snip-flags + "standard-snip-admin.rkt" "editor.ss" "editor-admin.ss" "editor-snip-class.rkt" - "snip-admin.ss" "text.ss" "pasteboard.ss" "wx.ss" @@ -16,8 +16,7 @@ text% pasteboard% editor-snip% - editor-snip-editor-admin% - snip-admin%)) + editor-snip-editor-admin%)) (provide editor-snip% editor-snip-editor-admin<%>) diff --git a/collects/mred/private/wxme/editor.rkt b/collects/mred/private/wxme/editor.rkt index 3e865000f9..8e7d482c71 100644 --- a/collects/mred/private/wxme/editor.rkt +++ b/collects/mred/private/wxme/editor.rkt @@ -5,8 +5,8 @@ "../syntax.ss" "private.ss" "style.ss" - "snip.ss" - "snip-flags.ss" + racket/snip + racket/snip/snip-flags "editor-admin.ss" "stream.ss" "undo.ss" diff --git a/collects/mred/private/wxme/mline.rkt b/collects/mred/private/wxme/mline.rkt index 0677b61ebb..497f1326d9 100644 --- a/collects/mred/private/wxme/mline.rkt +++ b/collects/mred/private/wxme/mline.rkt @@ -2,8 +2,8 @@ (require scheme/class "../syntax.ss" "const.ss" - "snip.ss" - "snip-flags.ss" + racket/snip + racket/snip/snip-flags "private.ss") (provide create-mline diff --git a/collects/mred/private/wxme/pasteboard.rkt b/collects/mred/private/wxme/pasteboard.rkt index a84dff9e6f..fc7e53839b 100644 --- a/collects/mred/private/wxme/pasteboard.rkt +++ b/collects/mred/private/wxme/pasteboard.rkt @@ -9,9 +9,9 @@ "editor-data.rkt" "undo.ss" "style.ss" - "snip.ss" - "snip-flags.ss" - "snip-admin.ss" + racket/snip + racket/snip/snip-flags + "standard-snip-admin.rkt" "keymap.ss" (only-in "cycle.ss" set-pasteboard%!) "wordbreak.ss" diff --git a/collects/mred/private/wxme/snip-admin.rkt b/collects/mred/private/wxme/standard-snip-admin.rkt similarity index 75% rename from collects/mred/private/wxme/snip-admin.rkt rename to collects/mred/private/wxme/standard-snip-admin.rkt index 3e9660bc59..b2af31611d 100644 --- a/collects/mred/private/wxme/snip-admin.rkt +++ b/collects/mred/private/wxme/standard-snip-admin.rkt @@ -1,70 +1,15 @@ #lang scheme/base (require scheme/class "../syntax.ss" - "snip.ss" + racket/snip (only-in "cycle.ss" - set-snip-admin%! popup-menu%) (prefix-in wx: "wx.ss")) -(provide snip-admin% - standard-snip-admin%) +(provide standard-snip-admin%) (define TAB-WIDTH 20) -(defclass snip-admin% object% - (super-new) - - (def/public (get-editor) #f) - (def/public (get-dc) #f) - (def/public (get-view-size [maybe-box? w] [maybe-box? h]) - #f) - - (def/public (get-view [maybe-box? x] [maybe-box? y] [maybe-box? w] [maybe-box? h] - [(make-or-false snip%) [snip #f]]) - #f) - - (def/public (scroll-to [snip% s] - [real? x] [real? y] - [nonnegative-real? w] [nonnegative-real? h] - [any? refresh?] - [(symbol-in start end none) [bias 'none]]) - #f) - - (def/public (set-caret-owner [snip% s] [(symbol-in imeditorte display global) dist]) - (void)) - - (def/public (resized [snip% s] [any? redraw?]) (void)) - - (def/public (recounted [snip% s] [any? redraw?]) (void)) - - (def/public (needs-update [snip% s] [real? x] [real? y] - [nonnegative-real? w] [nonnegative-real? h]) - (void)) - - (def/public (release-snip [snip% s]) #f) - - (def/public (update-cursor) (void)) - - (def/public (popup-menu [popup-menu% p][snip% snip][real? x][real? y]) - #f) - - (def/public (modified [snip% s] [any? modified?]) - (void)) - - (def/public (get-line-spacing) - #f) - - (def/public (get-selected-text-color) - #f) - - (def/public (call-with-busy-cursor [procedure? thunk]) - (void)) - - (def/public (get-tabs [maybe-box? [length #f]] [maybe-box? [tab-width #f]] [maybe-box? [in-units #f]]) - #f)) - -(set-snip-admin%! snip-admin%) (defclass standard-snip-admin% snip-admin% (init-field editor) diff --git a/collects/mred/private/wxme/stream.rkt b/collects/mred/private/wxme/stream.rkt index 3273d025fa..6b59c5f2b5 100644 --- a/collects/mred/private/wxme/stream.rkt +++ b/collects/mred/private/wxme/stream.rkt @@ -2,7 +2,7 @@ (require scheme/class "../syntax.ss" "private.ss" - "snip.ss" + racket/snip "editor-data.rkt" (only-in "cycle.ss" set-editor-stream-in%! diff --git a/collects/mred/private/wxme/text.rkt b/collects/mred/private/wxme/text.rkt index 70e7aadf61..e8844c2c04 100644 --- a/collects/mred/private/wxme/text.rkt +++ b/collects/mred/private/wxme/text.rkt @@ -11,9 +11,9 @@ "editor-data.rkt" "undo.ss" "style.ss" - "snip.ss" - "snip-flags.ss" - "snip-admin.ss" + racket/snip + racket/snip/snip-flags + "standard-snip-admin.rkt" "keymap.ss" (only-in "cycle.ss" set-text%!) "wordbreak.ss" diff --git a/collects/mred/private/wxme/undo.rkt b/collects/mred/private/wxme/undo.rkt index 053b3f82fe..562d7a1ace 100644 --- a/collects/mred/private/wxme/undo.rkt +++ b/collects/mred/private/wxme/undo.rkt @@ -1,8 +1,8 @@ #lang scheme/base (require scheme/class "private.ss" - "snip.ss" - "snip-flags.ss") + racket/snip + racket/snip/snip-flags) (provide change-record% proc-record% diff --git a/collects/mred/private/wxtextfield.rkt b/collects/mred/private/wxtextfield.rkt index a8e0c10660..893ee6f7bc 100644 --- a/collects/mred/private/wxtextfield.rkt +++ b/collects/mred/private/wxtextfield.rkt @@ -3,7 +3,7 @@ mzlib/class100 (prefix-in wx: "kernel.ss") (prefix-in wx: "wxme/text.ss") - (prefix-in wx: "wxme/snip.ss") + (prefix-in wx: racket/snip) (prefix-in wx: "wxme/editor-canvas.ss") "lock.ss" "const.ss" diff --git a/collects/mrlib/cache-image-snip.rkt b/collects/mrlib/cache-image-snip.rkt index 2dca534fcb..1f26d09620 100644 --- a/collects/mrlib/cache-image-snip.rkt +++ b/collects/mrlib/cache-image-snip.rkt @@ -1,6 +1,6 @@ (module cache-image-snip mzscheme (require racket/draw - mred/private/wxme/snip + racket/snip mzlib/class mzlib/string mzlib/contract diff --git a/collects/mrlib/image-core.rkt b/collects/mrlib/image-core.rkt index 5f8b5d3aa6..1d8fdfda7b 100644 --- a/collects/mrlib/image-core.rkt +++ b/collects/mrlib/image-core.rkt @@ -33,14 +33,12 @@ has been moved out). file/convertible racket/math racket/contract - "private/image-core-bitmap.ss" ;; safe - "image-core-wxme.ss" ;; safe - "private/image-core-snipclass.rkt" ;; safe - "private/regmk.rkt" ;; safe - ;; the hard cases - mred/private/wxme/snip - (prefix-in cis: "cache-image-snip.ss") ;; safe - ) + "private/image-core-bitmap.ss" + "image-core-wxme.ss" + "private/image-core-snipclass.rkt" + "private/regmk.rkt" + racket/snip + (prefix-in cis: "cache-image-snip.ss")) diff --git a/collects/racket/snip.rkt b/collects/racket/snip.rkt new file mode 100644 index 0000000000..b863bfaf9c --- /dev/null +++ b/collects/racket/snip.rkt @@ -0,0 +1,3 @@ +#lang racket/base +(require "snip/snip.rkt" "snip/snip-admin.rkt") +(provide (all-from-out "snip/snip.rkt" "snip/snip-admin.rkt")) \ No newline at end of file diff --git a/collects/racket/snip/snip-admin.rkt b/collects/racket/snip/snip-admin.rkt new file mode 100644 index 0000000000..bca65c8e72 --- /dev/null +++ b/collects/racket/snip/snip-admin.rkt @@ -0,0 +1,62 @@ +#lang scheme/base +(require scheme/class + mred/private/syntax + "snip.ss") + +(provide snip-admin%) + +;; for contract only +(define fake-popup-menu% object%) + +(defclass snip-admin% object% + (super-new) + + (def/public (get-editor) #f) + (def/public (get-dc) #f) + (def/public (get-view-size [maybe-box? w] [maybe-box? h]) + #f) + + (def/public (get-view [maybe-box? x] [maybe-box? y] [maybe-box? w] [maybe-box? h] + [(make-or-false snip%) [snip #f]]) + #f) + + (def/public (scroll-to [snip% s] + [real? x] [real? y] + [nonnegative-real? w] [nonnegative-real? h] + [any? refresh?] + [(symbol-in start end none) [bias 'none]]) + #f) + + (def/public (set-caret-owner [snip% s] [(symbol-in imeditorte display global) dist]) + (void)) + + (def/public (resized [snip% s] [any? redraw?]) (void)) + + (def/public (recounted [snip% s] [any? redraw?]) (void)) + + (def/public (needs-update [snip% s] [real? x] [real? y] + [nonnegative-real? w] [nonnegative-real? h]) + (void)) + + (def/public (release-snip [snip% s]) #f) + + (def/public (update-cursor) (void)) + + (def/public (popup-menu [fake-popup-menu% p][snip% snip][real? x][real? y]) + #f) + + (def/public (modified [snip% s] [any? modified?]) + (void)) + + (def/public (get-line-spacing) + 0.0) + + (def/public (get-selected-text-color) + #f) + + (def/public (call-with-busy-cursor [procedure? thunk]) + (void)) + + (def/public (get-tabs [maybe-box? [length #f]] [maybe-box? [tab-width #f]] [maybe-box? [in-units #f]]) + #f)) + diff --git a/collects/mred/private/wxme/snip-flags.rkt b/collects/racket/snip/snip-flags.rkt similarity index 100% rename from collects/mred/private/wxme/snip-flags.rkt rename to collects/racket/snip/snip-flags.rkt diff --git a/collects/mred/private/wxme/snip.rkt b/collects/racket/snip/snip.rkt similarity index 99% rename from collects/mred/private/wxme/snip.rkt rename to collects/racket/snip/snip.rkt index 7261419dcc..43dae3a96b 100644 --- a/collects/mred/private/wxme/snip.rkt +++ b/collects/racket/snip/snip.rkt @@ -1,15 +1,12 @@ #lang scheme/base (require scheme/class scheme/file file/convertible - "../syntax.ss" "snip-flags.ss" - "private.ss" - "style.ss" - "load-one.rkt" - ;; used only in contracts - ;(only-in "cycle.ss" editor-stream-in% editor-stream-out% snip-admin%) - ;; used for real - "../wx/common/event.rkt" + mred/private/syntax + mred/private/wxme/private + mred/private/wxme/style + mred/private/wxme/load-one + mred/private/wx/common/event racket/draw) (provide snip% @@ -51,8 +48,6 @@ caret-status? - ;selected-text-color - image-type?) ;; these are used only in contracts