@li @sample{display}
@li @sample{dnd}
@li @sample{docview}
-@li @sample{docvwmdi}
@li @sample{dragimag}
@li @sample{drawing}
@li @sample{editlbox}
@li @sample{richtext}
@li @sample{sashtest}
@li @sample{scroll}
-@li @sample{scrollsub}
@li @sample{shaped}
@li @sample{sockets}
@li @sample{sound}
@sampledir{docview}
-@see @sample{docvwmdi}, @sample{mdi}
-
-@section page_samples_docvwmdi Document/View MDI Sample
-
-@sampleabout{@ref overview_docview in MDI}
-
-@see @sample{docview}, @sample{mdi}
-
-@sampledir{docvwmdi}
+@see @sample{mdi}
@section page_samples_dragimag Drag Image Sample
@sampleabout{MDI}
-@see @sample{docview}, @sample{docvwmdi}
+@see @sample{docview}
@sampledir{mdi}
@sampleabout{wxScrolledWindow}
-@see @sample{scrollsub}
-
-@sampledir{scroll}
-
-@section page_samples_scrollsub Scroll Subwindow Sample
-
This sample demonstrates use of the ::wxScrolledWindow
-class including placing subwindows into it and drawing simple graphics. It uses the
-SetTargetWindow method and thus the effect
-of scrolling does not show in the scrolled window itself, but in one of its subwindows.
+class including placing subwindows into it and drawing simple graphics. It uses
+the SetTargetWindow 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 wxWidgets,
-in particular using the wxWindow::IsExposed() method with
-the aim to prevent unnecessary drawing in the window and thus reducing or removing
-flicker on screen.
+Additionally, this samples demonstrates how to optimize drawing operations in
+wxWidgets, in particular using the wxWindow::IsExposed() method with the aim to
+prevent unnecessary drawing in the window and thus reducing or removing flicker
+on screen.
-@sampledir{scrollsub}
+@sampledir{scroll}
@section page_samples_shaped Shaped Window Sample
@section page_samples_thread Thread Sample
This sample demonstrates use of threads in connection with GUI programs.
+
There are two fundamentally different ways to use threads in GUI programs and
either way has to take care of the fact that the GUI library itself usually
is not multi-threading safe, i.e. that it might crash if two threads try to
-access the GUI class simultaneously. One way to prevent that is have a normal
-GUI program in the main thread and some worker threads which work in the
-background. In order to make communication between the main thread and the
-worker threads possible, wxWidgets offers the wxPostEvent
-function and this sample makes use of this function.
-
-The other way to use a so called Mutex (such as those offered in the wxMutex
-class) that prevent threads from accessing the GUI classes as long as any other
-thread accesses them. For this, wxWidgets has the wxMutexGuiEnter
-and wxMutexGuiLeave functions, both of which are
-used and tested in the sample as well.
+access the GUI class simultaneously.
+
+One way to prevent that is have a normal GUI program in the main thread and some
+worker threads which work in the background. In order to make communication between
+the main thread and the worker threads possible, wxWidgets offers the ::wxQueueEvent
+function and this sample demonstrates its usage.
+
+The other way is to use a ::wxMutexGuiEnter and ::wxMutexGuiLeave functions, but
+this is not currently shown in the sample.
See also @ref overview_thread and wxThread.