X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..a61c9122413cef45bad87da7e3dc65617bb2adb7:/docs/latex/wx/frame.tex diff --git a/docs/latex/wx/frame.tex b/docs/latex/wx/frame.tex index 1ee544180c..d145636166 100644 --- a/docs/latex/wx/frame.tex +++ b/docs/latex/wx/frame.tex @@ -12,6 +12,7 @@ application windows. \wxheading{Derived from} +\helpref{wxTopLevelWindow}{wxtoplevelwindow}\\ \helpref{wxWindow}{wxwindow}\\ \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} @@ -24,46 +25,68 @@ application windows. \twocolwidtha{5cm} \begin{twocollist}\itemsep=0pt -\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxRESIZE\_BORDER \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.} +\twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxRESIZE\_BORDER \pipe wxSYSTEM\_MENU \pipe wxCAPTION \pipe wxCLOSE\_BOX \pipe wxCLIP\_CHILDREN}.} \twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized). Windows only. } \twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.} \twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}. Windows only.} \twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame.} \twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized. Windows only.} \twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame.} +\twocolitem{\windowstyle{wxCLOSE\_BOX}}{Displays a close box on the frame.} \twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of all other windows, -see also wxFRAME\_FLOAT\_ON\_PARENT. Windows only.} +see also wxFRAME\_FLOAT\_ON\_PARENT.} \twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu.} -\twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays no border or decorations. GTK and Windows only.} \twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window.} \twocolitem{\windowstyle{wxFRAME\_TOOL\_WINDOW}}{Causes a frame with a small -titlebar to be created; the frame does not appear in the taskbar under Windows.} +titlebar to be created; the frame does not appear in the taskbar under Windows or GTK+.} \twocolitem{\windowstyle{wxFRAME\_NO\_TASKBAR}}{Creates an otherwise normal -frame but it does not appear in the taskbar under Windows (note that it will -minimize to the desktop window which may seem strange to the users and thus it -might be better to use this style only without wxMINIMIZE\_BOX style). +frame but it does not appear in the taskbar under Windows or GTK+ (note that it +will minimize to the desktop window under Windows which may seem strange to the +users and thus it might be better to use this style only without +wxMINIMIZE\_BOX style). In wxGTK, the flag is respected only if GTK+ is at +least version 2.2 and the window manager supports +\urlref{\_NET\_WM\_STATE\_SKIP\_TASKBAR}{http://freedesktop.org/Standards/wm-spec/1.3/ar01s05.html} hint. Has no effect under other platforms.} \twocolitem{\windowstyle{wxFRAME\_FLOAT\_ON\_PARENT}}{The frame will always be on top of its parent (unlike wxSTAY\_ON\_TOP). A frame created with this style must have a non-NULL parent.} \twocolitem{\windowstyle{wxFRAME\_EX\_CONTEXTHELP}}{Under Windows, puts a query button on the -caption. When pressed, Windows will go into a context-sensitive help mode and wxWindows will send +caption. When pressed, Windows will go into a context-sensitive help mode and wxWidgets will send a wxEVT\_HELP event if the user clicked on an application window. {\it Note} that this is an extended style and must be set by calling \helpref{SetExtraStyle}{wxwindowsetextrastyle} before Create is called (two-step construction). You cannot use this style together with wxMAXIMIZE\_BOX or wxMINIMIZE\_BOX, so -you should use -{\tt wxDEFAULT\_FRAME\_STYLE \& \verb$~$ (wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the -frames having this style (the dialogs don't have minimize nor maximize box by +you should use\rtfsp +{\tt wxDEFAULT\_FRAME\_STYLE \& ~ (wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the +frames having this style (the dialogs don't have a minimize or a maximize box by default)} +\twocolitem{\windowstyle{wxFRAME\_SHAPED}}{Windows with this style are + allowed to have their shape changed with the \helpref{SetShape}{wxtoplevelwindowsetshape} method.} +\twocolitem{\windowstyle{wxFRAME\_EX\_METAL}}{On Mac OS X, frames with this style will be shown with a metallic look. This is an {\it extra} style.} \end{twocollist} The default frame style is for normal, resizeable frames. To create a frame which can not be resized by user, you may use the following combination of -styles: {\tt wxDEFAULT\_FRAME\_STYLE \& \verb$~$ (wxRESIZE\_BORDER \pipe wxRESIZE\_BOX \pipe wxMAXIMIZE\_BOX)}. +styles: {\tt wxDEFAULT\_FRAME\_STYLE \& ~ (wxRESIZE\_BORDER \pipe wxRESIZE\_BOX \pipe wxMAXIMIZE\_BOX)}. % Note: the space after the tilde is necessary or Tex2RTF complains. See also \helpref{window styles overview}{windowstyles}. +\wxheading{Default event processing} + +wxFrame processes the following events: + +\begin{twocollist}\itemsep=0pt +\twocolitem{\helpref{wxEVT\_SIZE}{wxsizeevent}}{If the frame has exactly one +child window, not counting the status and toolbar, this child is resized to +take the entire frame client area. If two or more windows are present, they +should be laid out explicitly either by manually handling wxEVT\_SIZE or using +\helpref{sizers}{sizeroverview}} + +\twocolitem{\helpref{wxEVT\_MENU\_HIGHLIGHT}{wxmenuevent}}{The default +implementation displays the \helpref{help string}{wxmenuitemgethelp} associated +with the selected item in the first pane of the status bar, if there is one.} +\end{twocollist} + \wxheading{Remarks} An application should normally define an \helpref{wxCloseEvent}{wxcloseevent} handler for the @@ -76,7 +99,7 @@ frame to respond to system close events, for example so that related data and su \latexignore{\rtfignore{\wxheading{Members}}} -\membersection{wxFrame::wxFrame}\label{wxframeconstr} +\membersection{wxFrame::wxFrame}\label{wxframector} \func{}{wxFrame}{\void} @@ -99,10 +122,10 @@ always be displayed on top of the parent window on Windows.} \docparam{title}{The caption to be displayed on the frame's title bar.} \docparam{pos}{The window position. A value of (-1, -1) indicates a default position, chosen by -either the windowing system or wxWindows, depending on platform.} +either the windowing system or wxWidgets, depending on platform.} \docparam{size}{The window size. A value of (-1, -1) indicates a default size, chosen by -either the windowing system or wxWindows, depending on platform.} +either the windowing system or wxWidgets, depending on platform.} \docparam{style}{The window style. See \helpref{wxFrame}{wxframe}.} @@ -119,7 +142,7 @@ For Motif, MWM (the Motif Window Manager) should be running for any window style \helpref{wxFrame::Create}{wxframecreate} -\membersection{wxFrame::\destruct{wxFrame}} +\membersection{wxFrame::\destruct{wxFrame}}\label{wxframedtor} \func{void}{\destruct{wxFrame}}{\void} @@ -135,16 +158,6 @@ Centres the frame on the display. \docparam{direction}{The parameter may be {\tt wxHORIZONTAL}, {\tt wxVERTICAL} or {\tt wxBOTH}.} -\membersection{wxFrame::Command}\label{wxframecommand} - -\func{void}{Command}{\param{int }{id}} - -Simulate a menu command. - -\wxheading{Parameters} - -\docparam{id}{The identifier for a menu item.} - \membersection{wxFrame::Create}\label{wxframecreate} \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp @@ -152,7 +165,7 @@ Simulate a menu command. \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp \param{const wxString\& }{name = ``frame"}} -Used in two-step frame construction. See \helpref{wxFrame::wxFrame}{wxframeconstr}\rtfsp +Used in two-step frame construction. See \helpref{wxFrame::wxFrame}{wxframector}\rtfsp for further details. \membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar} @@ -172,13 +185,13 @@ value greater than 1 to create a multi-field status bar.} of valid styles.} \docparam{id}{The status bar window identifier. If -1, an identifier will be chosen by -wxWindows.} +wxWidgets.} \docparam{name}{The status bar window name.} \wxheading{Return value} -A pointer to the the status bar if it was created successfully, NULL otherwise. +A pointer to the status bar if it was created successfully, NULL otherwise. \wxheading{Remarks} @@ -209,13 +222,13 @@ Creates a toolbar at the top or left of the frame. of valid styles.} \docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by -wxWindows.} +wxWidgets.} \docparam{name}{The toolbar window name.} \wxheading{Return value} -A pointer to the the toolbar if it was created successfully, NULL otherwise. +A pointer to the toolbar if it was created successfully, NULL otherwise. \wxheading{Remarks} @@ -228,6 +241,11 @@ with \helpref{wxFrame::SetToolBar}{wxframesettoolbar}, the frame will manage the position and adjust the return value from \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} to reflect the available space for application windows. +Under Pocket PC, you should {\it always} use this function for creating the toolbar +to be managed by the frame, so that wxWidgets can use a combined +menubar and toolbar. Where you manage your own toolbars, create a wxToolBar +as usual. + \wxheading{See also} \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar},\rtfsp @@ -272,12 +290,6 @@ Returns the status bar pane used to display menu and toolbar help. \helpref{wxFrame::SetStatusBarPane}{wxframesetstatusbarpane} -\membersection{wxFrame::GetTitle}\label{wxframegettitle} - -\constfunc{wxString}{GetTitle}{\void} - -Gets a string containing the frame title. See \helpref{wxFrame::SetTitle}{wxframesettitle}. - \membersection{wxFrame::GetToolBar}\label{wxframegettoolbar} \constfunc{wxToolBar*}{GetToolBar}{\void} @@ -289,67 +301,6 @@ Returns a pointer to the toolbar currently associated with the frame (if any). \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp \helpref{wxFrame::SetToolBar}{wxframesettoolbar} -\membersection{wxFrame::Iconize}\label{wxframeiconize} - -\func{void}{Iconize}{\param{bool}{ iconize}} - -Iconizes or restores the frame. - -\wxheading{Parameters} - -\docparam{iconize}{If TRUE, iconizes the frame; if FALSE, shows and restores it.} - -\wxheading{See also} - -\helpref{wxFrame::IsIconized}{wxframeisiconized}, \helpref{wxFrame::Maximize}{wxframemaximize}. - -\membersection{wxFrame::IsFullScreen}\label{wxframeisfullscreen} - -\func{bool}{IsFullScreen}{\void} - -Returns TRUE if the frame is in fullscreen mode. - -\wxheading{See also} - -\helpref{wxFrame::ShowFullScreen}{wxframeshowfullscreen} - -\membersection{wxFrame::IsIconized}\label{wxframeisiconized} - -\constfunc{bool}{IsIconized}{\void} - -Returns TRUE if the frame is iconized. - -\membersection{wxFrame::IsMaximized}\label{wxframeismaximized} - -\constfunc{bool}{IsMaximized}{\void} - -Returns TRUE if the frame is maximized. - -\membersection{wxFrame::Maximize}\label{wxframemaximize} - -\func{void}{Maximize}{\param{bool }{maximize}} - -Maximizes or restores the frame. - -\wxheading{Parameters} - -\docparam{maximize}{If TRUE, maximizes the frame, otherwise it restores it.} - -\wxheading{Remarks} - -This function only works under Windows. - -\wxheading{See also} - -\helpref{wxFrame::Iconize}{wxframeiconize} - -\membersection{wxFrame::OnActivate} - -\func{void}{OnActivate}{\param{wxActivateEvent\&}{ event}} - -Called when a window is activated or deactivated (MS Windows -only). See also \helpref{wxActivateEvent}{wxactivateevent}. - \membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar} \func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}, @@ -366,7 +317,7 @@ Virtual function called when a status bar is requested by \helpref{wxFrame::Crea of valid styles.} \docparam{id}{The window identifier. If -1, an identifier will be chosen by -wxWindows.} +wxWidgets.} \docparam{name}{The window name.} @@ -396,7 +347,7 @@ Virtual function called when a toolbar is requested by \helpref{wxFrame::CreateT of valid styles.} \docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by -wxWindows.} +wxWidgets.} \docparam{name}{The toolbar window name.} @@ -413,25 +364,17 @@ implementation returns an instance of \helpref{wxToolBar}{wxtoolbar}. \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar}. -\membersection{wxFrame::OnMenuHighlight}\label{wxframeonmenuhighlight} - -\func{void}{OnMenuHighlight}{\param{wxMenuEvent\&}{ event}} -The default implementation displays an appropriate help string -in the status bar, if there is one. +\membersection{wxFrame::ProcessCommand}\label{wxframeprocesscommand} -See \helpref{wxMenuEvent}{wxmenuevent}. +\func{void}{ProcessCommand}{\param{int }{id}} -\membersection{wxFrame::OnSize}\label{wxframeonsize} +Simulate a menu command. -\func{void}{OnSize}{\param{wxSizeEvent\& }{event}} +\wxheading{Parameters} -The default {\bf wxFrame::OnSize} implementation looks for a single subwindow, -and if one is found, resizes it to fit -inside the frame. Override this member if more complex behaviour -is required (for example, if there are several subwindows). +\docparam{id}{The identifier for a menu item.} -See \helpref{wxSizeEvent}{wxsizeevent}. \membersection{wxFrame::SendSizeEvent}\label{wxframesendsizeevent} @@ -446,37 +389,7 @@ Note that if the frame is using either sizers or constraints for the children layout, it is enough to call \helpref{Layout()}{wxwindowlayout} directly and this function should not be used in this case. -\membersection{wxFrame::SetIcon}\label{wxframeseticon} - -\func{void}{SetIcon}{\param{const wxIcon\& }{icon}} - -Sets the icon for this frame. - -\wxheading{Parameters} - -\docparam{icon}{The icon to associate with this frame.} - -\wxheading{Remarks} - -The frame 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{wxFrame::SetIcons}\label{wxframeseticons} - -\func{void}{SetIcons}{\param{const wxIconBundle\& }{icons}} - -Sets the icons for this frame. - -\wxheading{Parameters} - -\docparam{icons}{The icons to associate with this frame.} - -See also \helpref{wxIconBundle}{wxiconbundle}. - -% VZ: we don't have all this any more (18.08.00) +% VZ: we don't have all this any more (18.08.00) % %Under Windows, instead of using {\bf SetIcon}, you can add the %following lines to your MS Windows resource file: @@ -501,7 +414,7 @@ See also \helpref{wxIconBundle}{wxiconbundle}. %\end{verbatim} % %You can replace std.ico, mdi.ico and child.ico with your own defaults -%for all your wxWindows application. Currently they show the same icon. +%for all your wxWidgets application. Currently they show the same icon. \membersection{wxFrame::SetMenuBar}\label{wxframesetmenubar} @@ -520,10 +433,10 @@ menu bar and its menus will be destroyed also, so do not delete the menu bar explicitly (except by resetting the frame's menu bar to another frame or NULL). -Under Windows, a call to \helpref{wxFrame::OnSize}{wxframeonsize} is generated, so be sure to initialize +Under Windows, a size event is generated, so be sure to initialize data members properly before calling {\bf SetMenuBar}. -Note that it is not possible to call this function twice for the same frame object. +Note that on some platforms, it is not possible to call this function twice for the same frame object. \wxheading{See also} @@ -575,7 +488,7 @@ Sets the widths of the fields in the status bar. \wxheading{Parameters} -\wxheading{n}{The number of fields in the status bar. It must be the +\docparam{n}{The number of fields in the status bar. It must be the same used in \helpref{CreateStatusBar}{wxframecreatestatusbar}.} \docparam{widths}{Must contain an array of {\it n} integers, each of which is a status field width @@ -604,40 +517,3 @@ Associates a toolbar with the frame. \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp \helpref{wxFrame::GetToolBar}{wxframegettoolbar} -\membersection{wxFrame::SetTitle}\label{wxframesettitle} - -\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}} - -Sets the frame title. - -\wxheading{Parameters} - -\docparam{title}{The frame title.} - -\wxheading{See also} - -\helpref{wxFrame::GetTitle}{wxframegettitle} - -\membersection{wxFrame::ShowFullScreen}\label{wxframeshowfullscreen} - -\func{bool}{ShowFullScreen}{\param{bool}{ show}, \param{long}{ style = wxFULLSCREEN\_ALL}} - -Passing TRUE to {\it shows} shows the frame full-screen, and passing FALSE restores the frame -again. {\it style} is a bit list containing some or all of the following values, which -indicate what elements of the frame 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. - -\wxheading{See also} - -\helpref{wxFrame::IsFullScreen}{wxframeisfullscreen} -