#include </home/zeitlin/src/wx/github/interface/wx/toplevel.h>
wxTopLevelWindow is a common base class for wxDialog and wxFrame.
It is an abstract base class meaning that you never work with objects of this class directly, but all of its methods are also applicable for the two classes above.
Note that the instances of wxTopLevelWindow are managed by wxWidgets in the internal top level window list.
Event macros for events emitted by this class:
wxEVT_MAXIMIZE
event. See wxMaximizeEvent. wxEVT_MOVE
event, which is generated when a window is moved. See wxMoveEvent. wxEVT_MOVE_START
event, which is generated when the user starts to move or size a window. wxMSW only. See wxMoveEvent. wxEVT_MOVE_END
event, which is generated when the user stops moving or sizing a window. wxMSW only. See wxMoveEvent. wxEVT_SHOW
event. See wxShowEvent. Public Member Functions | |
wxTopLevelWindow () | |
Default ctor. | |
wxTopLevelWindow (wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE, const wxString &name=wxFrameNameStr) | |
Constructor creating the top level window. | |
virtual | ~wxTopLevelWindow () |
Destructor. | |
bool | Create (wxWindow *parent, wxWindowID id, const wxString &title, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxDEFAULT_FRAME_STYLE, const wxString &name=wxFrameNameStr) |
Creates the top level window. | |
virtual bool | CanSetTransparent () |
Returns true if the platform supports making the window translucent. | |
void | CenterOnScreen (int direction) |
A synonym for CentreOnScreen(). | |
void | CentreOnScreen (int direction=wxBOTH) |
Centres the window on screen. | |
virtual bool | EnableCloseButton (bool enable=true) |
Enables or disables the Close button (most often in the right upper corner of a dialog) and the Close entry of the system menu (most often in the left upper corner of the dialog). | |
wxWindow * | GetDefaultItem () const |
Returns a pointer to the button which is the default for this window, or NULL. | |
wxIcon | GetIcon () const |
Returns the standard icon of the window. | |
const wxIconBundle & | GetIcons () const |
Returns all icons associated with the window, there will be none of them if neither SetIcon() nor SetIcons() had been called before. | |
virtual wxString | GetTitle () const |
Gets a string containing the window title. | |
virtual bool | HandleSettingChange (WXWPARAM wParam, WXLPARAM lParam) |
Unique to the wxWinCE port. | |
virtual void | Iconize (bool iconize=true) |
Iconizes or restores the window. | |
virtual bool | IsActive () |
Returns true if this window is currently active, i.e. | |
virtual bool | IsAlwaysMaximized () const |
Returns true if this window is expected to be always maximized, either due to platform policy or due to local policy regarding particular class. | |
virtual bool | IsFullScreen () const |
Returns true if the window is in fullscreen mode. | |
virtual bool | IsIconized () const |
Returns true if the window is iconized. | |
virtual bool | IsMaximized () const |
Returns true if the window is maximized. | |
bool | IsUsingNativeDecorations () const |
This method is specific to wxUniversal port. | |
virtual bool | Layout () |
See wxWindow::SetAutoLayout(): when auto layout is on, this function gets called automatically when the window is resized. | |
virtual void | Maximize (bool maximize=true) |
Maximizes or restores the window. | |
wxMenu * | MSWGetSystemMenu () const |
MSW-specific function for accessing the system menu. | |
virtual void | RequestUserAttention (int flags=wxUSER_ATTENTION_INFO) |
Use a system-dependent way to attract users attention to the window when it is in background. | |
wxWindow * | SetDefaultItem (wxWindow *win) |
Changes the default item for the panel, usually win is a button. | |
wxWindow * | SetTmpDefaultItem (wxWindow *win) |
wxWindow * | GetTmpDefaultItem () const |
void | SetIcon (const wxIcon &icon) |
Sets the icon for this window. | |
virtual void | SetIcons (const wxIconBundle &icons) |
Sets several icons of different sizes for this window: this allows to use different icons for different situations (e.g. | |
void | SetLeftMenu (int id=wxID_ANY, const wxString &label=wxEmptyString, wxMenu *subMenu=NULL) |
Sets action or menu activated by pressing left hardware button on the smart phones. | |
virtual void | SetMaxSize (const wxSize &size) |
A simpler interface for setting the size hints than SetSizeHints(). | |
virtual void | SetMinSize (const wxSize &size) |
A simpler interface for setting the size hints than SetSizeHints(). | |
void | SetRightMenu (int id=wxID_ANY, const wxString &label=wxEmptyString, wxMenu *subMenu=NULL) |
Sets action or menu activated by pressing right hardware button on the smart phones. | |
virtual void | SetSizeHints (int minW, int minH, int maxW=-1, int maxH=-1, int incW=-1, int incH=-1) |
Allows specification of minimum and maximum window sizes, and window size increments. | |
void | SetSizeHints (const wxSize &minSize, const wxSize &maxSize=wxDefaultSize, const wxSize &incSize=wxDefaultSize) |
Allows specification of minimum and maximum window sizes, and window size increments. | |
virtual void | SetTitle (const wxString &title) |
Sets the window title. | |
virtual bool | SetTransparent (wxByte alpha) |
If the platform supports it will set the window to be translucent. | |
virtual bool | ShouldPreventAppExit () const |
This virtual function is not meant to be called directly but can be overridden to return false (it returns true by default) to allow the application to close even if this, presumably not very important, window is still opened. | |
virtual void | OSXSetModified (bool modified) |
This function sets the wxTopLevelWindow's modified state on OS X, which currently draws a black dot in the wxTopLevelWindow's close button. | |
virtual bool | OSXIsModified () const |
Returns the current modified state of the wxTopLevelWindow on OS X. | |
virtual void | SetRepresentedFilename (const wxString &filename) |
Sets the file name represented by this wxTopLevelWindow. | |
virtual bool | ShowFullScreen (bool show, long style=wxFULLSCREEN_ALL) |
Depending on the value of show parameter the window is either shown full screen or restored to its normal state. | |
void | UseNativeDecorations (bool native=true) |
This method is specific to wxUniversal port. | |
void | UseNativeDecorationsByDefault (bool native=true) |
This method is specific to wxUniversal port. | |
Static Public Member Functions | |
static wxSize | GetDefaultSize () |
Get the default size for a new top level window. |
wxTopLevelWindow::wxTopLevelWindow | ( | ) |
Default ctor.
wxTopLevelWindow::wxTopLevelWindow | ( | wxWindow * | parent, |
wxWindowID | id, | ||
const wxString & | title, | ||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
long | style = wxDEFAULT_FRAME_STYLE , |
||
const wxString & | name = wxFrameNameStr |
||
) |
Constructor creating the top level window.
virtual wxTopLevelWindow::~wxTopLevelWindow | ( | ) | [virtual] |
Destructor.
Remember that wxTopLevelWindows do not get immediately destroyed when the user (or the app) closes them; they have a delayed destruction.
See Window Deletion for more info.
virtual bool wxTopLevelWindow::CanSetTransparent | ( | ) | [virtual] |
Returns true if the platform supports making the window translucent.
Reimplemented from wxWindow.
void wxTopLevelWindow::CenterOnScreen | ( | int | direction | ) |
A synonym for CentreOnScreen().
void wxTopLevelWindow::CentreOnScreen | ( | int | direction = wxBOTH | ) |
Centres the window on screen.
direction | Specifies the direction for the centering. May be wxHORIZONTAL , wxVERTICAL or wxBOTH . |
bool wxTopLevelWindow::Create | ( | wxWindow * | parent, |
wxWindowID | id, | ||
const wxString & | title, | ||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
long | style = wxDEFAULT_FRAME_STYLE , |
||
const wxString & | name = wxFrameNameStr |
||
) |
Creates the top level window.
Reimplemented in wxDialog, wxFrame, wxMDIParentFrame, wxMiniFrame, and wxPropertySheetDialog.
virtual bool wxTopLevelWindow::EnableCloseButton | ( | bool | enable = true | ) | [virtual] |
Enables or disables the Close button (most often in the right upper corner of a dialog) and the Close entry of the system menu (most often in the left upper corner of the dialog).
Currently only implemented for wxMSW and wxGTK.
Returns true if operation was successful. This may be wrong on X11 (including GTK+) where the window manager may not support this operation and there is no way to find out.
wxWindow* wxTopLevelWindow::GetDefaultItem | ( | ) | const |
Returns a pointer to the button which is the default for this window, or NULL.
The default button is the one activated by pressing the Enter key.
static wxSize wxTopLevelWindow::GetDefaultSize | ( | ) | [static] |
Get the default size for a new top level window.
This is used internally by wxWidgets on some platforms to determine the default size for a window created using wxDefaultSize so it is not necessary to use it when creating a wxTopLevelWindow, however it may be useful if a rough estimation of the window size is needed for some other reason.
wxIcon wxTopLevelWindow::GetIcon | ( | ) | const |
Returns the standard icon of the window.
The icon will be invalid if it hadn't been previously set by SetIcon().
const wxIconBundle& wxTopLevelWindow::GetIcons | ( | ) | const |
Returns all icons associated with the window, there will be none of them if neither SetIcon() nor SetIcons() had been called before.
Use GetIcon() to get the main icon of the window.
virtual wxString wxTopLevelWindow::GetTitle | ( | ) | const [virtual] |
Gets a string containing the window title.
wxWindow* wxTopLevelWindow::GetTmpDefaultItem | ( | ) | const |
virtual bool wxTopLevelWindow::HandleSettingChange | ( | WXWPARAM | wParam, |
WXLPARAM | lParam | ||
) | [virtual] |
Unique to the wxWinCE port.
Responds to showing/hiding SIP (soft input panel) area and resize window accordingly. Override this if you want to avoid resizing or do additional operations.
virtual void wxTopLevelWindow::Iconize | ( | bool | iconize = true | ) | [virtual] |
Iconizes or restores the window.
iconize | If true, iconizes the window; if false, shows and restores it. |
Reimplemented in wxDialog.
virtual bool wxTopLevelWindow::IsActive | ( | ) | [virtual] |
Returns true if this window is currently active, i.e.
if the user is currently working with it.
virtual bool wxTopLevelWindow::IsAlwaysMaximized | ( | ) | const [virtual] |
Returns true if this window is expected to be always maximized, either due to platform policy or due to local policy regarding particular class.
Reimplemented in wxMDIChildFrame.
virtual bool wxTopLevelWindow::IsFullScreen | ( | ) | const [virtual] |
Returns true if the window is in fullscreen mode.
virtual bool wxTopLevelWindow::IsIconized | ( | ) | const [virtual] |
Returns true if the window is iconized.
Reimplemented in wxDialog.
virtual bool wxTopLevelWindow::IsMaximized | ( | ) | const [virtual] |
Returns true if the window is maximized.
bool wxTopLevelWindow::IsUsingNativeDecorations | ( | ) | const |
This method is specific to wxUniversal port.
Returns true if this window is using native decorations, false if we draw them ourselves.
virtual bool wxTopLevelWindow::Layout | ( | ) | [virtual] |
See wxWindow::SetAutoLayout(): when auto layout is on, this function gets called automatically when the window is resized.
Reimplemented from wxWindow.
virtual void wxTopLevelWindow::Maximize | ( | bool | maximize = true | ) | [virtual] |
Maximizes or restores the window.
maximize | If true, maximizes the window, otherwise it restores it. |
Reimplemented in wxMDIChildFrame.
wxMenu* wxTopLevelWindow::MSWGetSystemMenu | ( | ) | const |
MSW-specific function for accessing the system menu.
Returns a wxMenu pointer representing the system menu of the window under MSW. The returned wxMenu may be used, if non-NULL
, to add extra items to the system menu. The usual wxEVT_COMMAND_MENU_SELECTED
events (that can be processed using EVT_MENU
event table macro) will then be generated for them. All the other wxMenu methods may be used as well but notice that they won't allow you to access any standard system menu items (e.g. they can't be deleted or modified in any way currently).
Notice that because of the native system limitations the identifiers of the items added to the system menu must be multiples of 16, otherwise no events will be generated for them.
The returned pointer must not be deleted, it is owned by the window and will be only deleted when the window itself is destroyed.
This function is not available in the other ports by design, any occurrences of it in the portable code must be guarded by
#ifdef __WXMSW__
preprocessor guards.
virtual bool wxTopLevelWindow::OSXIsModified | ( | ) | const [virtual] |
Returns the current modified state of the wxTopLevelWindow on OS X.
On other platforms, this method does nothing.
virtual void wxTopLevelWindow::OSXSetModified | ( | bool | modified | ) | [virtual] |
This function sets the wxTopLevelWindow's modified state on OS X, which currently draws a black dot in the wxTopLevelWindow's close button.
On other platforms, this method does nothing.
virtual void wxTopLevelWindow::RequestUserAttention | ( | int | flags = wxUSER_ATTENTION_INFO | ) | [virtual] |
Use a system-dependent way to attract users attention to the window when it is in background.
flags may have the value of either wxUSER_ATTENTION_INFO
(default) or wxUSER_ATTENTION_ERROR
which results in a more drastic action. When in doubt, use the default value.
This function is currently implemented for Win32 where it flashes the window icon in the taskbar, and for wxGTK with task bars supporting it.
Changes the default item for the panel, usually win is a button.
void wxTopLevelWindow::SetIcon | ( | const wxIcon & | icon | ) |
Sets the icon for this window.
icon | The wxIcon to associate with this window. |
Reimplemented in wxDialog.
virtual void wxTopLevelWindow::SetIcons | ( | const wxIconBundle & | icons | ) | [virtual] |
Sets several icons of different sizes for this window: this allows to use different icons for different situations (e.g.
task switching bar, taskbar, window title bar) instead of scaling, with possibly bad looking results, the only icon set by SetIcon().
icons | The icons to associate with this window. |
Reimplemented in wxDialog.
void wxTopLevelWindow::SetLeftMenu | ( | int | id = wxID_ANY , |
const wxString & | label = wxEmptyString , |
||
wxMenu * | subMenu = NULL |
||
) |
Sets action or menu activated by pressing left hardware button on the smart phones.
Unavailable on full keyboard machines.
id | Identifier for this button. |
label | Text to be displayed on the screen area dedicated to this hardware button. |
subMenu | The menu to be opened after pressing this hardware button. |
virtual void wxTopLevelWindow::SetMaxSize | ( | const wxSize & | size | ) | [virtual] |
A simpler interface for setting the size hints than SetSizeHints().
Reimplemented from wxWindow.
virtual void wxTopLevelWindow::SetMinSize | ( | const wxSize & | size | ) | [virtual] |
A simpler interface for setting the size hints than SetSizeHints().
Reimplemented from wxWindow.
virtual void wxTopLevelWindow::SetRepresentedFilename | ( | const wxString & | filename | ) | [virtual] |
Sets the file name represented by this wxTopLevelWindow.
Under OS X, this file name is used to set the "proxy icon", which appears in the window title bar near its title, corresponding to this file name. Under other platforms it currently doesn't do anything but it is harmless to call it now and it might be implemented to do something useful in the future so you're encouraged to use it for any window representing a file-based document.
void wxTopLevelWindow::SetRightMenu | ( | int | id = wxID_ANY , |
const wxString & | label = wxEmptyString , |
||
wxMenu * | subMenu = NULL |
||
) |
Sets action or menu activated by pressing right hardware button on the smart phones.
Unavailable on full keyboard machines.
id | Identifier for this button. |
label | Text to be displayed on the screen area dedicated to this hardware button. |
subMenu | The menu to be opened after pressing this hardware button. |
virtual void wxTopLevelWindow::SetSizeHints | ( | int | minW, |
int | minH, | ||
int | maxW = -1 , |
||
int | maxH = -1 , |
||
int | incW = -1 , |
||
int | incH = -1 |
||
) | [virtual] |
Allows specification of minimum and maximum window sizes, and window size increments.
If a pair of values is not set (or set to -1), no constraints will be used.
minW | The minimum width. |
minH | The minimum height. |
maxW | The maximum width. |
maxH | The maximum height. |
incW | Specifies the increment for sizing the width (GTK/Motif/Xt only). |
incH | Specifies the increment for sizing the height (GTK/Motif/Xt only). |
Reimplemented from wxWindow.
void wxTopLevelWindow::SetSizeHints | ( | const wxSize & | minSize, |
const wxSize & | maxSize = wxDefaultSize , |
||
const wxSize & | incSize = wxDefaultSize |
||
) | [virtual] |
Allows specification of minimum and maximum window sizes, and window size increments.
If a pair of values is not set (or set to -1), no constraints will be used.
minSize | The minimum size of the window. |
maxSize | The maximum size of the window. |
incSize | Increment size (only taken into account under X11-based ports such as wxGTK/wxMotif/wxX11). |
Reimplemented from wxWindow.
virtual void wxTopLevelWindow::SetTitle | ( | const wxString & | title | ) | [virtual] |
virtual bool wxTopLevelWindow::SetTransparent | ( | wxByte | alpha | ) | [virtual] |
If the platform supports it will set the window to be translucent.
alpha | Determines how opaque or transparent the window will be, if the platform supports the operation. A value of 0 sets the window to be fully transparent, and a value of 255 sets the window to be fully opaque. |
Reimplemented from wxWindow.
virtual bool wxTopLevelWindow::ShouldPreventAppExit | ( | ) | const [virtual] |
This virtual function is not meant to be called directly but can be overridden to return false (it returns true by default) to allow the application to close even if this, presumably not very important, window is still opened.
By default, the application stays alive as long as there are any open top level windows.
virtual bool wxTopLevelWindow::ShowFullScreen | ( | bool | show, |
long | style = wxFULLSCREEN_ALL |
||
) | [virtual] |
Depending on the value of show parameter the window is either shown full screen or restored to its normal state.
style is a bit list containing some or all of the following values, which indicate what elements of the window to hide in full-screen mode:
wxFULLSCREEN_NOMENUBAR
wxFULLSCREEN_NOTOOLBAR
wxFULLSCREEN_NOSTATUSBAR
wxFULLSCREEN_NOBORDER
wxFULLSCREEN_NOCAPTION
wxFULLSCREEN_ALL
(all of the above)This function has not been tested with MDI frames.
void wxTopLevelWindow::UseNativeDecorations | ( | bool | native = true | ) |
This method is specific to wxUniversal port.
Use native or custom-drawn decorations for this window only. Notice that to have any effect this method must be called before really creating the window, i.e. two step creation must be used:
MyFrame *frame = new MyFrame; // use default ctor frame->UseNativeDecorations(false); // change from default "true" frame->Create(parent, title, ...); // really create the frame
void wxTopLevelWindow::UseNativeDecorationsByDefault | ( | bool | native = true | ) |
This method is specific to wxUniversal port.
Top level windows in wxUniversal port can use either system-provided window decorations (i.e. title bar and various icons, buttons and menus in it) or draw the decorations themselves. By default the system decorations are used if they are available, but this method can be called with native set to false to change this for all windows created after this point.
Also note that if WXDECOR
environment variable is set, then custom decorations are used by default and so it may make sense to call this method with default argument if the application can't use custom decorations at all for some reason.