%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name:        tlw.tex
%% Purpose:     wxTopLevelWindow documentation
%% Author:      Vadim Zeitlin
%% Modified by:
%% Created:     2004-09-07 (partly extracted from frame.tex)
%% RCS-ID:      $Id: tlw.tex,v 1.9 2005/07/28 23:32:39 MR Exp $
%% Copyright:   (c) 2004 Vadim Zeitlin
%% License:     wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{\class{wxTopLevelWindow}}\label{wxtoplevelwindow}

wxTopLevelWindow is a common base class for \helpref{wxDialog}{wxdialog} and 
\helpref{wxFrame}{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.

\wxheading{Derived from}

\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/toplevel.h>


\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{wxTopLevelWindow::GetIcon}\label{wxtoplevelwindowgeticon}

\constfunc{const wxIcon\&}{GetIcon}{\void}

Returns the standard icon of the window. The icon will be invalid if it hadn't
been previously set by \helpref{SetIcon}{wxtoplevelwindowseticon}.

\wxheading{See also}

\helpref{GetIcons}{wxtoplevelwindowgeticons}


\membersection{wxTopLevelWindow::GetIcons}\label{wxtoplevelwindowgeticons}

\constfunc{const wxIconBundle\&}{GetIcons}{\void}

Returns all icons associated with the window, there will be none of them if
neither \helpref{SetIcon}{wxtoplevelwindowseticon} nor 
\helpref{SetIcons}{wxtoplevelwindowseticons} had been called before.

Use \helpref{GetIcon}{wxtoplevelwindowgeticon} to get the main icon of the
window.

\wxheading{See also}

\helpref{wxIconBundle}{wxiconbundle}


\membersection{wxTopLevelWindow::GetTitle}\label{wxtoplevelwindowgettitle}

\constfunc{wxString}{GetTitle}{\void}

Gets a string containing the window title.

See \helpref{wxTopLevelWindow::SetTitle}{wxtoplevelwindowsettitle}.


\membersection{wxTopLevelWindow::IsActive}\label{wxtoplevelwindowisactive}

\constfunc{bool}{IsActive}{\void}

Returns \true if this window is currently active, i.e. if the user is currently
working with it.


\membersection{wxTopLevelWindow::Iconize}\label{wxtoplevelwindowiconize}

\func{void}{Iconize}{\param{bool}{ iconize}}

Iconizes or restores the window.

\wxheading{Parameters}

\docparam{iconize}{If \true, iconizes the window; if \false, shows and restores it.}

\wxheading{See also}

\helpref{wxTopLevelWindow::IsIconized}{wxtoplevelwindowisiconized}, \helpref{wxTopLevelWindow::Maximize}{wxtoplevelwindowmaximize}.


\membersection{wxTopLevelWindow::IsFullScreen}\label{wxtoplevelwindowisfullscreen}

\func{bool}{IsFullScreen}{\void}

Returns \true if the window is in fullscreen mode.

\wxheading{See also}

\helpref{wxTopLevelWindow::ShowFullScreen}{wxtoplevelwindowshowfullscreen}


\membersection{wxTopLevelWindow::IsIconized}\label{wxtoplevelwindowisiconized}

\constfunc{bool}{IsIconized}{\void}

Returns \true if the window is iconized.


\membersection{wxTopLevelWindow::IsMaximized}\label{wxtoplevelwindowismaximized}

\constfunc{bool}{IsMaximized}{\void}

Returns \true if the window is maximized.


\membersection{wxTopLevelWindow::Maximize}\label{wxtoplevelwindowmaximize}

\func{void}{Maximize}{\param{bool }{maximize}}

Maximizes or restores the window.

\wxheading{Parameters}

\docparam{maximize}{If \true, maximizes the window, otherwise it restores it.}

\wxheading{Remarks}

This function only works under Windows.

\wxheading{See also}

\helpref{wxTopLevelWindow::Iconize}{wxtoplevelwindowiconize}


\membersection{wxTopLevelWindow::RequestUserAttention}\label{wxtoplevelwindowrequestuserattention}

\func{void}{RequestUserAttention}{\param{int }{flags = wxUSER\_ATTENTION\_INFO}}

Use a system-dependent way to attract users attention to the window when it is
in background.

\arg{flags} may have the value of either \texttt{wxUSER\_ATTENTION\_INFO}
(default) or \texttt{wxUSER\_ATTENTION\_ERROR} which results in a more drastic
action. When in doubt, use the default value.

Note that 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.


\membersection{wxTopLevelWindow::SetIcon}\label{wxtoplevelwindowseticon}

\func{void}{SetIcon}{\param{const wxIcon\& }{icon}}

Sets the icon for this window.

\wxheading{Parameters}

\docparam{icon}{The icon to associate with this window.}

\wxheading{Remarks}

The window takes a `copy' of {\it icon}, but since it uses reference
counting, the copy is very quick. It is safe to delete {\it icon} after
calling this function.

See also \helpref{wxIcon}{wxicon}.


\membersection{wxTopLevelWindow::SetIcons}\label{wxtoplevelwindowseticons}

\func{void}{SetIcons}{\param{const wxIconBundle\& }{icons}}

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 \helpref{SetIcon}{wxtoplevelwindowseticon}.

\wxheading{Parameters}

\docparam{icons}{The icons to associate with this window.}

\wxheading{See also}

\helpref{wxIconBundle}{wxiconbundle}.


\membersection{wxTopLevelWindow::SetLeftMenu}\label{wxtoplevelwindowsetleftmenu}

\func{void}{SetLeftMenu}{\param{int}{ id = wxID\_ANY}, \param{const wxString\&}{ label = wxEmptyString}, \param{wxMenu *}{ subMenu = NULL}}

Sets action or menu activated by pressing left hardware button on the smart phones.
Unavailable on full keyboard machines.

\wxheading{Parameters}

\docparam{id}{Identifier for this button.}

\docparam{label}{Text to be displayed on the screen area dedicated to this hardware button.}

\docparam{subMenu}{The menu to be opened after pressing this hardware button.}

\wxheading{See also}

\helpref{wxTopLevelWindow::SetRightMenu}{wxtoplevelwindowsetrightmenu}.


\membersection{wxTopLevelWindow::SetRightMenu}\label{wxtoplevelwindowsetrightmenu}

\func{void}{SetRightMenu}{\param{int}{ id = wxID\_ANY}, \param{const wxString\&}{ label = wxEmptyString}, \param{wxMenu *}{ subMenu = NULL}}

Sets action or menu activated by pressing right hardware button on the smart phones.
Unavailable on full keyboard machines.

\wxheading{Parameters}

\docparam{id}{Identifier for this button.}

\docparam{label}{Text to be displayed on the screen area dedicated to this hardware button.}

\docparam{subMenu}{The menu to be opened after pressing this hardware button.}

\wxheading{See also}

\helpref{wxTopLevelWindow::SetLeftMenu}{wxtoplevelwindowsetleftmenu}.


\membersection{wxTopLevelWindow::SetShape}\label{wxtoplevelwindowsetshape}

\func{bool}{SetShape}{\param{const wxRegion\&}{ region}}

If the platform supports it, sets the shape of the window to that
depicted by {\it 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 {\it SetShape} again with an empty region.  Returns TRUE if the
operation is successful.


\membersection{wxTopLevelWindow::SetTitle}\label{wxtoplevelwindowsettitle}

\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}

Sets the window title.

\wxheading{Parameters}

\docparam{title}{The window title.}

\wxheading{See also}

\helpref{wxTopLevelWindow::GetTitle}{wxtoplevelwindowgettitle}


\membersection{wxTopLevelWindow::ShowFullScreen}\label{wxtoplevelwindowshowfullscreen}

\func{bool}{ShowFullScreen}{\param{bool}{ show}, \param{long}{ style = wxFULLSCREEN\_ALL}}

Depending on the value of {\it show} parameter the window is either shown full
screen or restored to its normal state. {\it 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:

\begin{itemize}\itemsep=0pt
\item wxFULLSCREEN\_NOMENUBAR
\item wxFULLSCREEN\_NOTOOLBAR
\item wxFULLSCREEN\_NOSTATUSBAR
\item wxFULLSCREEN\_NOBORDER
\item wxFULLSCREEN\_NOCAPTION
\item wxFULLSCREEN\_ALL (all of the above)
\end{itemize}

This function has not been tested with MDI frames.

Note that showing a window full screen also actually
\helpref{Show()s}{wxwindowshow} if it hadn't been shown yet.

\wxheading{See also}

\helpref{wxTopLevelWindow::IsFullScreen}{wxtoplevelwindowisfullscreen}

