wxTopLevelWindow Class Reference
[Managed Windows]

#include <wx/toplevel.h>

Inheritance diagram for wxTopLevelWindow:
Inheritance graph
[legend]

Detailed Description

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.

Events emitted by this class

Event macros for events emitted by this class:

Library:  wxCore
Category:  Managed Windows
See also:
wxDialog, wxFrame

Public Member Functions

 wxTopLevelWindow ()
 Default ctor.
 wxTopLevelWindow (wxWindow *parent, wxWindowID winid, 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).
wxWindowGetDefaultItem () 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 wxIconBundleGetIcons () 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.
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.
wxWindowSetDefaultItem (wxWindow *win)
 Changes the default item for the panel, usually win is a button.
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 bool SetShape (const wxRegion &region)
 If the platform supports it, sets the shape of the window to that depicted by region.
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 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.

List of all members.


Constructor & Destructor Documentation

wxTopLevelWindow::wxTopLevelWindow (  ) 

Default ctor.

wxTopLevelWindow::wxTopLevelWindow ( wxWindow parent,
wxWindowID  winid,
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.


Member Function Documentation

virtual bool wxTopLevelWindow::CanSetTransparent (  )  [virtual]

Returns true if the platform supports making the window translucent.

See also:
SetTransparent()

Reimplemented from wxWindow.

void wxTopLevelWindow::CenterOnScreen ( int  direction  ) 

A synonym for CentreOnScreen().

void wxTopLevelWindow::CentreOnScreen ( int  direction = wxBOTH  ) 

Centres the window on screen.

Parameters:
direction Specifies the direction for the centering. May be wxHORIZONTAL, wxVERTICAL or wxBOTH.
See also:
wxWindow::CentreOnParent()
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.

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().

See also:
GetIcons()
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.

See also:
wxIconBundle
virtual wxString wxTopLevelWindow::GetTitle (  )  const [virtual]

Gets a string containing the window title.

See also:
SetTitle()
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.

Parameters:
iconize If true, iconizes the window; if false, shows and restores it.
See also:
IsIconized(), Maximize(), wxIconizeEvent.

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.

See also:
ShowFullScreen()
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.

See also:
UseNativeDecorations(), UseNativeDecorationsByDefault()
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.

Parameters:
maximize If true, maximizes the window, otherwise it restores it.
See also:
Iconize()

Reimplemented in wxMDIChildFrame.

virtual bool wxTopLevelWindow::OSXIsModified (  )  const [virtual]

Returns the current modified state of the wxTopLevelWindow on OS X.

On other platforms, this method does nothing.

See also:
OSXSetModified()
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.

See also:
OSXIsModified()
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.

Note:
This function should normally be only used when the application is not already in foreground.

This function is currently implemented for Win32 where it flashes the window icon in the taskbar, and for wxGTK with task bars supporting it.

wxWindow* wxTopLevelWindow::SetDefaultItem ( wxWindow win  ) 

Changes the default item for the panel, usually win is a button.

See also:
GetDefaultItem()
void wxTopLevelWindow::SetIcon ( const wxIcon icon  ) 

Sets the icon for this window.

Parameters:
icon The wxIcon to associate with this window.
Remarks:
The window takes a 'copy' of icon, but since it uses reference counting, the copy is very quick. It is safe to delete icon after calling this function.
Note:
In wxMSW, icon must be either 16x16 or 32x32 icon.
See also:
wxIcon, SetIcons()

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().

Parameters:
icons The icons to associate with this window.
Note:
In wxMSW, icons must contain a 16x16 or 32x32 icon, preferably both.
See also:
wxIconBundle

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.

Parameters:
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.
See also:
SetRightMenu().
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.

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.

Parameters:
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.
See also:
SetLeftMenu().
virtual bool wxTopLevelWindow::SetShape ( const wxRegion region  )  [virtual]

If the platform supports it, sets the shape of the window to that depicted by region.

The system will not display or respond to any mouse event for the pixels that lie outside of the region. To reset the window to the normal rectangular shape simply call SetShape() again with an empty wxRegion. Returns true if the operation is successful.

void wxTopLevelWindow::SetSizeHints ( const wxSize minSize,
const wxSize maxSize = wxDefaultSize,
const wxSize incSize = wxDefaultSize 
)

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.

Parameters:
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).
Remarks:
Notice that this function not only prevents the user from resizing the window outside the given bounds but it also prevents the program itself from doing it using wxWindow::SetSize().

Reimplemented from wxWindow.

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.

Parameters:
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).
Remarks:
Notice that this function not only prevents the user from resizing the window outside the given bounds but it also prevents the program itself from doing it using wxWindow::SetSize().
virtual void wxTopLevelWindow::SetTitle ( const wxString title  )  [virtual]

Sets the window title.

Parameters:
title The window title.
See also:
GetTitle()
virtual bool wxTopLevelWindow::SetTransparent ( wxByte  alpha  )  [virtual]

If the platform supports it will set the window to be translucent.

Parameters:
alpha Determines how opaque or transparent the window will be, if the platform supports the opreration. 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:

This function has not been tested with MDI frames.

Note:
Showing a window full screen also actually Show()s the window if it isn't shown.
See also:
IsFullScreen()
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
See also:
UseNativeDecorationsByDefault(), IsUsingNativeDecorations()
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.

See also:
UseNativeDecorations()
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



wxWidgets logo

[ top ]