]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/frame.tex
shows different SetCursor() calls
[wxWidgets.git] / docs / latex / wx / frame.tex
index 61cad1ee362a30f9b4b40a966107e87221f135f9..ebe13b0449be8c8481510352f946a674b010e4c8 100644 (file)
@@ -4,12 +4,20 @@ A frame is a window whose size and position can (usually) be changed by the user
 thick borders and a title bar, and can optionally contain a menu bar, toolbar and
 status bar. A frame can contain any window that is not a frame or dialog.
 
 thick borders and a title bar, and can optionally contain a menu bar, toolbar and
 status bar. A frame can contain any window that is not a frame or dialog.
 
+A frame that has a status bar and toolbar created via the CreateStatusBar/CreateToolBar functions
+manages these windows, and adjusts the value returned by GetClientSize to reflect
+the remaining size available to application windows.
+
 \wxheading{Derived from}
 
 \helpref{wxWindow}{wxwindow}\\
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
 \wxheading{Derived from}
 
 \helpref{wxWindow}{wxwindow}\\
 \helpref{wxEvtHandler}{wxevthandler}\\
 \helpref{wxObject}{wxobject}
 
+\wxheading{Include files}
+
+<wx/frame.h>
+
 \wxheading{Window styles}
 
 \twocolwidtha{5cm}
 \wxheading{Window styles}
 
 \twocolwidtha{5cm}
@@ -27,7 +35,11 @@ status bar. A frame can contain any window that is not a frame or dialog.
 \twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only).}
 \end{twocollist}
 
 \twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only).}
 \end{twocollist}
 
-See also \helpref{window styles overview}{windowstyles}.
+See also \helpref{window styles overview}{windowstyles}. Currently the GTK port of wxWindows
+ignores all the window styles listed above as there is no standard way (yet) to inform the
+window manager about such options. Therefore, the only relevant window style flag which
+the GTK port recognizes is \windowstyle{wxSIMPLE\_BORDER} which brings up a frame without
+any window decorations. This can be used for a splash screen or specialized tooltip etc.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
@@ -47,7 +59,7 @@ frame to respond to system close events, for example so that related data and su
 
 Default constructor.
 
 
 Default constructor.
 
-\func{}{wxFrame}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id},\rtfsp
+\func{}{wxFrame}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
 \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
 \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
 \param{const wxString\& }{name = ``frame"}}
 \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
 \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
 \param{const wxString\& }{name = ``frame"}}
@@ -92,7 +104,7 @@ Destructor. Destroys all child windows and menu bar if present.
 
 \membersection{wxFrame::Centre}\label{wxframecentre}
 
 
 \membersection{wxFrame::Centre}\label{wxframecentre}
 
-\func{void}{Centre}{\param{const int}{ direction = wxBOTH}}
+\func{void}{Centre}{\param{int}{ direction = wxBOTH}}
 
 Centres the frame on the display.
 
 
 Centres the frame on the display.
 
@@ -112,7 +124,7 @@ Simulate a menu command.
 
 \membersection{wxFrame::Create}\label{wxframecreate}
 
 
 \membersection{wxFrame::Create}\label{wxframecreate}
 
-\func{bool}{Create}{\param{wxWindow* }{parent}, \param{const wxWindowID }{id},\rtfsp
+\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
 \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
 \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
 \param{const wxString\& }{name = ``frame"}}
 \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},\rtfsp
 \param{const wxSize\&}{ size = wxDefaultSize}, \param{long}{ style = wxDEFAULT\_FRAME\_STYLE},\rtfsp
 \param{const wxString\& }{name = ``frame"}}
@@ -122,7 +134,9 @@ for further details.
 
 \membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
 
 
 \membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
 
-\func{virtual bool}{CreateStatusBar}{\param{const int}{ number = 1}}
+\func{virtual wxStatusBar*}{CreateStatusBar}{\param{int}{ number = 1},
+ \param{long}{ style = 0},
+ \param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "statusBar"}}
 
 Creates a status bar at the bottom of the frame.
 
 
 Creates a status bar at the bottom of the frame.
 
@@ -131,9 +145,17 @@ Creates a status bar at the bottom of the frame.
 \docparam{number}{The number of fields to create. Specify a
 value greater than 1 to create a multi-field status bar.}
 
 \docparam{number}{The number of fields to create. Specify a
 value greater than 1 to create a multi-field status bar.}
 
+\docparam{style}{The status bar style. See \helpref{wxStatusBar}{wxstatusbar} for a list
+of valid styles.}
+
+\docparam{id}{The status bar window identifier. If -1, an identifier will be chosen by
+wxWindows.}
+
+\docparam{name}{The status bar window name.}
+
 \wxheading{Return value}
 
 \wxheading{Return value}
 
-TRUE if the status bar was created successfully.
+A pointer to the the status bar if it was created successfully, NULL otherwise.
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
@@ -151,6 +173,45 @@ Note that you can put controls and other windows on the status bar if you wish.
 \helpref{wxFrame::OnCreateStatusBar}{wxframeoncreatestatusbar},\rtfsp
 \helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
 
 \helpref{wxFrame::OnCreateStatusBar}{wxframeoncreatestatusbar},\rtfsp
 \helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
 
+\membersection{wxFrame::CreateToolBar}\label{wxframecreatetoolbar}
+
+\func{virtual wxToolBar*}{CreateToolBar}{\param{long}{ style = wxNO\_BORDER \pipe wxTB\_HORIZONTAL},
+ \param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "toolBar"}}
+
+Creates a toolbar at the top or left of the frame.
+
+\wxheading{Parameters}
+
+\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
+of valid styles.}
+
+\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
+wxWindows.}
+
+\docparam{name}{The toolbar window name.}
+
+\wxheading{Return value}
+
+A pointer to the the toolbar if it was created successfully, NULL otherwise.
+
+\wxheading{Remarks}
+
+By default, the toolbar is an instance of wxToolBar (which is defined to be
+a suitable toolbar class on each platform, such as wxToolBar95). To use a different class,
+override \helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar}.
+
+When a toolbar has been created with this function, or made known to the frame
+with \helpref{wxFrame::SetToolBar}{wxframesettoolbar}, the frame will manage the toolbar
+position and adjust the return value from \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} to
+reflect the available space for application windows.
+
+\wxheading{See also}
+
+\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar},\rtfsp
+\helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar},\rtfsp
+\helpref{wxFrame::SetToolBar}{wxframesettoolbar},\rtfsp
+\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
+
 \membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
 
 \constfunc{wxMenuBar*}{GetMenuBar}{\void}
 \membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
 
 \constfunc{wxMenuBar*}{GetMenuBar}{\void}
@@ -178,6 +239,17 @@ Returns a pointer to the status bar currently associated with the frame (if any)
 Gets a temporary pointer to the frame title. See
 \helpref{wxFrame::SetTitle}{wxframesettitle}.
 
 Gets a temporary pointer to the frame title. See
 \helpref{wxFrame::SetTitle}{wxframesettitle}.
 
+\membersection{wxFrame::GetToolBar}\label{wxframegettoolbar}
+
+\func{wxToolBar*}{GetToolBar}{\void}
+
+Returns a pointer to the toolbar currently associated with the frame (if any).
+
+\wxheading{See also}
+
+\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
+\helpref{wxFrame::SetToolBar}{wxframesettoolbar}
+
 \membersection{wxFrame::Iconize}\label{wxframeiconize}
 
 \func{void}{Iconize}{\param{const bool}{ iconize}}
 \membersection{wxFrame::Iconize}\label{wxframeiconize}
 
 \func{void}{Iconize}{\param{const bool}{ iconize}}
@@ -194,46 +266,15 @@ Iconizes or restores the frame.
 
 \membersection{wxFrame::IsIconized}\label{wxframeisiconized}
 
 
 \membersection{wxFrame::IsIconized}\label{wxframeisiconized}
 
-\func{bool}{IsIconized}{\void}
+\constfunc{bool}{IsIconized}{\void}
 
 Returns TRUE if the frame is iconized.
 
 
 Returns TRUE if the frame is iconized.
 
-\membersection{wxFrame::LoadAccelerators}\label{wxframeloadaccelerators}
-
-\func{void}{LoadAccelerators}{\param{const wxString\& }{table}}
-
-Loads a keyboard accelerator table for this frame.
-
-\wxheading{Parameters}
-
-\docparam{table}{Accelerator table to load.}
-
-\wxheading{Return value}
-
-TRUE if the operation was successful, FALSE otherwise.
-
-\wxheading{Remarks}
-
-Accelerator tables map keystrokes onto control and menu identifiers, so the
-programmer does not have to explicitly program this correspondence.
-
-See the hello demo ({\tt hello.cpp} and {\tt hello.rc}) for
-an example of accelerator usage. This is a fragment from {\tt hello.rc}:
-
-\begin{verbatim}
-#define HELLO_LOAD_FILE  111
-
-menus_accel ACCELERATORS
-{
-
-"^L", HELLO_LOAD_FILE
+\membersection{wxFrame::IsMaximized}\label{wxframeismaximized}
 
 
-}
-\end{verbatim}
-
-This function only works under Windows.
+\constfunc{bool}{IsMaximized}{\void}
 
 
-% huh? If you call LoadAccelerators, you need to override wxFrame::OnActivate to do nothing.
+Returns TRUE if the frame is maximized.
 
 \membersection{wxFrame::Maximize}\label{wxframemaximize}
 
 
 \membersection{wxFrame::Maximize}\label{wxframemaximize}
 
@@ -255,21 +296,16 @@ This function only works under Windows.
 
 \membersection{wxFrame::OnActivate}
 
 
 \membersection{wxFrame::OnActivate}
 
-\func{void}{OnActivate}{\param{bool}{ active}}
+\func{void}{OnActivate}{\param{wxActivateEvent\&}{ event}}
 
 Called when a window is activated or deactivated (MS Windows
 
 Called when a window is activated or deactivated (MS Windows
-only). If the window is being activated, {\it active} is TRUE, else it
-is FALSE.
-
-If you call wxFrame::LoadAccelerators, you need to override this function e.g.
-
-\begin{verbatim}
-   void OnActivate(bool) {};
-\end{verbatim}
+only). See also \helpref{wxActivateEvent}{wxactivateevent}.
 
 \membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
 
 
 \membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
 
-\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{const int }{number}}
+\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number},
+ \param{long}{ style},
+ \param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
 
 Virtual function called when a status bar is requested by \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}.
 
 
 Virtual function called when a status bar is requested by \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}.
 
@@ -277,6 +313,14 @@ Virtual function called when a status bar is requested by \helpref{wxFrame::Crea
 
 \docparam{number}{The number of fields to create.}
 
 
 \docparam{number}{The number of fields to create.}
 
+\docparam{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar} for a list
+of valid styles.}
+
+\docparam{id}{The window identifier. If -1, an identifier will be chosen by
+wxWindows.}
+
+\docparam{name}{The window name.}
+
 \wxheading{Return value}
 
 A status bar object.
 \wxheading{Return value}
 
 A status bar object.
@@ -290,6 +334,36 @@ implementation returns an instance of \helpref{wxStatusBar}{wxstatusbar}.
 
 \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar}.
 
 
 \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar}.
 
+\membersection{wxFrame::OnCreateToolBar}\label{wxframeoncreatetoolbar}
+
+\func{virtual wxToolBar*}{OnCreateToolBar}{\param{long}{ style},
+ \param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
+
+Virtual function called when a toolbar is requested by \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
+
+\wxheading{Parameters}
+
+\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
+of valid styles.}
+
+\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
+wxWindows.}
+
+\docparam{name}{The toolbar window name.}
+
+\wxheading{Return value}
+
+A toolbar object.
+
+\wxheading{Remarks}
+
+An application can override this function to return a different kind of toolbar. The default
+implementation returns an instance of \helpref{wxToolBar}{wxtoolbar}.
+
+\wxheading{See also}
+
+\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar}.
+
 \membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
 
 \func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
 \membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
 
 \func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
@@ -388,9 +462,20 @@ Note that it is not possible to call this function twice for the same frame obje
 
 \helpref{wxFrame::GetMenuBar}{wxframegetmenubar}, \helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}.
 
 
 \helpref{wxFrame::GetMenuBar}{wxframegetmenubar}, \helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}.
 
+\membersection{wxFrame::SetStatusBar}\label{wxframesetstatusbar}
+
+\func{void}{SetStatusBar}{\param{wxStatusBar*}{ statusBar}}
+
+Associates a status bar with the frame.
+
+\wxheading{See also}
+
+\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar},\rtfsp
+\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
+
 \membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
 
 \membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
 
-\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{const int}{ number = 0}}
+\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{int}{ number = 0}}
 
 Sets the status bar text and redraws the status bar.
 
 
 Sets the status bar text and redraws the status bar.
 
@@ -410,7 +495,7 @@ Use an empty string to clear the status bar.
 
 \membersection{wxFrame::SetStatusWidths}\label{wxframesetstatuswidths}
 
 
 \membersection{wxFrame::SetStatusWidths}\label{wxframesetstatuswidths}
 
-\func{virtual void}{SetStatusWidths}{\param{const int}{ n}, \param{const int *}{widths}}
+\func{virtual void}{SetStatusWidths}{\param{int}{ n}, \param{int *}{widths}}
 
 Sets the widths of the fields in the status bar.
 
 
 Sets the widths of the fields in the status bar.
 
@@ -429,6 +514,17 @@ The widths of the variable fields are calculated from the total width of all fie
 minus the sum of widths of the non-variable fields, divided by the number of 
 variable fields.
 
 minus the sum of widths of the non-variable fields, divided by the number of 
 variable fields.
 
+\membersection{wxFrame::SetToolBar}\label{wxframesettoolbar}
+
+\func{void}{SetToolBar}{\param{wxToolBar*}{ toolBar}}
+
+Associates a toolbar with the frame.
+
+\wxheading{See also}
+
+\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}}
 \membersection{wxFrame::SetTitle}\label{wxframesettitle}
 
 \func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}