]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/window.tex
added/documented wxApp::FilterEvent
[wxWidgets.git] / docs / latex / wx / window.tex
index 2eefeb2c3c42f38dfc325bfac97b2558b0e78260..6d1493ba39d2059318d82788f556e912f85c0956 100644 (file)
@@ -509,6 +509,19 @@ same as the size the window would have had after calling
 
 Returns the \helpref{caret}{wxcaret} associated with the window.
 
 
 Returns the \helpref{caret}{wxcaret} associated with the window.
 
+\membersection{wxWindow::GetCapture}\label{wxwindowgetcapture}
+
+\func{static wxWindow *}{GetCapture}{\void}
+
+Returns the currently captured window.
+
+\wxheading{See also}
+
+\helpref{wxWindow::HasCapture}{wxwindowhascapture}, 
+\helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}, 
+\helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
+\helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
+
 \membersection{wxWindow::GetCharHeight}
 
 \constfunc{virtual int}{GetCharHeight}{\void}
 \membersection{wxWindow::GetCharHeight}
 
 \constfunc{virtual int}{GetCharHeight}{\void}
@@ -557,6 +570,7 @@ implements the following methods:\par
 \wxheading{See also}
 
 \helpref{GetSize}{wxwindowgetsize}
 \wxheading{See also}
 
 \helpref{GetSize}{wxwindowgetsize}
+\helpref{GetVirtualSize}{wxwindowgetvirtualsize}
 
 \membersection{wxWindow::GetConstraints}\label{wxwindowgetconstraints}
 
 
 \membersection{wxWindow::GetConstraints}\label{wxwindowgetconstraints}
 
@@ -813,11 +827,12 @@ method:\par
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{GetClientSize}{wxwindowgetclientsize}
+\helpref{GetClientSize}{wxwindowgetclientsize},\rtfsp
+\helpref{GetVirtualSize}{wxwindowgetvirtualsize}
 
 \membersection{wxWindow::GetSizer}\label{wxwindowgetsizer}
 
 
 \membersection{wxWindow::GetSizer}\label{wxwindowgetsizer}
 
-\constfunc{const wxSizer *}{GetSizer}{\void}
+\constfunc{wxSizer *}{GetSizer}{\void}
 
 Return the sizer associated with the window by a previous call to
 \helpref{SetSizer()}{wxwindowsetsizer} or {\tt NULL}.
 
 Return the sizer associated with the window by a previous call to
 \helpref{SetSizer()}{wxwindowsetsizer} or {\tt NULL}.
@@ -876,7 +891,7 @@ Gets the window's title. Applicable only to frames and dialogs.
 \constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
 
 Returns the region specifying which parts of the window have been damaged. Should
 \constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
 
 Returns the region specifying which parts of the window have been damaged. Should
-only be called within an \helpref{OnPaint}{wxwindowonpaint} event handler.
+only be called within an \helpref{wxPaintEvent}{wxpaintevent} handler.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
@@ -889,6 +904,23 @@ only be called within an \helpref{OnPaint}{wxwindowonpaint} event handler.
 
 Returns a pointer to the current validator for the window, or NULL if there is none.
 
 
 Returns a pointer to the current validator for the window, or NULL if there is none.
 
+\membersection{wxWindow::GetVirtualSize}\label{wxwindowgetvirtualsize}
+
+\constfunc{void}{GetVirtualSize}{\param{int* }{width}, \param{int* }{height}}
+
+\constfunc{wxSize}{GetVirtualSize}{\void}
+
+This gets the virtual size of the window in pixels.
+
+\wxheading{Parameters}
+
+\docparam{width}{Receives the window virtual width.}
+
+\docparam{height}{Receives the window virtual height.}
+
+\helpref{GetSize}{wxwindowgetsize},\rtfsp
+\helpref{GetClientSize}{wxwindowgetclientsize}
+
 \membersection{wxWindow::GetWindowStyleFlag}\label{wxwindowgetwindowstyleflag}
 
 \constfunc{long}{GetWindowStyleFlag}{\void}
 \membersection{wxWindow::GetWindowStyleFlag}\label{wxwindowgetwindowstyleflag}
 
 \constfunc{long}{GetWindowStyleFlag}{\void}
@@ -896,6 +928,18 @@ Returns a pointer to the current validator for the window, or NULL if there is n
 Gets the window style that was passed to the constructor or {\bf Create}
 method. {\bf GetWindowStyle()} is another name for the same function.
 
 Gets the window style that was passed to the constructor or {\bf Create}
 method. {\bf GetWindowStyle()} is another name for the same function.
 
+\membersection{wxWindow::HasCapture}\label{wxwindowhascapture}
+
+\constfunc{virtual bool}{HasCapture}{\void}
+
+Returns TRUE if this window has the current mouse capture.
+
+\wxheading{See also}
+
+\helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}, 
+\helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
+\helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
+
 \membersection{wxWindow::Hide}\label{wxwindowhide}
 
 \func{bool}{Hide}{\void}
 \membersection{wxWindow::Hide}\label{wxwindowhide}
 
 \func{bool}{Hide}{\void}
@@ -1196,95 +1240,6 @@ implements the following methods:\par
 %% \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
 %% \helpref{wxCloseEvent}{wxcloseevent}
 %%
 %% \helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
 %% \helpref{wxCloseEvent}{wxcloseevent}
 %%
-%% \membersection{wxWindow::OnCloseWindow}\label{wxwindowonclosewindow}
-%%
-%% \func{void}{OnCloseWindow}{\param{wxCloseEvent\& }{event}}
-%%
-%% This is an event handler function called when the user has tried to close a a frame
-%% or dialog box using the window manager (X) or system menu (Windows). It is
-%% called via the \helpref{wxWindow::Close}{wxwindowclose} function, so
-%% that the application can also invoke the handler programmatically.
-%%
-%% Use the EVT\_CLOSE event table macro to handle close events.
-%%
-%% You should check whether the application is forcing the deletion of the window
-%% using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is {\tt TRUE},
-%% destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
-%% If not, it is up to you whether you respond by destroying the window.
-%%
-%% (Note: GetForce is now superceded by CanVeto. So to test whether forced destruction of
-%% the window is required, test for the negative of CanVeto. If CanVeto returns {\tt FALSE},
-%% it is not possible to skip window deletion.)
-%%
-%% If you don't destroy the window, you should call \helpref{wxCloseEvent::Veto}{wxcloseeventveto} to
-%% let the calling code know that you did not destroy the window. This allows the \helpref{wxWindow::Close}{wxwindowclose} function
-%% to return {\tt TRUE} or {\tt FALSE} depending on whether the close instruction was honoured or not.
-%%
-%% \wxheading{Remarks}
-%%
-%% The \helpref{wxWindow::OnClose}{wxwindowonclose} virtual function remains
-%% for backward compatibility with earlier versions of wxWindows. The
-%% default {\bf OnCloseWindow} handler for wxFrame and wxDialog will call {\bf OnClose},
-%% destroying the window if it returns {\tt TRUE} or if the close is being forced.
-%%
-%% \wxheading{See also}
-%%
-%% \helpref{Window deletion overview}{windowdeletionoverview},\rtfsp
-%% \helpref{wxWindow::Close}{wxwindowclose},\rtfsp
-%% \helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
-%% \helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
-%% \helpref{wxCloseEvent}{wxcloseevent},\rtfsp
-%% \helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
-%% %% GD: OnXXX functions are not documented
-%% %%\helpref{wxApp::OnEndSession}{wxapponendsession}
-%%
-%% \membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
-%%
-%% \func{void}{OnDropFiles}{\param{wxDropFilesEvent\&}{ event}}
-%%
-%% Called when files have been dragged from the file manager to the window.
-%%
-%% \wxheading{Parameters}
-%%
-%% \docparam{event}{Drop files event. For more information, see \helpref{wxDropFilesEvent}{wxdropfilesevent}.}
-%%
-%% \wxheading{Remarks}
-%%
-%% The window must have previously been enabled for dropping by calling
-%% \rtfsp\helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles}.
-%%
-%% This event is only generated under Windows.
-%%
-%% To intercept this event, use the EVT\_DROP\_FILES macro in an event table definition.
-%%
-%% \wxheading{See also}
-%%
-%% \helpref{wxDropFilesEvent}{wxdropfilesevent}, \helpref{wxWindow::DragAcceptFiles}{wxwindowdragacceptfiles},\rtfsp
-%% \helpref{Event handling overview}{eventhandlingoverview}
-%%
-%% \membersection{wxWindow::OnEraseBackground}\label{wxwindowonerasebackground}
-%%
-%% \func{void}{OnEraseBackground}{\param{wxEraseEvent\&}{ event}}
-%%
-%% Called when the background of the window needs to be erased.
-%%
-%% \wxheading{Parameters}
-%%
-%% \docparam{event}{Erase background event. For more information, see \helpref{wxEraseEvent}{wxeraseevent}.}
-%%
-%% \wxheading{Remarks}
-%%
-%% Under non-Windows platforms, this event is simulated (simply generated just before the
-%% paint event) and may cause flicker. It is therefore recommended that
-%% you set the text background colour explicitly in order to prevent flicker.
-%% The default background colour under GTK is grey.
-%%
-%% To intercept this event, use the EVT\_ERASE\_BACKGROUND macro in an event table definition.
-%%
-%% \wxheading{See also}
-%%
-%% \helpref{wxEraseEvent}{wxeraseevent}, \helpref{Event handling overview}{eventhandlingoverview}
-%%
 %% \membersection{wxWindow::OnKeyDown}\label{wxwindowonkeydown}
 %%
 %% \func{void}{OnKeyDown}{\param{wxKeyEvent\&}{ event}}
 %% \membersection{wxWindow::OnKeyDown}\label{wxwindowonkeydown}
 %%
 %% \func{void}{OnKeyDown}{\param{wxKeyEvent\&}{ event}}
@@ -1347,40 +1302,6 @@ implements the following methods:\par
 %% \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
 %% \helpref{Event handling overview}{eventhandlingoverview}
 %%
 %% \helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnCharHook}{wxwindowoncharhook},\rtfsp
 %% \helpref{Event handling overview}{eventhandlingoverview}
 %%
-%% \membersection{wxWindow::OnKillFocus}\label{wxwindowonkillfocus}
-%%
-%% \func{void}{OnKillFocus}{\param{wxFocusEvent\& }{event}}
-%%
-%% Called when a window's focus is being killed.
-%%
-%% \wxheading{Parameters}
-%%
-%% \docparam{event}{The focus event. For more information, see \helpref{wxFocusEvent}{wxfocusevent}.}
-%%
-%% \wxheading{Remarks}
-%%
-%% To intercept this event, use the macro EVT\_KILL\_FOCUS in an event table definition.
-%%
-%% Most, but not all, windows respond to this event.
-%%
-%% \wxheading{See also}
-%%
-%% \helpref{wxFocusEvent}{wxfocusevent}, \helpref{wxWindow::OnSetFocus}{wxwindowonsetfocus},\rtfsp
-%% \helpref{Event handling overview}{eventhandlingoverview}
-%%
-%% \membersection{wxWindow::OnIdle}\label{wxwindowonidle}
-%%
-%% \func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
-%%
-%% Provide this member function for any processing which needs to be done
-%% when the application is idle.
-%%
-%% \wxheading{See also}
-%%
-%% %% GD: OnXXX functions are not documented
-%% %%\helpref{wxApp::OnIdle}{wxapponidle}
-%% \helpref{wxIdleEvent}{wxidleevent}
-%%
 %% \membersection{wxWindow::OnInitDialog}\label{wxwindowoninitdialog}
 %%
 %% \func{void}{OnInitDialog}{\param{wxInitDialogEvent\&}{ event}}
 %% \membersection{wxWindow::OnInitDialog}\label{wxwindowoninitdialog}
 %%
 %% \func{void}{OnInitDialog}{\param{wxInitDialogEvent\&}{ event}}
@@ -1788,7 +1709,10 @@ Releases mouse input captured with \helpref{wxWindow::CaptureMouse}{wxwindowcapt
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}
+\helpref{wxWindow::CaptureMouse}{wxwindowcapturemouse}, 
+\helpref{wxWindow::HasCapture}{wxwindowhascapture}, 
+\helpref{wxWindow::ReleaseMouse}{wxwindowreleasemouse}, 
+\helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
 
 \membersection{wxWindow::RemoveChild}\label{wxwindowremovechild}
 
 
 \membersection{wxWindow::RemoveChild}\label{wxwindowremovechild}
 
@@ -1801,7 +1725,7 @@ functions so should not be required by the application programmer.
 
 \docparam{child}{Child window to remove.}
 
 
 \docparam{child}{Child window to remove.}
 
-\membersection{wxWindow::RemoveEventHandler}{wxwindowremoveeventhandler}
+\membersection{wxWindow::RemoveEventHandler}\label{wxwindowremoveeventhandler}
 
 \func{bool}{RemoveEventHandler}{\param{wxEvtHandler *}{handler}}
 
 
 \func{bool}{RemoveEventHandler}{\param{wxEvtHandler *}{handler}}
 
@@ -1963,7 +1887,7 @@ Sets the background colour of the window.
 \wxheading{Remarks}
 
 The background colour is usually painted by the default\rtfsp
 \wxheading{Remarks}
 
 The background colour is usually painted by the default\rtfsp
-\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function
+\helpref{wxEraseEvent}{wxeraseevent} event handler function
 under Windows and automatically under GTK.
 
 Note that setting the background colour does not cause an immediate refresh, so you
 under Windows and automatically under GTK.
 
 Note that setting the background colour does not cause an immediate refresh, so you
@@ -1981,7 +1905,7 @@ look as the user wishes with run-time loadable modules.
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
 \helpref{wxWindow::Clear}{wxwindowclear},\rtfsp
 \helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
 \helpref{wxWindow::Clear}{wxwindowclear},\rtfsp
 \helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
-\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
+\helpref{wxEraseEvent}{wxeraseevent}
 
 \membersection{wxWindow::SetCaret}\label{wxwindowsetcaret}
 
 
 \membersection{wxWindow::SetCaret}\label{wxwindowsetcaret}
 
@@ -2135,7 +2059,7 @@ caption. When pressed, Windows will go into a context-sensitive help mode and wx
 a wxEVT\_HELP event if the user clicked on an application window.
 This style cannot be used together with wxMAXIMIZE\_BOX or wxMINIMIZE\_BOX, so
 you should use the style of
 a wxEVT\_HELP event if the user clicked on an application window.
 This style cannot be used together with wxMAXIMIZE\_BOX or wxMINIMIZE\_BOX, so
 you should use the style of
-{\tt wxDEFAULT\_FRAME\_STYLE & ~(wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the
+{\tt wxDEFAULT\_FRAME\_STYLE \& \textasciitilde(wxMINIMIZE\_BOX | wxMAXIMIZE\_BOX)} for the
 frames having this style (the dialogs don't have minimize nor maximize box by
 default)}
 \end{twocollist}
 frames having this style (the dialogs don't have minimize nor maximize box by
 default)}
 \end{twocollist}
@@ -2146,6 +2070,19 @@ default)}
 
 This sets the window to receive keyboard input.
 
 
 This sets the window to receive keyboard input.
 
+\wxheading{See also}
+
+\helpref{wxFocusEvent}{wxfocusevent}
+
+\membersection{wxWindow::SetFocusFromKbd}\label{wxwindowsetfocusfromkbd}
+
+\func{virtual void}{SetFocusFromKbd}{\void}
+
+This function is called by wxWindows keyboard navigation code when the user
+gives the focus to this window from keyboard (e.g. using {\tt TAB} key).
+By default this method simply calls \helpref{SetFocus}{wxwindowsetfocus} but
+can be overridden to do something in addition to this in the derived classes.
+
 \membersection{wxWindow::SetFont}\label{wxwindowsetfont}
 
 \func{void}{SetFont}{\param{const wxFont\& }{font}}
 \membersection{wxWindow::SetFont}\label{wxwindowsetfont}
 
 \func{void}{SetFont}{\param{const wxFont\& }{font}}
@@ -2279,7 +2216,7 @@ When defining your own scrollbar behaviour, you will always need to recalculate
 the scrollbar settings when the window size changes. You could therefore put your
 scrollbar calculations and SetScrollbar
 call into a function named AdjustScrollbars, which can be called initially and also
 the scrollbar settings when the window size changes. You could therefore put your
 scrollbar calculations and SetScrollbar
 call into a function named AdjustScrollbars, which can be called initially and also
-from your \helpref{wxWindow::OnSize}{wxwindowonsize} event handler function.
+from your \helpref{wxSizeEvent}{wxsizeevent} handler function.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
@@ -2483,25 +2420,38 @@ The resizing increments are only significant under Motif or Xt.
 
 \membersection{wxWindow::SetSizer}\label{wxwindowsetsizer}
 
 
 \membersection{wxWindow::SetSizer}\label{wxwindowsetsizer}
 
-\func{void}{SetSizer}{\param{wxSizer* }{sizer}}
+\func{void}{SetSizer}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=TRUE}}
 
 Sets the window to have the given layout sizer. The window
 will then own the object, and will take care of its deletion.
 If an existing layout constraints object is already owned by the
 
 Sets the window to have the given layout sizer. The window
 will then own the object, and will take care of its deletion.
 If an existing layout constraints object is already owned by the
-window, it will be deleted.
+window, it will be deleted if the deleteOld parameter is TRUE.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{sizer}{The sizer to set. Pass NULL to disassociate and delete the window's
-sizer.}
+\docparam{sizer}{The sizer to set. Pass NULL to disassociate and conditionally delete
+the window's sizer.  See below.}
+
+\docparam{deleteOld}{If TRUE (the default), this will delete any prexisting sizer.
+Pass FALSE if you wish to handle deleting the old sizer yourself.}
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
+SetSizer now enables and disables Layout automatically, but prior to wxWindows 2.3.3
+the following applied:
+
 You must call \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} to tell a window to use
 the sizer automatically in OnSize; otherwise, you must override OnSize and call Layout()
 explicitly. When setting both a wxSizer and a \helpref{wxLayoutConstraints}{wxlayoutconstraints},
 only the sizer will have effect.
 
 You must call \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} to tell a window to use
 the sizer automatically in OnSize; otherwise, you must override OnSize and call Layout()
 explicitly. When setting both a wxSizer and a \helpref{wxLayoutConstraints}{wxlayoutconstraints},
 only the sizer will have effect.
 
+\membersection{wxWindow::SetSizerAndFit}\label{wxwindowsetsizerandfit}
+
+\func{void}{SetSizerAndFit}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=TRUE}}
+
+The same as \helpref{SetSizer}{wxwindowsetsizer}, except it also sets the size hints
+for the window based on the sizer's minimum size.
+
 \membersection{wxWindow::SetTitle}\label{wxwindowsettitle}
 
 \func{virtual void}{SetTitle}{\param{const wxString\& }{title}}
 \membersection{wxWindow::SetTitle}\label{wxwindowsettitle}
 
 \func{virtual void}{SetTitle}{\param{const wxString\& }{title}}
@@ -2542,6 +2492,37 @@ See also: \helpref{GetToolTip}{wxwindowgettooltip},
 Get the associated tooltip or NULL if none.
 
 
 Get the associated tooltip or NULL if none.
 
 
+\membersection{wxWindow::SetVirtualSize}\label{wxwindowsetvirtualsize}
+
+\func{void}{SetVirtualSize}{\param{int}{ width}, \param{int}{ height}}
+
+\func{void}{SetVirtualSize}{\param{const wxSize\&}{ size}}
+
+Sets the virtual size of the window in pixels.
+
+
+\membersection{wxWindow::SetVirtualSizeHints}\label{wxwindowsetvirtualsizehints}
+
+\func{virtual void}{SetVirtualSizeHints}{\param{int}{ minW},\param{int}{ minH}, \param{int}{ maxW=-1}, \param{int}{ maxH=-1}}
+
+Allows specification of minimum and maximum virtual window sizes.
+If a pair of values is not set (or set to -1), the default values
+will be used.
+
+\wxheading{Parameters}
+
+\docparam{minW}{Specifies the minimum width allowable.}
+
+\docparam{minH}{Specifies the minimum height allowable.}
+
+\docparam{maxW}{Specifies the maximum width allowable.}
+
+\docparam{maxH}{Specifies the maximum height allowable.}
+
+\wxheading{Remarks}
+
+If this function is called, the user will not be able to size the virtual area
+of the window outside the given bounds.
 
 \membersection{wxWindow::SetWindowStyle}\label{wxwindowsetwindowstyle}
 
 
 \membersection{wxWindow::SetWindowStyle}\label{wxwindowsetwindowstyle}