a1b05a60e1
can be overridden in wxTLW to set WM hints. Actually did that for wxGTK, nothing required for wxMSW, no idea about wxMac. Documented this in tlw.tex. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
465 lines
15 KiB
TeX
465 lines
15 KiB
TeX
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
%% Name: tlw.tex
|
|
%% Purpose: wxTopLevelWindow documentation
|
|
%% Author: Vadim Zeitlin
|
|
%% Modified by:
|
|
%% Created: 2004-09-07 (partly extracted from frame.tex)
|
|
%% RCS-ID: $Id$
|
|
%% 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::CanSetTransparent}\label{wxtoplevelwindowcansettransparent}
|
|
|
|
\func{virtual bool}{CanSetTransparent}{\void}
|
|
|
|
Returns \true if the platform supports making the window translucent.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTopLevelWindow::SetTransparent}{wxtoplevelwindowsettransparent}
|
|
|
|
|
|
\membersection{wxTopLevelWindow::EnableCloseButton}\label{wxtoplevelenableclosebutton}
|
|
|
|
\func{bool}{EnableCloseButton}{\param{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).
|
|
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.
|
|
|
|
\membersection{wxTopLevelWindow::GetDefaultItem}\label{wxtoplevelwindowgetdefaultitem}
|
|
|
|
\constfunc{wxWindow *}{GetDefaultItem}{\void}
|
|
|
|
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.
|
|
|
|
|
|
\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.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTopLevelWindow::SetTitle}{wxtoplevelwindowsettitle}
|
|
|
|
|
|
\membersection{wxTopLevelWindow::HandleSettingChange}\label{wxtoplevelwindowhandlesettingchange}
|
|
|
|
\func{virtual bool}{HandleSettingChange}{\param{WXWPARAM}{ wParam}, \param{WXLPARAM}{ lParam}}
|
|
|
|
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.
|
|
|
|
|
|
\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::IsAlwaysMaximized}\label{wxtoplevelwindowisalwaysmaximized}
|
|
|
|
\constfunc{virtual bool}{IsAlwaysMaximized}{\void}
|
|
|
|
Returns \true if this window is expected to be always maximized, either due to platform policy
|
|
or due to local policy regarding particular class.
|
|
|
|
|
|
\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::IsUsingNativeDecorations}\label{wxtoplevelwindowisusingnativedecorations}
|
|
|
|
\constfunc{bool}{IsUsingNativeDecorations}{\void}
|
|
|
|
\bftt{This method is specific to wxUniversal port}
|
|
|
|
Returns \true if this window is using native decorations, \false if we draw
|
|
them ourselves.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{UseNativeDecorations}{wxtoplevelwindowusenativedecorations},\\
|
|
\helpref{UseNativeDecorationsByDefault}{wxtoplevelwindowusenativedecorationsbydefault}
|
|
|
|
|
|
\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{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::SetDefaultItem}\label{wxtoplevelwindowsetdefaultitem}
|
|
|
|
\func{void}{SetDefaultItem}{\param{wxWindow }{*win}}
|
|
|
|
Changes the default item for the panel, usually \arg{win} is a button.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{GetDefaultItem}{wxtoplevelwindowgetdefaultitem}
|
|
|
|
|
|
\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::SetMaxSize}\label{wxtoplevelwindowsetmaxsize}
|
|
|
|
\func{void}{SetMaxSize}{\param{const wxSize\& }{size}}
|
|
|
|
A simpler interface for setting the size hints than
|
|
\helpref{SetSizeHints}{wxtoplevelwindowsetsizehints}.
|
|
|
|
\membersection{wxTopLevelWindow::SetMinSize}\label{wxtoplevelwindowsetminsize}
|
|
|
|
\func{void}{SetMinSize}{\param{const wxSize\& }{size}}
|
|
|
|
A simpler interface for setting the size hints than
|
|
\helpref{SetSizeHints}{wxtoplevelwindowsetsizehints}.
|
|
|
|
\membersection{wxTopLevelWindow::SetSizeHints}\label{wxtoplevelwindowsetsizehints}
|
|
|
|
\func{virtual void}{SetSizeHints}{\param{int}{ minW}, \param{int}{ minH}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1},
|
|
\param{int}{ incW=-1}, \param{int}{ incH=-1}}
|
|
|
|
\func{void}{SetSizeHints}{\param{const wxSize\&}{ minSize},
|
|
\param{const wxSize\&}{ maxSize=wxDefaultSize}, \param{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), the default values will be used.
|
|
|
|
\docparam{incW}{Specifies the increment for sizing the width (Motif/Xt only).}
|
|
|
|
\docparam{incH}{Specifies the increment for sizing the height (Motif/Xt only).}
|
|
|
|
\docparam{incSize}{Increment size (Motif/Xt only).}
|
|
|
|
\wxheading{Remarks}
|
|
|
|
If this function is called, the user will not be able to size the window outside
|
|
the given bounds. The resizing increments are only significant under Motif or Xt.
|
|
|
|
|
|
\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::SetTransparent}\label{wxtoplevelwindowsettransparent}
|
|
|
|
\func{virtual bool}{SetTransparent}{\param{int }{ alpha}}
|
|
|
|
If the platform supports it will set the window to be translucent
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{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.}
|
|
|
|
Returns \true if the transparency was successfully changed.
|
|
|
|
|
|
|
|
\membersection{wxTopLevelWindow::ShouldPreventAppExit}\label{wxtoplevelwindowshouldpreventappexit}
|
|
|
|
\constfunc{virtual bool}{ShouldPreventAppExit}{\void}
|
|
|
|
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.
|
|
|
|
|
|
\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}
|
|
|
|
|
|
\membersection{wxTopLevelWindow::UseNativeDecorations}\label{wxtoplevelwindowusenativedecorations}
|
|
|
|
\func{void}{UseNativeDecorations}{\param{bool }{native = \true}}
|
|
|
|
\bftt{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:
|
|
\begin{verbatim}
|
|
MyFrame *frame = new MyFrame; // use default ctor
|
|
frame->UseNativeDecorations(false); // change from default "true"
|
|
frame->Create(parent, title, ...); // really create the frame
|
|
\end{verbatim}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{UseNativeDecorationsByDefault}{wxtoplevelwindowusenativedecorationsbydefault},\\
|
|
\helpref{IsUsingNativeDecorations}{wxtoplevelwindowisusingnativedecorations}
|
|
|
|
|
|
\membersection{wxTopLevelWindow::UseNativeDecorationsByDefault}\label{wxtoplevelwindowusenativedecorationsbydefault}
|
|
|
|
\func{void}{UseNativeDecorationsByDefault}{\param{bool }{native = \true}}
|
|
|
|
\bftt{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 \arg{native} set to \false to
|
|
change this for all windows created after this point.
|
|
|
|
Also note that if \texttt{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.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{UseNativeDecorations}{wxtoplevelwindowusenativedecorations}
|
|
|