git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@95 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			213 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{Common dialogs overview}\label{commondialogsoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxColourDialog}{wxcolourdialog}, \helpref{wxFontDialog}{wxfontdialog},
 | 
						|
\rtfsp\helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxFileDialog}{wxfiledialog},\rtfsp
 | 
						|
\helpref{wxDirDialog}{wxdirdialog}, \helpref{wxTextEntryDialog}{wxtextentrydialog},\rtfsp
 | 
						|
\helpref{wxMessageDialog}{wxmessagedialog}, \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog},\rtfsp
 | 
						|
\helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}
 | 
						|
 | 
						|
Common dialog classes and functions encapsulate commonly-needed dialog box requirements.
 | 
						|
They are all `modal', grabbing the flow of control until the user dismisses the dialog,
 | 
						|
to make them easy to use within an application.
 | 
						|
 | 
						|
Some dialogs have both platform-dependent and platform-independent implementations,
 | 
						|
so that if underlying windowing systems that do not provide the required functionality,
 | 
						|
the generic classes and functions can stand in. For example, under MS Windows, wxColourDialog
 | 
						|
uses the standard colour selector. There is also an equivalent called wxGenericColourDialog
 | 
						|
for other platforms, and a macro defines wxColourDialog to be the same as wxGenericColourDialog
 | 
						|
on non-MS Windows platforms. However, under MS Windows, the generic dialog can also be
 | 
						|
used, for testing or other purposes.
 | 
						|
 | 
						|
\subsection{wxColourDialog overview}\label{wxcolourdialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxColourDialog}{wxcolourdialog}, \helpref{wxColourData}{wxcolourdata}
 | 
						|
 | 
						|
The wxColourDialog presents a colour selector to the user, and returns
 | 
						|
with colour information.
 | 
						|
 | 
						|
{\bf The MS Windows colour selector}
 | 
						|
 | 
						|
Under Windows, the native colour selector common dialog is used. This
 | 
						|
presents a dialog box with three main regions: at the top left, a
 | 
						|
palette of 48 commonly-used colours is shown. Under this, there is a
 | 
						|
palette of 16 `custom colours' which can be set by the application if
 | 
						|
desired. Additionally, the user may open up the dialog box to show
 | 
						|
a right-hand panel containing controls to select a precise colour, and add
 | 
						|
it to the custom colour palette.
 | 
						|
 | 
						|
{\bf The generic colour selector}
 | 
						|
 | 
						|
Under non-MS Windows platforms, the colour selector is a simulation of
 | 
						|
most of the features of the MS Windows selector. Two palettes of 48
 | 
						|
standard and 16 custom colours are presented, with the right-hand area
 | 
						|
containing three sliders for the user to select a colour from red,
 | 
						|
green and blue components. This colour may be added to the custom colour
 | 
						|
palette, and will replace either the currently selected custom colour,
 | 
						|
or the first one in the palette if none is selected. The RGB colour sliders
 | 
						|
are not optional in the generic colour selector. The generic colour
 | 
						|
selector is also available under MS Windows; use the name
 | 
						|
wxGenericColourDialog.
 | 
						|
 | 
						|
{\bf Example}
 | 
						|
 | 
						|
In the samples/dialogs directory, there is an example of using
 | 
						|
the wxColourDialog class. Here is an excerpt, which
 | 
						|
sets various parameters of a wxColourData object, including
 | 
						|
a grey scale for the custom colours. If the user did not cancel
 | 
						|
the dialog, the application retrieves the selected colour and
 | 
						|
uses it to set the background of a window.
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
  wxColourData data;
 | 
						|
  data.SetChooseFull(TRUE);
 | 
						|
  for (int i = 0; i < 16; i++)
 | 
						|
  {
 | 
						|
    wxColour colour(i*16, i*16, i*16);
 | 
						|
    data.SetCustomColour(i, colour);
 | 
						|
  }
 | 
						|
      
 | 
						|
  wxColourDialog dialog(this, &data);
 | 
						|
  if (dialog.ShowModal() == wxID_OK)
 | 
						|
  {
 | 
						|
    wxColourData retData = dialog.GetColourData();
 | 
						|
    wxColour col = retData.GetColour();
 | 
						|
    wxBrush brush(col, wxSOLID);
 | 
						|
    myWindow->SetBackground(brush);
 | 
						|
    myWindow->Clear();
 | 
						|
    myWindow->Refresh();
 | 
						|
  }
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
 | 
						|
\subsection{wxFontDialog overview}\label{wxfontdialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxFontDialog}{wxfontdialog}, \helpref{wxFontData}{wxfontdata}
 | 
						|
 | 
						|
The wxFontDialog presents a font selector to the user, and returns
 | 
						|
with font and colour information.
 | 
						|
 | 
						|
{\bf The MS Windows font selector}
 | 
						|
 | 
						|
Under Windows, the native font selector common dialog is used. This
 | 
						|
presents a dialog box with controls for font name, point size, style, weight,
 | 
						|
underlining, strikeout and text foreground colour. A sample of the
 | 
						|
font is shown on a white area of the dialog box. Note that
 | 
						|
in the translation from full MS Windows fonts to wxWindows font
 | 
						|
conventions, strikeout is ignored and a font family (such as
 | 
						|
Swiss or Modern) is deduced from the actual font name (such as Arial
 | 
						|
or Courier). The full range of Windows fonts cannot be used in wxWindows
 | 
						|
at present.
 | 
						|
 | 
						|
{\bf The generic font selector}
 | 
						|
 | 
						|
Under non-MS Windows platforms, the font selector is simpler.
 | 
						|
Controls for font family, point size, style, weight,
 | 
						|
underlining and text foreground colour are provided, and
 | 
						|
a sample is shown upon a white background. The generic font selector
 | 
						|
is also available under MS Windows; use the name wxGenericFontDialog.
 | 
						|
 | 
						|
In both cases, the application is responsible for deleting the
 | 
						|
new font returned from calling wxFontDialog::Show (if any).
 | 
						|
This returned font is guaranteed to be a new object and not
 | 
						|
one currently in use in the application.
 | 
						|
 | 
						|
{\bf Example}
 | 
						|
 | 
						|
In the samples/dialogs directory, there is an example of using
 | 
						|
the wxFontDialog class. The application uses the returned font
 | 
						|
and colour for drawing text on a canvas. Here is an excerpt:
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
  wxFontData data;
 | 
						|
  data.SetInitialFont(canvasFont);
 | 
						|
  data.SetColour(canvasTextColour);
 | 
						|
      
 | 
						|
  wxFontDialog dialog(this, &data);
 | 
						|
  if (dialog.ShowModal() == wxID_OK)
 | 
						|
  {
 | 
						|
    wxFontData retData = dialog.GetFontData();
 | 
						|
    canvasFont = retData.GetChosenFont();
 | 
						|
    canvasTextColour = retData.GetColour();
 | 
						|
    myWindow->Refresh();
 | 
						|
  }
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
\subsection{wxPrintDialog overview}\label{wxprintdialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxPrintData}{wxprintdata}
 | 
						|
 | 
						|
This class represents the print and print setup common dialogs.
 | 
						|
You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from
 | 
						|
a successfully dismissed print dialog.
 | 
						|
 | 
						|
The samples/printing example shows how to use it: see \helpref{Printing overview}{printingoverview} for
 | 
						|
an excerpt from this example.
 | 
						|
 | 
						|
\subsection{wxFileDialog overview}\label{wxfiledialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxFileDialog}{wxfiledialog}
 | 
						|
 | 
						|
Pops up a file selector box. In Windows, this is the common file selector
 | 
						|
dialog. In X, this is a file selector box with somewhat less functionality.
 | 
						|
The path and filename are distinct elements of a full file pathname.
 | 
						|
If path is ``", the current directory will be used. If filename is ``",
 | 
						|
no default filename will be supplied. The wildcard determines what files
 | 
						|
are displayed in the file selector, and file extension supplies a type
 | 
						|
extension for the required filename. Flags may be a combination of wxOPEN,
 | 
						|
wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, or 0. They are only significant
 | 
						|
at present in Windows.
 | 
						|
 | 
						|
Both the X and Windows versions implement a wildcard filter. Typing a
 | 
						|
filename containing wildcards (*, ?) in the filename text item, and
 | 
						|
clicking on Ok, will result in only those files matching the pattern being
 | 
						|
displayed. In the X version, supplying no default name will result in the
 | 
						|
wildcard filter being inserted in the filename text item; the filter is
 | 
						|
ignored if a default name is supplied.
 | 
						|
 | 
						|
Under Windows (only), the wildcard may be a specification for multiple
 | 
						|
types of file with a description for each, such as:
 | 
						|
 | 
						|
\begin{verbatim}
 | 
						|
 "BMP files (*.bmp) | *.bmp | GIF files (*.gif) | *.gif"
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
\subsection{wxDirDialog overview}\label{wxdirdialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxDirDialog}{wxdirdialog}
 | 
						|
 | 
						|
This dialog shows a directory selector dialog, allowing the user to select a single
 | 
						|
directory.
 | 
						|
 | 
						|
\subsection{wxTextEntryDialog overview}\label{wxtextentrydialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxTextEntryDialog}{wxtextentrydialog}
 | 
						|
 | 
						|
This is a dialog with a text entry field. The value that the user
 | 
						|
entered is obtained using \helpref{wxTextEntryDialog::GetValue}{wxtextentrydialoggetvalue}.
 | 
						|
 | 
						|
\subsection{wxMessageDialog overview}\label{wxmessagedialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxMessageDialog}{wxmessagedialog}
 | 
						|
 | 
						|
This dialog shows a message, plus buttons that can be chosen from OK, Cancel, Yes, and No.
 | 
						|
Under Windows, an optional icon can be shown, such as an exclamation mark or question mark.
 | 
						|
 | 
						|
The return value of \helpref{wxMessageDialog::ShowModal}{wxmessagedialogshowmodal} indicates
 | 
						|
which button the user pressed.
 | 
						|
 | 
						|
\subsection{wxSingleChoiceDialog overview}\label{wxsinglechoicedialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}
 | 
						|
 | 
						|
This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can
 | 
						|
select one of them. The selection can be obtained from the dialog as an index,
 | 
						|
a string or client data.
 | 
						|
 | 
						|
\subsection{wxMultipleChoiceDialog overview}\label{wxmultiplechoicedialogoverview}
 | 
						|
 | 
						|
Classes: \helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}
 | 
						|
 | 
						|
This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can
 | 
						|
select one or more of them. TODO.
 | 
						|
 |