class Window(Frame)
A Window is a top-level component. In order to be visible on the screen,
a component must be directly or indirectly contained in a window.
A newly-created window is initially hidden so that components can
be added to it without unsightly flashing. Once constructed it should be
shown using the show method.
The initial position of a window is determined in a platform-dependent
way, and may not correspond to the initial values of its x and
y properties. For example, standard-style windows might be staggered
and dialog-style windows might be centred on the screen. However, once the
window has been shown for the first time, the x and y properties
will reflect its actual screen position, and changing them will move the
window to the corresponding position.
A window can be given a list of window-specific menus that are to be available
(along with the application-wide menus) only when that window is active.
The manner in which these menus are presented is platform-dependent.
A window can be associated with a document. When this is done, the behaviour
of the window changes in the following ways:
The window's title will (by default) be derived automatically from the document's
title.
- The document becomes the window's next handler for keyboard
events and menu commands.
- An attempt by the user to close the window is taken as a request to
close the associated document, which may trigger a dialog asking whether
to save changes.
- Closing the document causes all its associated windows to be destroyed.
Constructor
- Window(style = 'standard',
- movable = default, closable
= default, hidable = default,
- resizable = default, zoomable
= default)
- The style parameter determines the appearance of the window,
according to platform conventions. It is one of:
-
- 'standard'
- 'nonmodal_dialog'
- 'modal_dialog'
- 'alert'
- Not all of these styles are necessarily distinguishable on all platforms.
- Note that the style only affects the appearance of the
window, not its behaviour. For example, specifying the 'modal_dialog'
style does not in itself cause the window to behave modally. For windows
with specialized behaviour, see the Dialog
and ModalDialog classes.
- The movable, closable, hidable, resizable and zoomable options request
the presence or absence of controls for performing these functions. The default
values of these options depend on the window style in a platform-dependent
way. Also, some of these controls may not be available on some styles of
window, in which case corresponding option will be ignored.
Properties
- title
- Title of the window. Whether and how the title is displayed depends
on the window style and platform conventions.
- document
- The Document instance to which this window belongs, if any.
- menus
- List of window-specific menus, i.e. those which should be available
only when this window is active.
- Do not modify the contents of this list. To change it, you
should construct a new list of menus and then assign the whole list to this
property.
Methods
- show()
- Makes the window visible on the screen (by setting the visible
property to true), and also brings it to the front.
- hide()
- Temporarily removes the window from the screen. Equivalent to setting
the visible property to false.
- bring_to_front()
- Moves the window to the front of the stacking order. [NOT YET IMPLEMENTED]
- send_to_back()
- Moves the window to the back of the stacking order. [NOT YET IMPLEMENTED]
- place_behind(window)
- Places the window just behind the given window in the stacking order.
[NOT YET IMPLEMENTED]
Abstract methods
- update_title()
- Called when the title of the document owning this window changes.
By default it changes the window title to match the document title.
- close_cmd()
- Called in response to the Close menu command, or by activation
of whatever gadget is used to close a window on the platform concerned.
If the window belongs to a document and the document does not own any other
windows, the document's close_cmd method is called. In any other
case, the destroy method of this window is called.
Destructor
- destroy()
- Permanently removes the window from the screen, dissociates it from
any document, and recursively destroys any sub-components. Neither the
window nor any of its sub-components should be used again.
- All windows and other components should be destroyed when they are
no longer needed, otherwise they may not be garbage collected properly and
may continue to tie up window system resources. This is taken care of by
the framework when the user closes a window or document. In other situations
you may need to call the destroy method yourself.