diff --git a/collects/mred/private/mrtop.rkt b/collects/mred/private/mrtop.rkt index 662e53194c..4fb5a7f78b 100644 --- a/collects/mred/private/mrtop.rkt +++ b/collects/mred/private/mrtop.rkt @@ -162,14 +162,8 @@ (check-init-pos-integer cwho x) (check-init-pos-integer cwho y) (check-style cwho #f '(no-resize-border no-caption no-system-menu - mdi-parent mdi-child toolbar-button hide-menu-bar float metal) - style) - (when (memq 'mdi-child style) - (when (memq 'mdi-parent style) - (raise-type-error (who->name cwho) - "style list, 'mdi-child and 'mdi-parent are mutually exclusive" - style))))) + style))) (rename [super-on-subwindow-char on-subwindow-char]) (private-field [wx #f] @@ -186,7 +180,6 @@ (lambda (e) (check-instance '(method frame% on-menu-char) wx:key-event% 'key-event% #f e) (send wx handle-menu-key e)))] - [on-mdi-activate (lambda (on?) (void))] [on-toolbar-button-click (lambda () (void))] [create-status-line (entry-point (lambda () (unless status-line? (do-create-status-line) (set! status-line? #t))))] [set-status-text (lambda (s) (do-set-status-text s))] @@ -217,16 +210,12 @@ (or x -11111) (or y -11111) (or width -1) (or height -1) style) - (memq 'mdi-parent style))) - (send wx set-mdi-parent (memq 'mdi-parent style)) + #f)) + (send wx set-mdi-parent #f) wx) (lambda () (let ([cwho '(constructor frame)]) - (check-container-ready cwho parent) - (when (memq 'mdi-child style) - (let ([pwx (and parent (mred->wx parent))]) - (unless (and pwx (send pwx get-mdi-parent)) - (raise-mismatch-error (who->name cwho) "parent for 'mdi-child frame is not an 'mdi-parent frame: " parent)))))) + (check-container-ready cwho parent))) label parent)))))) (define dialog% diff --git a/collects/scribblings/gui/frame-class.scrbl b/collects/scribblings/gui/frame-class.scrbl index b7f14107f7..ce2eaec33d 100644 --- a/collects/scribblings/gui/frame-class.scrbl +++ b/collects/scribblings/gui/frame-class.scrbl @@ -7,9 +7,6 @@ A frame is a top-level container window. It has a title bar (which displays the frame's label), an optional menu bar, and an optional status line. -On Windows, both Multiple Document Interface (MDI) and Single - Document Interface (SDI) frames are supported. - @defconstructor[([label label-string?] [parent (or/c (is-a?/c frame%) false/c) #f] [width (or/c (integer-in 0 10000) false/c) #f] @@ -18,7 +15,6 @@ On Windows, both Multiple Document Interface (MDI) and Single [y (or/c (integer-in -10000 10000) false/c) #f] [style (listof (one-of/c 'no-resize-border 'no-caption 'no-system-menu 'hide-menu-bar - 'mdi-parent 'mdi-child 'toolbar-button 'float 'metal)) null] [enabled any/c #t] [border (integer-in 0 1000) 0] @@ -37,9 +33,8 @@ set-label]), the title bar is updated. The @racket[parent] argument can be @racket[#f] or an existing frame. On Windows, if @racket[parent] is an existing frame, -the new frame is always on top of its parent. Also, the -@racket[parent] frame may be an MDI parent frame from a new MDI -child frame. On Windows and Unix (for many window managers), a +the new frame is always on top of its parent. +On Windows and Unix (for many window managers), a frame is iconized when its parent is iconized. If @racket[parent] is @racket[#f], then the eventspace for the @@ -72,14 +67,6 @@ some platforms: @item{@racket['no-system-menu] --- omits the system menu (Windows)} - @item{@racket['mdi-child] --- creates the frame as a MDI - (multiple document interface) child frame, mutually exclusive with - @racket['mdi-parent] (Windows)} - - @item{@racket['mdi-parent] --- creates the frame as a MDI - (multiple document interface) parent frame, mutually exclusive with - @racket['mdi-child] (Windows)} - @item{@racket['toolbar-button] --- includes a toolbar button on the frame's title bar (Mac OS X); a click on the toolbar button triggers a call to @method[frame% on-toolbar-button-click]} @@ -99,9 +86,6 @@ some platforms: ] -If the @racket['mdi-child] style is specified, the @racket[parent] must be - a frame with the @racket['mdi-parent] style, otherwise @|MismatchExn|. - Even if the frame is not shown, a few notification events may be queued for the frame on creation. Consequently, the new frame's resources (e.g., memory) cannot be reclaimed until some events are @@ -199,22 +183,6 @@ Gets or sets the frame's modification state as reflected to the user. } -@defmethod[(on-mdi-activate [active? any/c]) - void?]{ - -Called on Windows when a MDI-child frame becomes the active frame - within its parent (in which case the argument is @racket[#t]), or when - the child frame ceases to be the active frame (in which case the - argument is @racket[#f]). - - -MDI activation is different from keyboard-focus activation. If the - parent frame is the frontmost top-level frame, so that the MDI child - gets or loses the keyboard focus, then a separate -@method[top-level-window<%> on-activate] notification is sent to the MDI-child frame. - -} - @defmethod[(on-menu-char [event (is-a?/c key-event%)]) boolean?]{ diff --git a/doc/release-notes/racket/Draw_and_GUI_5_1.txt b/doc/release-notes/racket/Draw_and_GUI_5_1.txt index 1c8aef3cf8..0621180eda 100644 --- a/doc/release-notes/racket/Draw_and_GUI_5_1.txt +++ b/doc/release-notes/racket/Draw_and_GUI_5_1.txt @@ -18,8 +18,8 @@ API: The GRacket executable still offers some additional GUI-specific functionality however. Most notably, GRacket is a GUI application - under Windows (as opposed to a console application, which is - launched slightly differently by the OS), GRacket is a bundle under + on Windows (as opposed to a console application, which is + launched slightly differently by the OS), GRacket is a bundle on Mac OS X (so the dock icon is the Racket logo, for example), and GRacket manages single-instance mode for Windows and X. @@ -167,6 +167,11 @@ are somewhat more restricted in the actions they can take without disabling the control's handling of key and mouse events. See the documentation for more information. +The 'mdi-child and 'mdi-parent styles for `frame%' on Windows are no +longer supported, and the `on-mdi-activate' method has been +removed. (The styles and method actually lingered in `racket/gui' +until version 5.1.2.3, but they did not work.) + Registry Functions ----------------- diff --git a/doc/release-notes/racket/HISTORY.txt b/doc/release-notes/racket/HISTORY.txt index 4548813389..d65447f4f4 100644 --- a/doc/release-notes/racket/HISTORY.txt +++ b/doc/release-notes/racket/HISTORY.txt @@ -1,6 +1,7 @@ Version 5.1.2.3 Added set-port-next-location! and changed the default prompt read handler to use it when input and output ar terminals +racket/gui: removed unsupported MDI styles and method Version 5.1.2.2 Changed the location-creation semantics of internal definitions