]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/window.tex
Applied patch [ 874495 ] wxMSW: Flat buttons
[wxWidgets.git] / docs / latex / wx / window.tex
index 7284d3209bfe5b66c23fab742bfeac69cb932cde..7ccf07113f0277bde310859de3e6e0ed6b849c76 100644 (file)
@@ -1,15 +1,26 @@
 \section{\class{wxWindow}}\label{wxwindow}
 
-wxWindow is the base class for all windows. Any children of the window will be deleted
-automatically by the destructor before the window itself is deleted.
+wxWindow is the base class for all windows and represents any visible objecto n
+screen. All controls, top level windows and so on are windows. Sizers and
+device contexts are not, however, as they don't appear on screen themselves.
+
+Please note that all children of the window will be deleted automatically by
+the destructor before the window itself is deleted which means that you don't
+have to worry about deleting them manually. Please see the \helpref{window
+deletion overview}{windowdeletionoverview} for more information.
+
+Also note that in this, and many others, wxWindows classes some 
+\texttt{GetXXX()} methods may be overloaded (as, for example, 
+\helpref{GetSize}{wxwindowgetsize} or 
+\helpref{GetClientSize}{wxwindowgetclientsize}). In this case, the overloads
+are non-virtual because having multiple virtual functions with the same name
+results in a virtual function name hiding at the derived class level (in
+English, this means that the derived class has to override all overloaded
+variants if it overrides any of them). To allow overriding them in the derived
+class, wxWindows uses a unique protected virtual \texttt{DoGetXXX()} method
+and all \texttt{GetXXX()} ones are forwarded to it, so overriding the former
+changes the behaviour of the latter.
 
-%Please note that we documented a number of handler functions (OnChar(), OnMouse() etc.) in this
-%help text. These must not be called by a user program and are documented only for illustration.
-%On several platforms, only a few of these handlers are actually written (they are not always
-%needed) and if you are uncertain on how to add a certain behaviour to a window class, intercept
-%the respective event as usual and call \helpref{wxEvent::Skip}{wxeventskip} so that the native
-%platform can implement its native behaviour or just ignore the event if nothing needs to be
-%done.
 
 \wxheading{Derived from}
 
@@ -33,6 +44,7 @@ for this style. }
 \twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.}
 \twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border. GTK only. }
 \twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. }
+\twocolitem{\windowstyle{wxNO\_BORDER}}{Displays no border, overriding the default border style for the window.}
 \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
 events. Windows only.}
 \twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
@@ -682,7 +694,7 @@ Returns the background colour of the window.
 
 \membersection{wxWindow::GetBestSize}\label{wxwindowgetbestsize}
 
-\constfunc{virtual wxSize}{GetBestSize}{\void}
+\constfunc{wxSize}{GetBestSize}{\void}
 
 This functions returns the best acceptable minimal size for the window. For
 example, for a static control, it will be the minimal size such that the
@@ -736,12 +748,12 @@ Returns a reference to the list of the window's children.
 
 \membersection{wxWindow::GetClientSize}\label{wxwindowgetclientsize}
 
-\constfunc{virtual void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
+\constfunc{void}{GetClientSize}{\param{int* }{width}, \param{int* }{height}}
 
 \perlnote{In wxPerl this method takes no parameter and returns
 a 2-element list {\tt ( width, height )}.}
 
-\constfunc{virtual wxSize}{GetClientSize}{\void}
+\constfunc{wxSize}{GetClientSize}{\void}
 
 This gets the size of the window `client area' in pixels.
 The client area is the area which may be drawn on by the programmer,
@@ -1012,9 +1024,9 @@ Returns the built-in scrollbar range.
 
 \membersection{wxWindow::GetSize}\label{wxwindowgetsize}
 
-\constfunc{virtual void}{GetSize}{\param{int* }{width}, \param{int* }{height}}
+\constfunc{void}{GetSize}{\param{int* }{width}, \param{int* }{height}}
 
-\constfunc{virtual wxSize}{GetSize}{\void}
+\constfunc{wxSize}{GetSize}{\void}
 
 This gets the size of the entire window in pixels,
 including title bar, border, scrollbars, etc.