needed to write a program that will display a "hello" dialog. This is usually
a good starting point for learning how to use wxWindows.
+\subsection{Art provider sample}\label{sampleartprovider}
+
+The {\tt artprov} sample shows how you can customize the look of standard
+wxWindows dialogs by replacing default bitmaps/icons with your own versions.
+It also shows how you can use wxArtProvider to
+get stock bitmaps for use in your application.
+
\subsection{Calendar sample}\label{samplecalendar}
This font shows the \helpref{calendar control}{wxcalendarctrl} in action. It
\subsection{Config sample}\label{sampleconfig}
This sample demonstrates the \helpref{wxConfig}{wxconfigbase} classes in a platform
-indenpedent way, i.e. it uses text based files to store a given configuration under
+independent way, i.e. it uses text based files to store a given configuration under
Unix and uses the Registry under Windows.
See \helpref{wxConfig overview}{wxconfigoverview} for the descriptions of all
\subsection{Dialup sample}\label{sampledialup}
This sample shows \helpref{wxDialUpManager}{wxdialupmanager}
-class. It displays in the status bar the information gathered through itsi
-nterface: in particular, the current connection status (online or offline) and
+class. It displays in the status bar the information gathered through its
+interface: in particular, the current connection status (online or offline) and
whether the connection is permanent (in which case a string `LAN' appears in
-the thrid status bar field - but note that you may have be on a LAN not
+the third status bar field - but note that you may have be on a LAN not
connected to the Internet, in which case you will not see this) or not.
Using the menu entries, you may also dial or hang up the line if you have a
modem attached and (this only makes sense for Windows) list the available
connections.
+\subsection{DnD sample}\label{samplednd}
+
+This sample shows both clipboard and drag and drop in action. It is quite non
+trivial and may be safely used as a basis for implementing the clipboard and
+drag and drop operations in a real-life program.
+
+When you run the sample, its screen is split in several parts. On the top,
+there are two listboxes which show the standard derivations of
+\helpref{wxDropTarget}{wxdroptarget}:
+\helpref{wxTextDropTarget}{wxtextdroptarget} and
+\helpref{wxFileDropTarget}{wxfiledroptarget}.
+
+The middle of the sample window is taken by the log window which shows what is
+going on (of course, this only works in debug builds) and may be helpful to see
+the sequence of steps of data transfer.
+
+Finally, the last part is used for dragging text from it to either one of the
+listboxes (only one will accept it) or another application. The last
+functionality available from the main frame is to paste a bitmap from the
+clipboard (or, in the case of Windows version, also a metafile) - it will be
+shown in a new frame.
+
+So far, everything we mentioned was implemented with minimal amount of code
+using standard wxWindows classes. The more advanced features are demonstrated
+if you create a shape frame from the main frame menu. A shape is a geometric
+object which has a position, size and color. It models some
+application-specific data in this sample. A shape object supports its own
+private \helpref{wxDataFormat}{wxdataformat} which means that you may cut and
+paste it or drag and drop (between one and the same or different shapes) from
+one sample instance to another (or the same). However, chances are that no
+other program supports this format and so shapes can also be rendered as
+bitmaps which allows them to be pasted/dropped in many other applications
+(and, under Windows, also as metafiles which are supported by most of Windows
+programs as well - try Write/Wordpad, for example).
+
+Take a look at DnDShapeDataObject class to see how you may use
+\helpref{wxDataObject}{wxdataobject} to achieve this.
+
\subsection{Dynamic sample}\label{sampledynamic}
This sample is a very small sample that demonstrates the use of the
until the program terminates) or asynchronously (notification will come later).
It also shows how to capture the output of the child process in both
-synchronous and asynchronous cases.
-
-\subsection{Scroll subwindow sample}\label{samplescrollsub}
-
-This sample demonstrates the use of the \helpref{wxScrolledWindow}{wxscrolledwindow}
-class including placing subwindows into it and drawing simple graphics. It uses the
-\helpref{SetTargetWindow}{wxscrolledwindowsettargetwindow} method and thus the effect
-of scrolling does not show in the scrolled window itself, but in one of its subwindows.
-
-Additionally, this samples demonstrates how to optimize drawing operations in wxWindows,
-in particular using the \helpref{wxWindow::IsExposed}{wxwindowisexposed} method with
-the aim to prevent unnecessary drawing in the window and thus reducing or removing
-flicker on screen.
-
-\subsection{Rotate sample}\label{samplerotate}
-
-This is a simple example which demonstrates how to rotate an image with
-the \helpref{wxImage::Rotate}{wximagerotate} method. The rotation can
-be done without interpolation (left mouse button) which will be faster,
-or with interpolation (right mouse button) which is slower but gives
-better results.
+synchronous and asynchronous cases and how to kill the processes with
+\helpref{wxProcess::Kill}{wxprocesskill} and test for their existence with
+\helpref{wxProcess::Exists}{wxprocessexists}.
\subsection{Font sample}\label{samplefont}
available (to wxWindows) on the computer and shows all characters of the
chosen font as well.
-\subsection{DnD sample}\label{samplednd}
-
-This sample shows both clipboard and drag and drop in action. It is quite non
-trivial and may be safely used as a basis for implementing the clipboard and
-drag and drop operations in a real-life program.
-
-When you run the sample, its screen is split in several parts. On the top,
-there are two listboxes which show the standard derivations of
-\helpref{wxDropTarget}{wxdroptarget}:
-\helpref{wxTextDropTarget}{wxtextdroptarget} and
-\helpref{wxFileDropTarget}{wxfiledroptarget}.
-
-The middle of the sample window is taken by the log window which shows what is
-going on (of course, this only works in debug builds) and may be helpful to see
-the sequence of steps of data transfer.
-
-Finally, the last part is used for dragging text from it to either one of the
-listboxes (only one will accept it) or another application. The last
-functionality available from the main frame is to paste a bitmap from the
-clipboard (or, in the case of Windows version, also a metafile) - it will be
-shown in a new frame.
-
-So far, everything we mentioned was implemented with minimal amount of code
-using standard wxWindows classes. The more advanced features are demonstrated
-if you create a shape frame from the main frame menu. A shape is a geometric
-object which has a position, size and color. It models some
-application-specific data in this sample. A shape object supports its own
-private \helpref{wxDataFormat}{wxdataformat} which means that you may cut and
-paste it or drag and drop (between one and the same or different shapes) from
-one sample instance to another (or the same). However, chances are that no
-other program supports this format and so shapes can also be rendered as
-bitmaps which allows them to be pasted/dropped in many other applications
-(and, under Windows, also as metafiles which are supported by most of Windows
-programs as well - try Write/Wordpad, for example).
-
-Take a look at DnDShapeDataObject class to see how you may use
-\helpref{wxDataObject}{wxdataobject} to achieve this.
-
\subsection{Grid sample}\label{samplegrid}
TODO.
bitmap is then converted to a wxImage and the foreground colour (black) is
replaced with red using \helpref{wxImage::Replace}{wximagereplace}.
+\subsection{Internat(ionalization) sample}\label{sampleinternat}
+
+The not very clearly named internat sample demonstrates the wxWindows
+internatationalization (i18n for short from now on) features. To be more
+precise, it only shows localization support, i.e. support for translating the
+program messages in another language while true i18n would also involve
+changing the other aspects of the programs behaviour.
+
+More information about this sample can be found in the {\tt readme.txt} file in
+its directory. Please see also \helpref{i18n overview}{internationalization}.
+
\subsection{Layout sample}\label{samplelayout}
The layout sample demonstrates the two different layout systems offered
the menu.
The sample also provides some timings for adding/deleting/sorting a lot of
-(several thousands) controls into the control.
+(several thousands) items into the control.
+
+
+\subsection{Notebook sample}\label{samplenotebook}
+
+This samples shows two controls at once: although initially it was written to
+demonstrate \helpref{wxNotebook}{wxnotebook} only, it can now be also used
+to see \helpref{wxListbook}{wxlistbook} in action. To switch between the two
+controls you need to manually change \texttt{TEST\_LISTBOOK} definition in the
+file \texttt{notebook.h} and rebuild the sample.
+
+
+\subsection{Render sample}\label{samplerender}
+
+This sample shows how to replace the default wxWindows
+\helpref{renderer}{wxrenderernative} and also how to write a shared library
+(DLL) implementing a renderer and load and unload it during the run-time.
+
+
+\subsection{Rotate sample}\label{samplerotate}
+
+This is a simple example which demonstrates how to rotate an image with
+the \helpref{wxImage::Rotate}{wximagerotate} method. The rotation can
+be done without interpolation (left mouse button) which will be faster,
+or with interpolation (right mouse button) which is slower but gives
+better results.
+
+\subsection{Scroll subwindow sample}\label{samplescrollsub}
+
+This sample demonstrates the use of the \helpref{wxScrolledWindow}{wxscrolledwindow}
+class including placing subwindows into it and drawing simple graphics. It uses the
+\helpref{SetTargetWindow}{wxscrolledwindowsettargetwindow} method and thus the effect
+of scrolling does not show in the scrolled window itself, but in one of its subwindows.
+
+Additionally, this samples demonstrates how to optimize drawing operations in wxWindows,
+in particular using the \helpref{wxWindow::IsExposed}{wxwindowisexposed} method with
+the aim to prevent unnecessary drawing in the window and thus reducing or removing
+flicker on screen.
\subsection{Sockets sample}\label{samplesockets}
higher level from using the {\tt EVT\_CHAR} macro. All characters will be logged
in a log window at the bottom of the main window. By pressing some of the function
keys, you can test some actions in the text ctrl as well as get statistics on the
-text ctrls, which is useful for testing if these stastitics actually are correct.
+text ctrls, which is useful for testing if these statistics actually are correct.
Thirdly, on platforms which support it, the sample will offer to copy text to the
\helpref{wxClipboard}{wxclipboard} and to paste text from it. The GTK version will
use the so called PRIMARY SELECTION, which is the pseudo clipboard under X and
-best known from pasting text to the XTerm program.
+best known from pasting text to the XTerm program.
Last not least: some of the text controls have tooltips and the sample also shows
how tooltips can be centrally disabled and their latency controlled.
toolbar.
\end{itemize}
+Some buttons in the main toolbar are check buttons, i.e. they stay checked when
+pressed. On the platforms which support it, the sample also add a combobox
+to the toolbar showing how you can use arbitrary controls and not only buttons
+in it.
+
+If you toggle another toolbar in the sample (using {\tt Ctrl-A}) you will also
+see the radio toolbar buttons in action: the first three buttons form a radio
+group, that is checking any of them automatically unchecks the previously
+checked one.
+
\subsection{Treectrl sample}\label{sampletreectrl}
This sample demonstrates using \helpref{wxTreeCtrl}{wxtreectrl} class. Here