]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/window.tex
added a way to create fonts with specified pixel size
[wxWidgets.git] / docs / latex / wx / window.tex
index 7174076d68d29719497a28695f07535ba5e8cfa5..096bcc38e873ca38962b0437db3375e3b56c5856 100644 (file)
@@ -1,6 +1,6 @@
 \section{\class{wxWindow}}\label{wxwindow}
 
-wxWindow is the base class for all windows and represents any visible objectn
+wxWindow is the base class for all windows and represents any visible object on
 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.
 
@@ -142,7 +142,7 @@ correctly sized. }
 \docparam{name}{Window name.}
 
 
-\membersection{wxWindow::\destruct{wxWindow}}
+\membersection{wxWindow::\destruct{wxWindow}}\label{wxwindowdtor}
 
 \func{}{\destruct{wxWindow}}{\void}
 
@@ -158,7 +158,7 @@ can delete a window only when it is safe to do so, in idle time.
 \helpref{wxCloseEvent}{wxcloseevent}
 
 
-\membersection{wxWindow::AddChild}
+\membersection{wxWindow::AddChild}\label{wxwindowaddchild}
 
 \func{virtual void}{AddChild}{\param{wxWindow* }{child}}
 
@@ -287,7 +287,7 @@ Clears the window by filling it with the current background colour. Does not
 cause an erase background event to be generated.
 
 
-\membersection{wxWindow::ClientToScreen}
+\membersection{wxWindow::ClientToScreen}\label{wxwindowclienttoscreen}
 
 \constfunc{virtual void}{ClientToScreen}{\param{int* }{x}, \param{int* }{y}}
 
@@ -451,7 +451,7 @@ windows.
 to the list of windows pending real deletion.
 
 
-\membersection{wxWindow::DestroyChildren}
+\membersection{wxWindow::DestroyChildren}\label{wxwindowdestroychildren}
 
 \func{virtual void}{DestroyChildren}{\void}
 
@@ -700,6 +700,36 @@ Returns the background colour of the window.
 \helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour}
 
+\membersection{wxWindow::GetBackgroundStyle}\label{wxwindowgetbackgroundstyle}
+
+\constfunc{virtual wxBackgroundStyle}{GetBackgroundStyle}{\void}
+
+Returns the background style of the window. The background style indicates
+whether background colour should be determined by the system (wxBG\_STYLE\_SYSTEM),
+be set to a specific colour (wxBG\_STYLE\_COLOUR), or should be left to the
+application to implement (wxBG\_STYLE\_CUSTOM).
+
+On GTK+, use of wxBG\_STYLE\_CUSTOM allows the flicker-free drawing of a custom
+background, such as a tiled bitmap. Currently the style has no effect on other platforms.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
+\helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
+\helpref{wxWindow::SetBackgroundStyle}{wxwindowsetbackgroundstyle}
+
+\membersection{wxWindow::GetBestFittingSize}\label{wxwindowgetbestfittingsize}
+
+\constfunc{wxSize}{GetBestFittingSize}{\void}
+
+Merges the window's best size into the min size and returns the result.
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
+\helpref{wxWindow::SetBestFittingSize}{wxwindowsetbestfittingsize},\rtfsp
+\helpref{wxWindow::SetSizeHints}{wxwindowsetsizehints}
+
 
 \membersection{wxWindow::GetBestSize}\label{wxwindowgetbestsize}
 
@@ -734,28 +764,28 @@ Returns the currently captured window.
 \helpref{wxMouseCaptureChangedEvent}{wxmousecapturechangedevent}
 
 
-\membersection{wxWindow::GetCharHeight}
+\membersection{wxWindow::GetCharHeight}\label{wxwindowgetcharheight}
 
 \constfunc{virtual int}{GetCharHeight}{\void}
 
 Returns the character height for this window.
 
 
-\membersection{wxWindow::GetCharWidth}
+\membersection{wxWindow::GetCharWidth}\label{wxwindowgetcharwidth}
 
 \constfunc{virtual int}{GetCharWidth}{\void}
 
 Returns the average character width for this window.
 
 
-\membersection{wxWindow::GetChildren}
+\membersection{wxWindow::GetChildren}\label{wxwindowgetchildren}
 
 \func{wxList\&}{GetChildren}{\void}
 
 Returns a reference to the list of the window's children.
 
 
-\membersection{wxControl::GetClassDefaultAttributes}\label{wxwindowgetclassdefaultattributes}
+\membersection{wxWindow::GetClassDefaultAttributes}\label{wxwindowgetclassdefaultattributes}
 
 \func{static wxVisualAttributes}{GetClassDefaultAttributes}{\param{wxWindowVariant}{ variant = \texttt{wxWINDOW\_VARIANT\_NORMAL}}}
 
@@ -846,7 +876,7 @@ Return the cursor associated with this window.
 \helpref{wxWindow::SetCursor}{wxwindowsetcursor}
 
 
-\membersection{wxControl::GetDefaultAttributes}\label{wxwindowgetdefaultattributes}
+\membersection{wxWindow::GetDefaultAttributes}\label{wxwindowgetdefaultattributes}
 
 \constfunc{virtual wxVisualAttributes}{GetDefaultAttributes}{\void}
 
@@ -902,9 +932,9 @@ Returns the extra style bits for the window.
 
 \membersection{wxWindow::GetFont}\label{wxwindowgetfont}
 
-\constfunc{wxFont\&}{GetFont}{\void}
+\constfunc{wxFont}{GetFont}{\void}
 
-Returns a reference to the font for this window.
+Returns the font for this window.
 
 \wxheading{See also}
 
@@ -930,7 +960,7 @@ be used at all.
 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour}
 
 
-\membersection{wxWindow::GetGrandParent}
+\membersection{wxWindow::GetGrandParent}\label{wxwindowgetgrandparent}
 
 \constfunc{wxWindow*}{GetGrandParent}{\void}
 
@@ -980,7 +1010,7 @@ Each window has an integer identifier. If the application has not provided one
 \helpref{Window identifiers}{windowids}
 
 
-\membersection{wxWindow::GetLabel}
+\membersection{wxWindow::GetLabel}\label{wxwindowgetlabel}
 
 \constfunc{virtual wxString }{GetLabel}{\void}
 
@@ -1012,7 +1042,7 @@ name in the window constructor or via \helpref{wxWindow::SetName}{wxwindowsetnam
 \helpref{wxWindow::SetName}{wxwindowsetname}
 
 
-\membersection{wxWindow::GetParent}
+\membersection{wxWindow::GetParent}\label{wxwindowgetparent}
 
 \constfunc{virtual wxWindow*}{GetParent}{\void}
 
@@ -1282,7 +1312,7 @@ By ``intelligently'' the following is meant: by default, all windows use their
 own \helpref{default}{wxwindowgetclassdefaultattributes} attributes. However
 if some of the parents attributes are explicitly (that is, using 
 \helpref{SetFont}{wxwindowsetfont} and not 
-\helpref{SetDefaultFont}{wxwindowsetdefaultfont}) changed \emph{and} if the
+\helpref{SetOwnFont}{wxwindowsetownfont}) changed \emph{and} if the
 corresponding attribute hadn't been explicitly set for this window itself,
 then this window takes the same value as used by the parent. In addition, if
 the window overrides \helpref{ShouldInheritColours}{wxwindowshouldinheritcolours} 
@@ -1448,6 +1478,52 @@ implements the following methods:\par
 \end{twocollist}}
 }
 
+
+\membersection{wxWindow::MoveAfterInTabOrder}\label{wxwindowmoveafterintaborder}
+
+\func{void}{MoveAfterInTabOrder}{\param{wxWindow *}{win}}
+
+Moves this window in the tab navigation order after the specified \arg{win}.
+This means that when the user presses \texttt{TAB} key on that other window,
+the focus switches to this window.
+
+Default tab order is the same as creation order, this function and 
+\helpref{MoveBeforeInTabOrder()}{wxwindowmovebeforeintaborder} allow to change
+it after creating all the windows.
+
+\wxheading{Parameters}
+
+\docparam{win}{A sibling of this window which should precede it in tab order,
+must not be NULL}
+
+
+\membersection{wxWindow::MoveBeforeInTabOrder}\label{wxwindowmovebeforeintaborder}
+
+\func{void}{MoveBeforeInTabOrder}{\param{wxWindow *}{win}}
+
+Same as \helpref{MoveAfterInTabOrder}{wxwindowmoveafterintaborder} except that
+it inserts this window just before \arg{win} instead of putting it right after
+it.
+
+
+\membersection{wxWindow::Navigate}\label{wxwindownavigate}
+
+\func{bool}{Navigate}{\param{int}{ flags = wxNavigationKeyEvent::IsForward}}
+
+Does keyboard navigation from this window to another, by sending
+a wxNavigationKeyEvent.
+
+\wxheading{Parameters}
+
+\docparam{flags}{A combination of wxNavigationKeyEvent::IsForward and wxNavigationKeyEvent::WinChange.}
+
+\wxheading{Remarks}
+
+You may wish to call this from a text control custom keypress handler to do the default
+navigation behaviour for the tab key, since the standard default behaviour for
+a multiline text control with the wxTE\_PROCESS\_TAB style is to insert a tab
+and not navigate to the next control.
+
 %% VZ: wxWindow::OnXXX() functions should not be documented but I'm leaving
 %%     the old docs here in case we want to move any still needed bits to
 %%     the right location (i.e. probably the corresponding events docs)
@@ -1533,7 +1609,7 @@ implements the following methods:\par
 %%
 %% This function is only relevant to top-level windows (frames and dialogs), and under
 %% Windows only. Under GTK the normal EVT\_CHAR\_ event has the functionality, i.e.
-%% you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
+%% you can intercept it, and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
 %% the window won't get the event.
 %%
 %% \wxheading{See also}
@@ -1987,14 +2063,15 @@ default value is {\tt false}.}
 
 \membersection{wxWindow::PopupMenu}\label{wxwindowpopupmenu}
 
-\func{bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{const wxPoint\& }{pos}}
+\func{bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{const wxPoint\& }{pos = wxDefaultPosition}}
 
 \func{bool}{PopupMenu}{\param{wxMenu* }{menu}, \param{int }{x}, \param{int }{y}}
 
 Pops up the given menu at the specified coordinates, relative to this
 window, and returns control when the user has dismissed the menu. If a
 menu item is selected, the corresponding menu event is generated and will be
-processed as usually.
+processed as usually. If the coordinates are not specified, current mouse
+cursor position is used.
 
 \wxheading{Parameters}
 
@@ -2012,9 +2089,13 @@ processed as usually.
 
 \wxheading{Remarks}
 
-Just before the menu is popped up, \helpref{wxMenu::UpdateUI}{wxmenuupdateui} is called
-to ensure that the menu items are in the correct state. The menu does not get deleted
-by the window.
+Just before the menu is popped up, \helpref{wxMenu::UpdateUI}{wxmenuupdateui}
+is called to ensure that the menu items are in the correct state. The menu does
+not get deleted by the window.
+
+It is recommended to not explicitly specify coordinates when calling PopupMenu
+in response to mouse click, because some of the ports (namely, wxGTK) can do
+a better job of positioning the menu in that case.
 
 \pythonnote{In place of a single overloaded method name, wxPython
 implements the following methods:\par
@@ -2329,17 +2410,18 @@ from within wxWindow::OnSize functions.}
 
 \membersection{wxWindow::SetBackgroundColour}\label{wxwindowsetbackgroundcolour}
 
-\func{virtual void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
+\func{virtual bool}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
 
 Sets the background colour of the window.
 
 Please see \helpref{InheritAttributes}{wxwindowinheritattributes} for
 explanation of the difference between this method and 
-\helpref{SetDefaultBackgroundColour}{wxwindowsetdefaultbackgroundcolour}.
+\helpref{SetOwnBackgroundColour}{wxwindowsetownbackgroundcolour}.
 
 \wxheading{Parameters}
 
-\docparam{colour}{The colour to be used as the background colour.}
+\docparam{colour}{The colour to be used as the background colour, pass
+  {\tt wxNullColour} to reset to the default colour.}
 
 \wxheading{Remarks}
 
@@ -2351,9 +2433,11 @@ Note that setting the background colour does not cause an immediate refresh, so
 may wish to call \helpref{wxWindow::ClearBackground}{wxwindowclearbackground} or \helpref{wxWindow::Refresh}{wxwindowrefresh} after
 calling this function.
 
-Use this function with care under GTK+ as the new appearance of the window might
-not look equally well when used with "Themes", i.e GTK+'s ability to change its
-look as the user wishes with run-time loadable modules.
+Using this function will disable attempts to use themes for this
+window, if the system supports them.  Use with care since usually the
+themes represent the appearance chosen by the user to be used for all
+applications on the system.
+
 
 \wxheading{See also}
 
@@ -2364,6 +2448,43 @@ look as the user wishes with run-time loadable modules.
 \helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
 \helpref{wxEraseEvent}{wxeraseevent}
 
+\membersection{wxWindow::SetBackgroundStyle}\label{wxwindowsetbackgroundstyle}
+
+\func{virtual void}{SetBackgroundStyle}{\param{wxBackgroundStyle}{ style}}
+
+Sets the background style of the window. The background style indicates
+whether background colour should be determined by the system (wxBG\_STYLE\_SYSTEM),
+be set to a specific colour (wxBG\_STYLE\_COLOUR), or should be left to the
+application to implement (wxBG\_STYLE\_CUSTOM).
+
+On GTK+, use of wxBG\_STYLE\_CUSTOM allows the flicker-free drawing of a custom
+background, such as a tiled bitmap. Currently the style has no effect on other platforms.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetBackgroundColour}{wxwindowsetbackgroundcolour},\rtfsp
+\helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
+\helpref{wxWindow::GetBackgroundStyle}{wxwindowgetbackgroundstyle}
+
+
+\membersection{wxWindow::SetBestFittingSize}\label{wxwindowsetbestfittingsize}
+
+\func{void}{SetBestFittingSize}{\param{const wxSize& }{size = wxDefaultSize}}
+
+A {\it smart} SetSize that will fill in default size components with the
+window's {\it best} size values.  Also sets the window's minsize to
+the value passed in for use with sizers.  This means that if a full or
+partial size is passed to this function then the sizers will use that
+size instead of the results of GetBestSize to determine the minimum
+needs of the window for layout.
+
+\wxheading{See also}
+
+\helpref{wxWindow::SetSize}{wxwindowsetsize},\rtfsp
+\helpref{wxWindow::GetBestSize}{wxwindowgetbestsize},\rtfsp
+\helpref{wxWindow::GetBestFittingSize}{wxwindowgetbestfittingsize},\rtfsp
+\helpref{wxWindow::SetSizeHints}{wxwindowsetsizehints}
+
 
 \membersection{wxWindow::SetCaret}\label{wxwindowsetcaret}
 
@@ -2452,9 +2573,9 @@ explicitly. When setting both a wxLayoutConstraints and a \helpref{wxSizer}{wxsi
 sizer will have effect.
 
 
-\membersection{wxWindow::SetDefaultBackgroundColour}\label{wxwindowsetdefaultbackgroundcolour}
+\membersection{wxWindow::SetOwnBackgroundColour}\label{wxwindowsetownbackgroundcolour}
 
-\func{void}{SetDefaultBackgroundColour}{\param{const wxColour\& }{colour}}
+\func{void}{SetOwnBackgroundColour}{\param{const wxColour\& }{colour}}
 
 Sets the background colour of the window but prevents it from being inherited
 by the children of this window.
@@ -2465,9 +2586,9 @@ by the children of this window.
 \helpref{InheritAttributes}{wxwindowinheritattributes}
 
 
-\membersection{wxWindow::SetDefaultFont}\label{wxwindowsetdefaultfont}
+\membersection{wxWindow::SetOwnFont}\label{wxwindowsetownfont}
 
-\func{void}{SetDefaultBackgroundColour}{\param{const wxColour\& }{colour}}
+\func{void}{SetOwnBackgroundColour}{\param{const wxColour\& }{colour}}
 
 Sets the font of the window but prevents it from being inherited by the
 children of this window.
@@ -2478,9 +2599,9 @@ children of this window.
 \helpref{InheritAttributes}{wxwindowinheritattributes}
 
 
-\membersection{wxWindow::SetDefaultForegroundColour}\label{wxwindowsetdefaultforegroundcolour}
+\membersection{wxWindow::SetOwnForegroundColour}\label{wxwindowsetownforegroundcolour}
 
-\func{void}{SetDefaultForegroundColour}{\param{const wxColour\& }{colour}}
+\func{void}{SetOwnForegroundColour}{\param{const wxColour\& }{colour}}
 
 Sets the foreground colour of the window but prevents it from being inherited
 by the children of this window.
@@ -2601,13 +2722,14 @@ can be overridden to do something in addition to this in the derived classes.
 
 Sets the font for this window. This function should not be called for the
 parent window if you don't want its font to be inherited by its children,
-use \helpref{SetDefaultFont}{wxwindowsetdefaultfont} instead in this case and
+use \helpref{SetOwnFont}{wxwindowsetownfont} instead in this case and
 see \helpref{InheritAttributes}{wxwindowinheritattributes} for more
 explanations.
 
 \wxheading{Parameters}
 
-\docparam{font}{Font to associate with this window.}
+\docparam{font}{Font to associate with this window, pass
+{\tt wxNullFont} to reset to the default font.}
 
 \wxheading{See also}
 
@@ -2623,11 +2745,12 @@ Sets the foreground colour of the window.
 
 Please see \helpref{InheritAttributes}{wxwindowinheritattributes} for
 explanation of the difference between this method and 
-\helpref{SetDefaultForegroundColour}{wxwindowsetdefaultforegroundcolour}.
+\helpref{SetOwnForegroundColour}{wxwindowsetownforegroundcolour}.
 
 \wxheading{Parameters}
 
-\docparam{colour}{The colour to be used as the foreground colour.}
+\docparam{colour}{The colour to be used as the foreground colour, pass
+  {\tt wxNullColour} to reset to the default colour.}
 
 \wxheading{Remarks}
 
@@ -2635,9 +2758,10 @@ The interpretation of foreground colour is open to interpretation according
 to the window class; it may be the text colour or other colour, or it may not
 be used at all.
 
-Note that when using this functions under GTK, you will disable the so called "themes",
-i.e. the user chosen appearance of windows and controls, including the themes of
-their parent windows.
+Using this function will disable attempts to use themes for this
+window, if the system supports them.  Use with care since usually the
+themes represent the appearance chosen by the user to be used for all
+applications on the system.
 
 \wxheading{See also}