remove unsupported MDI styles and method
Closes PR 12042
This commit is contained in:
parent
1bc8978ce8
commit
71621bfd72
|
@ -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%
|
||||
|
|
|
@ -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?]{
|
||||
|
||||
|
|
|
@ -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
|
||||
-----------------
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user