Move examples to proper location.
authorFrederik Gladhorn <frederik.gladhorn@digia.com>
Wed, 19 Sep 2012 07:15:38 +0000 (09:15 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 21 Sep 2012 17:59:16 +0000 (19:59 +0200)
Change-Id: Ib808f5d99cb8217f8786411b531fa5bc7fa5250a
Reviewed-by: Martin Smith <martin.smith@digia.com>
37 files changed:
examples/tools/doc/completer-example-country.png [moved from doc/src/images/completer-example-country.png with 100% similarity]
examples/tools/doc/completer-example-word.png [moved from doc/src/images/completer-example-word.png with 100% similarity]
examples/tools/doc/completer-example.png [moved from doc/src/images/completer-example.png with 100% similarity]
examples/tools/doc/completer.qdoc [moved from doc/src/examples/completer.qdoc with 85% similarity]
examples/tools/doc/contiguouscache.qdoc [moved from doc/src/examples/contiguouscache.qdoc with 96% similarity]
examples/tools/doc/echoplugin.qdoc [moved from doc/src/examples/echoplugin.qdoc with 90% similarity]
examples/tools/doc/echopluginexample.png [moved from doc/src/images/echopluginexample.png with 100% similarity]
examples/tools/doc/i18n.qdoc [moved from doc/src/examples/i18n.qdoc with 97% similarity]
examples/tools/doc/plugandpaint-plugindialog.png [moved from doc/src/images/plugandpaint-plugindialog.png with 100% similarity]
examples/tools/doc/plugandpaint.png [moved from doc/src/images/plugandpaint.png with 100% similarity]
examples/tools/doc/plugandpaint.qdoc [moved from doc/src/examples/plugandpaint.qdoc with 85% similarity]
examples/tools/doc/regexp-example.png [moved from doc/src/images/regexp-example.png with 100% similarity]
examples/tools/doc/regexp.qdoc [moved from doc/src/examples/regexp.qdoc with 97% similarity]
examples/tools/doc/settingseditor-example.png [moved from doc/src/images/settingseditor-example.png with 100% similarity]
examples/tools/doc/settingseditor.qdoc [moved from doc/src/examples/settingseditor.qdoc with 97% similarity]
examples/tools/doc/src/customcompleter.qdoc
examples/tools/doc/src/customtype.qdoc
examples/tools/doc/styleplugin.qdoc [moved from doc/src/examples/styleplugin.qdoc with 93% similarity]
examples/tools/doc/stylepluginexample.png [moved from doc/src/images/stylepluginexample.png with 100% similarity]
examples/tools/doc/textfinder-example-userinterface.png [moved from doc/src/images/textfinder-example-userinterface.png with 100% similarity]
examples/tools/doc/textfinder.qdoc [moved from doc/src/examples/textfinder.qdoc with 100% similarity]
examples/tools/doc/treemodelcompleter-example.png [moved from doc/src/images/treemodelcompleter-example.png with 100% similarity]
examples/tools/doc/treemodelcompleter.qdoc [moved from doc/src/examples/treemodelcompleter.qdoc with 82% similarity]
examples/tools/doc/undo.qdoc [moved from doc/src/examples/undo.qdoc with 98% similarity]
examples/tools/doc/undodemo.png [moved from doc/src/images/undodemo.png with 100% similarity]
examples/tools/doc/undoframework.qdoc [moved from doc/src/examples/undoframework.qdoc with 82% similarity]
examples/tools/doc/undoframeworkexample.png [moved from doc/src/images/undoframeworkexample.png with 100% similarity]
examples/widgets/doc/dropsite.qdoc [moved from doc/src/examples/dropsite.qdoc with 99% similarity]
examples/widgets/doc/images/dropsite-example.png [moved from doc/src/images/dropsite-example.png with 100% similarity]
examples/widgets/doc/images/mousebutton-buttontester.png [moved from doc/src/images/widgets/mousebutton-buttontester.png with 100% similarity]
examples/widgets/doc/images/orientation-landscape-ui.png [moved from doc/src/images/orientation-landscape-ui.png with 100% similarity]
examples/widgets/doc/images/orientation-landscape.png [moved from doc/src/images/orientation-landscape.png with 100% similarity]
examples/widgets/doc/images/orientation-portrait-ui.png [moved from doc/src/images/orientation-portrait-ui.png with 100% similarity]
examples/widgets/doc/images/orientation-portrait.png [moved from doc/src/images/orientation-portrait.png with 100% similarity]
examples/widgets/doc/mousebuttons.qdoc [moved from doc/src/examples/widgets/mousebuttons.qdoc with 89% similarity]
examples/widgets/doc/orientation.qdoc [moved from doc/src/examples/orientation.qdoc with 93% similarity]
src/widgets/doc/snippets/code/doc_src_examples_dropsite.qdoc [moved from doc/src/snippets/code/doc_src_examples_dropsite.qdoc with 100% similarity]

similarity index 85%
rename from doc/src/examples/completer.qdoc
rename to examples/tools/doc/completer.qdoc
index 0e635e3..2fabb4d 100644 (file)
     \e{countries.txt} and \e{words.txt}. The resource file contains the
     following code:
 
-    \quotefile examples/tools/completer/completer.qrc
+    \quotefile completer/completer.qrc
 
     \section1 FileSystemModel Class Definition
 
     The \c FileSystemModel class is a subclass of QFileSystemModel, which provides a data
     model for the local filesystem.
 
-    \snippet examples/tools/completer/fsmodel.h 0
+    \snippet completer/fsmodel.h 0
 
     This class only has a constructor and a \c data() function as it is only
     created to enable \c data() to return the entire file path for the
     The constructor for the \c FileSystemModel class is used to pass \a parent to
     QFileSystemModel.
 
-    \snippet examples/tools/completer/fsmodel.cpp 0
+    \snippet completer/fsmodel.cpp 0
 
     As mentioned earlier, the \c data() function is reimplemented in order to
     get it to return the entire file parth for the display role. For example,
     with a QFileSystemModel, you will see "Program Files" in the view. However, with
     \c FileSystemModel, you will see "C:\\Program Files".
 
-    \snippet examples/tools/completer/fsmodel.cpp 1
+    \snippet completer/fsmodel.cpp 1
 
     The screenshots below illustrate this difference:
 
     private slots - \c about(), \c changeCase(), \c changeMode(), \c changeModel(),
     and \c changeMaxVisible().
 
-    \snippet examples/tools/completer/mainwindow.h 0
+    \snippet completer/mainwindow.h 0
 
     Within the \c MainWindow class, we have two private functions:
     \c createMenu() and \c modelFromFile(). We also declare the private widgets
     needed - three QComboBox objects, a QCheckBox, a QCompleter, a QLabel, and
     a QLineEdit.
 
-    \snippet examples/tools/completer/mainwindow.h 1
+    \snippet completer/mainwindow.h 1
 
     \section1 MainWindow Class Implementation
 
     the \c modeCombo is set to "Filtered Popup" and the \c caseCombo is set
     to "Case Insensitive".
 
-    \snippet examples/tools/completer/mainwindow.cpp 0
+    \snippet completer/mainwindow.cpp 0
 
     The \c maxVisibleSpinBox is created and determines the number of visible
     item in the completer
     \c{completer}'s \l{QCompleter::setWrapAround()}{setWrapAround()} property
     is enabled or disabled.
 
-    \snippet examples/tools/completer/mainwindow.cpp 1
+    \snippet completer/mainwindow.cpp 1
 
     We instantiate \c contentsLabel and set its size policy to
     \l{QSizePolicy::Fixed}{fixed}. The combo boxes' \l{QComboBox::activated()}
     {activated()} signals are then connected to their respective slots.
 
-    \snippet examples/tools/completer/mainwindow.cpp 2
+    \snippet completer/mainwindow.cpp 2
 
     The \c lineEdit is set up and then we arrange all the widgets using a
     QGridLayout. The \c changeModel() function is called, to initialize the
     \c completer.
 
-    \snippet examples/tools/completer/mainwindow.cpp 3
+    \snippet completer/mainwindow.cpp 3
 
     The \c createMenu() function is used to instantiate the QAction objects
     needed to fill the \c fileMenu and \c helpMenu. The actions'
     \l{QAction::triggered()}{triggered()} signals are connected to their
     respective slots.
 
-    \snippet examples/tools/completer/mainwindow.cpp 4
+    \snippet completer/mainwindow.cpp 4
 
     The \c modelFromFile() function accepts the \a fileName of a file and
     processes it depending on its contents.
     QFile::ReadOnly mode. If this is unsuccessful, the function returns an
     empty QStringListModel.
 
-    \snippet examples/tools/completer/mainwindow.cpp 5
+    \snippet completer/mainwindow.cpp 5
 
     The mouse cursor is then overridden with Qt::WaitCursor before we fill
     a QStringList object, \c words, with the contents of \c file. Once this
     is done, we restore the mouse cursor.
 
-    \snippet examples/tools/completer/mainwindow.cpp 6
+    \snippet completer/mainwindow.cpp 6
 
     As mentioned earlier, the resources file contains two files -
     \e{countries.txt} and \e{words.txt}. If the \c file read is \e{words.txt},
     we return a QStringListModel with \c words as its QStringList and
     \c completer as its parent.
 
-    \snippet examples/tools/completer/mainwindow.cpp 7
+    \snippet completer/mainwindow.cpp 7
 
     If the \c file read is \e{countries.txt}, then we require a
     QStandardItemModel with \c words.count() rows, 2 columns, and \c completer
     as its parent.
 
-    \snippet examples/tools/completer/mainwindow.cpp 8
+    \snippet completer/mainwindow.cpp 8
 
     A standard line in \e{countries.txt} is:
     \quotation
     split the country name and its symbol. Once this is done, we return
     \c m.
 
-    \snippet examples/tools/completer/mainwindow.cpp 9
+    \snippet completer/mainwindow.cpp 9
 
     The \c changeMode() function sets the \c{completer}'s mode, depending on
     the value of \c index.
 
-    \snippet examples/tools/completer/mainwindow.cpp 10
+    \snippet completer/mainwindow.cpp 10
 
     The \c changeModel() function changes the item model used based on the
     model selected by the user.
     of \c modelCombo. If \c case is 0, we use an unsorted QFileSystemModel, providing
     us with a file path excluding the drive label.
 
-    \snippet examples/tools/completer/mainwindow.cpp 11
+    \snippet completer/mainwindow.cpp 11
 
     Note that we create the model with \c completer as the parent as this
     allows us to replace the model with a new model. The \c completer will
     If \c case is 1, we use the \c DirModel we defined earlier, resulting in
     full paths for the files.
 
-    \snippet examples/tools/completer/mainwindow.cpp 12
+    \snippet completer/mainwindow.cpp 12
 
     When \c case is 2, we attempt to complete names of countries. This requires
     a QTreeView object, \c treeView. The country names are extracted from
     \e{countries.txt} and set the popup used to display completions to
     \c treeView.
 
-    \snippet examples/tools/completer/mainwindow.cpp 13
+    \snippet completer/mainwindow.cpp 13
 
     The screenshot below shows the Completer with the country list model.
 
     to the \c{completer}'s \l{QCompleter::setWrapAround()}{setWrapAround()}
     slot.
 
-    \snippet examples/tools/completer/mainwindow.cpp 14
+    \snippet completer/mainwindow.cpp 14
 
     The \c changeMaxVisible() update the maximum number of visible items in
     the completer.
 
-    \snippet examples/tools/completer/mainwindow.cpp 15
+    \snippet completer/mainwindow.cpp 15
 
     The \c about() function provides a brief description about the example.
 
-    \snippet examples/tools/completer/mainwindow.cpp 16
+    \snippet completer/mainwindow.cpp 16
 
     \section1 \c main() Function
 
     The \c main() function instantiates QApplication and \c MainWindow and
     invokes the \l{QWidget::show()}{show()} function.
 
-    \snippet examples/tools/completer/main.cpp 0
+    \snippet completer/main.cpp 0
     */
similarity index 96%
rename from doc/src/examples/contiguouscache.qdoc
rename to examples/tools/doc/contiguouscache.qdoc
index b187997..f906c7a 100644 (file)
@@ -40,7 +40,7 @@
     a view requests an item at row N it is also likely to ask for items at rows near
     to N.
 
-    \snippet examples/tools/contiguouscache/randomlistmodel.cpp 0
+    \snippet contiguouscache/randomlistmodel.cpp 0
 
     After getting the row, the class determines if the row is in the bounds
     of the contiguous cache's current range.  It would have been equally valid to
@@ -74,7 +74,7 @@
     to see how the cache range is kept for a local number of rows when running the
     example.
 
-    \snippet examples/tools/contiguouscache/randomlistmodel.cpp 1
+    \snippet contiguouscache/randomlistmodel.cpp 1
 
     It is also worth considering pre-fetching items into the cache outside of the
     application's paint routine.  This can be done either with a separate thread
similarity index 90%
rename from doc/src/examples/echoplugin.qdoc
rename to examples/tools/doc/echoplugin.qdoc
index 8481754..31afa0e 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/echoplugin
+    \example echoplugin
     \title Echo Plugin Example
 
     This example shows how to create a Qt plugin.
@@ -64,7 +64,7 @@
     The \c EchoWindow class lets us test the \c EchoPlugin through a
     GUI.
 
-    \snippet examples/tools/echoplugin/echowindow/echowindow.h 0
+    \snippet echoplugin/echowindow/echowindow.h 0
 
     We load the plugin in \c loadPlugin() and cast it to \c
     EchoInterface. When the user clicks the \c button we take the 
@@ -75,7 +75,7 @@
 
     We start with a look at the constructor:
 
-    \snippet examples/tools/echoplugin/echowindow/echowindow.cpp 0
+    \snippet echoplugin/echowindow/echowindow.cpp 0
 
     We create the widgets and set a title for the window. We then load
     the plugin. \c loadPlugin() returns false if the plugin could not
@@ -86,7 +86,7 @@
 
     Here is the implementation of \c sendEcho():
 
-    \snippet examples/tools/echoplugin/echowindow/echowindow.cpp 1
+    \snippet echoplugin/echowindow/echowindow.cpp 1
 
     This slot is called when the user pushes \c button or presses
     enter in \c lineEdit. We call \c echo() of the echo interface. In
 
     Here is the implementation of \c createGUI():
 
-    \snippet examples/tools/echoplugin/echowindow/echowindow.cpp 2
+    \snippet echoplugin/echowindow/echowindow.cpp 2
 
     We create the widgets and lay them out in a grid layout. We
     connect the label and line edit to our \c sendEcho() slot.
 
     Here is the \c loadPlugin() function:
 
-    \snippet examples/tools/echoplugin/echowindow/echowindow.cpp 3
+    \snippet echoplugin/echowindow/echowindow.cpp 3
 
     Access to plugins at run-time is provided by QPluginLoader. You
     supply it with the filename of the shared library the plugin is
     virtual functions. If non virtual functions were present in the
     class you would get misleading compile errors in the moc files.
 
-    \snippet examples/tools/echoplugin/echowindow/echointerface.h 0
+    \snippet echoplugin/echowindow/echointerface.h 0
 
     We declare \c echo(). In our \c EchoPlugin we use this method to
     return, or echo, \a message.
     If a class implements more than one interface, they are given as 
     a comma separated list.
 
-    \snippet examples/tools/echoplugin/plugin/echoplugin.h 0
+    \snippet echoplugin/plugin/echoplugin.h 0
 
 
     \section1 EchoPlugin Class Implementation
 
     Here is the implementation of \c echo():
 
-    \snippet examples/tools/echoplugin/plugin/echoplugin.cpp 0
+    \snippet echoplugin/plugin/echoplugin.cpp 0
 
     We simply return the functions parameter. 
 
-    \snippet examples/tools/echoplugin/plugin/echoplugin.cpp 1
+    \snippet echoplugin/plugin/echoplugin.cpp 1
 
     We use the Q_EXPORT_PLUGIN2 macro to let Qt know that the \c
     EchoPlugin class is a plugin. The first parameter is the name of
 
     \section1 The \c main() function
 
-    \snippet examples/tools/echoplugin/echowindow/main.cpp 0
+    \snippet echoplugin/echowindow/main.cpp 0
 
     We create an \c EchoWindow and display it as a top-level window.
 
     template and simply includes includes to directories in which
     the echo window and echo plugin lives:
 
-    \snippet examples/tools/echoplugin/echoplugin.pro 0
+    \snippet echoplugin/echoplugin.pro 0
 
     The profile for the echo window does not need any plugin specific
     settings. We move on to the plugin profile:
 
-    \snippet examples/tools/echoplugin/plugin/plugin.pro 0
+    \snippet echoplugin/plugin/plugin.pro 0
 
     We need to set the TEMPLATE as we now want to make a library
     instead of an executable. We also need to tell qmake that we are
similarity index 97%
rename from doc/src/examples/i18n.qdoc
rename to examples/tools/doc/i18n.qdoc
index 5f5d30b..e5c888a 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/i18n
+    \example i18n
     \title I18N Example
 
     The Internationalization (I18N) example demonstrates Qt's support for translated
similarity index 85%
rename from doc/src/examples/plugandpaint.qdoc
rename to examples/tools/doc/plugandpaint.qdoc
index 4b3e6df..bf9f1d1 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/plugandpaint
+    \example plugandpaint
     \title Plug & Paint Example
 
     The Plug & Paint example demonstrates how to write Qt
@@ -47,8 +47,8 @@
     through plugins, we recommend that you start by reading this
     overview, which explains how to make an application use plugins.
     Afterward, you can read the
-    \l{tools/plugandpaintplugins/basictools}{Basic Tools} and
-    \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}
+    \l{plugandpaintplugins/basictools}{Basic Tools} and
+    \l{plugandpaintplugins/extrafilters}{Extra Filters}
     overviews, which show how to implement static and dynamic
     plugins, respectively.
 
@@ -74,7 +74,7 @@
     in the plugins.
 
 
-    \snippet examples/tools/plugandpaint/interfaces.h 0
+    \snippet plugandpaint/interfaces.h 0
 
     The \c BrushInterface class declares four pure virtual functions.
     The first pure virtual function, \c brushes(), returns a list of
@@ -96,7 +96,7 @@
     virtual destructor. We provide the destructor to keep these
     compilers happy.
 
-    \snippet examples/tools/plugandpaint/interfaces.h 1
+    \snippet plugandpaint/interfaces.h 1
 
     The \c ShapeInterface class declares a \c shapes() function that
     works the same as \c{BrushInterface}'s \c brushes() function, and
     parent parameter can be used by the plugin to pop up a dialog
     asking the user to specify more information.
 
-    \snippet examples/tools/plugandpaint/interfaces.h 2
+    \snippet plugandpaint/interfaces.h 2
 
     The \c FilterInterface class declares a \c filters() function
     that returns a list of filter names, and a \c filterImage()
     function that applies a filter to an image.
 
-    \snippet examples/tools/plugandpaint/interfaces.h 4
+    \snippet plugandpaint/interfaces.h 4
 
     To make it possible to query at run-time whether a plugin
     implements a given interface, we must use the \c
     a good idea to include a version number in the string, as we did
     above.
 
-    The \l{tools/plugandpaintplugins/basictools}{Basic Tools} plugin
-    and the \l{tools/plugandpaintplugins/extrafilters}{Extra Filters}
+    The \l{plugandpaintplugins/basictools}{Basic Tools} plugin
+    and the \l{plugandpaintplugins/extrafilters}{Extra Filters}
     plugin shows how to derive from \c BrushInterface, \c
     ShapeInterface, and \c FilterInterface.
 
     \l{mainwindows/application}{Application}). Here, we'll
     concentrate on the parts of the code that are related to plugins.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 4
+    \snippet plugandpaint/mainwindow.cpp 4
 
     The \c loadPlugins() function is called from the \c MainWindow
     constructor to detect plugins and update the \uicontrol{Brush},
     QObject. That QObject implements plugin interfaces using multiple
     inheritance.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 5
+    \snippet plugandpaint/mainwindow.cpp 5
 
     The next step is to load dynamic plugins. We initialize the \c
     pluginsDir member variable to refer to the \c plugins
     this file is usually located in a subdirectory, so we need to
     take this into account.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 6
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 7
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 8
+    \snippet plugandpaint/mainwindow.cpp 6
+    \snippet plugandpaint/mainwindow.cpp 7
+    \snippet plugandpaint/mainwindow.cpp 8
 
     We use QDir::entryList() to get a list of all files in that
     directory. Then we iterate over the result using \l foreach and
 
     If QPluginLoader::instance() is non-null, we add it to the menus.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 9
+    \snippet plugandpaint/mainwindow.cpp 9
 
     At the end, we enable or disable the \uicontrol{Brush}, \uicontrol{Shapes},
     and \uicontrol{Filters} menus based on whether they contain any items.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 10
+    \snippet plugandpaint/mainwindow.cpp 10
 
     For each plugin (static or dynamic), we check which interfaces it
     implements using \l qobject_cast(). First, we try to cast the
     by \c brushes(). Then we do the same with the \c ShapeInterface
     and the \c FilterInterface.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 3
+    \snippet plugandpaint/mainwindow.cpp 3
 
     The \c aboutPlugins() slot is called on startup and can be
     invoked at any time through the \uicontrol{About Plugins} action. It
     plugin from which it comes from as the parent; this makes it
     convenient to get access to the plugin later.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 0
+    \snippet plugandpaint/mainwindow.cpp 0
 
     The \c changeBrush() slot is invoked when the user chooses one of
     the brushes from the \uicontrol{Brush} menu. We start by finding out
     identifying the brush. Next time the user draws on the paint
     area, \c PaintArea will use this brush.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 1
+    \snippet plugandpaint/mainwindow.cpp 1
 
     The \c insertShape() is invoked when the use chooses one of the
     shapes from the \uicontrol{Shapes} menu. We retrieve the QAction that
     QAction, and finally we call \c ShapeInterface::generateShape()
     to obtain a QPainterPath.
 
-    \snippet examples/tools/plugandpaint/mainwindow.cpp 2
+    \snippet plugandpaint/mainwindow.cpp 2
 
     The \c applyFilter() slot is similar: We retrieve the QAction
     that invoked the slot, then the \c FilterInterface associated to
     The \c PaintArea class contains some code that deals with \c
     BrushInterface, so we'll review it briefly.
 
-    \snippet examples/tools/plugandpaint/paintarea.cpp 0
+    \snippet plugandpaint/paintarea.cpp 0
 
     In \c setBrush(), we simply store the \c BrushInterface and the
     brush that are given to us by \c MainWindow.
 
-    \snippet examples/tools/plugandpaint/paintarea.cpp 1
+    \snippet plugandpaint/paintarea.cpp 1
 
     In the \l{QWidget::mouseMoveEvent()}{mouse move event handler},
     we call the \c BrushInterface::mouseMove() function on the
     and a list of plugin file names. It calls \c findPlugins()
     to fill the QTreeWdiget with information about the plugins:
 
-    \snippet examples/tools/plugandpaint/plugindialog.cpp 0
+    \snippet plugandpaint/plugindialog.cpp 0
 
     The \c findPlugins() is very similar to \c
     MainWindow::loadPlugins(). It uses QPluginLoader to access the
     populateTreeWidget() uses \l qobject_cast() to find out which
     interfaces are implemented by the plugins:
 
-    \snippet examples/tools/plugandpaint/plugindialog.cpp 1
+    \snippet plugandpaint/plugindialog.cpp 1
 
     \section1 Importing Static Plugins
 
-    The \l{tools/plugandpaintplugins/basictools}{Basic Tools} plugin
+    The \l{plugandpaintplugins/basictools}{Basic Tools} plugin
     is built as a static plugin, to ensure that it is always
     available to the application. This requires using the
     Q_IMPORT_PLUGIN() macro somewhere in the application (in a \c
     For Plug & Paint, we have chosen to put Q_IMPORT_PLUGIN() in \c
     main.cpp:
 
-    \snippet examples/tools/plugandpaint/main.cpp 0
+    \snippet plugandpaint/main.cpp 0
 
     The argument to Q_IMPORT_PLUGIN() is the plugin's name, as
     specified with Q_EXPORT_PLUGIN2() in the \l{Exporting the
     In the \c .pro file, we need to specify the static library.
     Here's the project file for building Plug & Paint:
 
-    \snippet examples/tools/plugandpaint/plugandpaint.pro 0
+    \snippet plugandpaint/plugandpaint.pro 0
 
     The \c LIBS line variable specifies the library \c pnp_basictools
     located in the \c ../plugandpaintplugins/basictools directory.
 
     This completes our review of the Plug & Paint application. At
     this point, you might want to take a look at the
-    \l{tools/plugandpaintplugins/basictools}{Basic Tools} example
+    \l{plugandpaintplugins/basictools}{Basic Tools} example
     plugin.
 */
 
 /*!
-    \example tools/plugandpaintplugins/basictools
+    \example plugandpaintplugins/basictools
     \title Plug & Paint Basic Tools Example
 
     The Basic Tools example is a static plugin for the
-    \l{tools/plugandpaint}{Plug & Paint} example. It provides a set
+    \l{plugandpaint}{Plug & Paint} example. It provides a set
     of basic brushes, shapes, and filters. Through the Basic Tools
     example, we will review the four steps involved in writing a Qt
     plugin:
 
     \section1 Declaration of the Plugin Class
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h 0
+    \snippet plugandpaintplugins/basicbasictoolsplugin.h 0
 
     We start by including \c interfaces.h, which defines the plugin
-    interfaces for the \l{tools/plugandpaint}{Plug & Paint}
+    interfaces for the \l{plugandpaint}{Plug & Paint}
     application. For the \c #include to work, we need to add an \c
     INCLUDEPATH entry to the \c .pro file with the path to Qt's \c
     examples/tools directory.
     The \c Q_INTERFACES() macro is necessary to tell \l{moc}, Qt's
     meta-object compiler, that the base classes are plugin
     interfaces. Without the \c Q_INTERFACES() macro, we couldn't use
-    \l qobject_cast() in the \l{tools/plugandpaint}{Plug & Paint}
+    \l qobject_cast() in the \l{plugandpaint}{Plug & Paint}
     application to detect interfaces.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.h 2
+    \snippet plugandpaintplugins/basicbasictoolsplugin.h 2
 
     In the \c public section of the class, we declare all the
     functions from the three interfaces.
     Let's now review the implementation of the \c BasicToolsPlugin
     member functions inherited from \c BrushInterface.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 0
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 0
 
     The \c brushes() function returns a list of brushes provided by
     this plugin. We provide three brushes: \uicontrol{Pencil}, \uicontrol{Air
     Brush}, and \uicontrol{Random Letters}.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 1
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 1
 
     On a mouse press event, we just call \c mouseMove() to draw the
     spot where the event occurred.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 2
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 2
 
     In \c mouseMove(), we start by saving the state of the QPainter
     and we compute a few variables that we'll need later.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 3
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 3
 
     Then comes the brush-dependent part of the code:
 
     At the end, we restore the painter state to what it was upon
     entering the function and we return the bounding rectangle.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 4
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 4
 
     When the user releases the mouse, we do nothing and return an
     empty QRect.
 
     \section1 Implementation of the Shape Interface
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 5
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 5
 
     The plugin provides three shapes: \uicontrol{Circle}, \uicontrol{Star}, and
     \uicontrol{Text...}. The three dots after \uicontrol{Text} are there because
     distinguish between the internal shape name and the name used in
     the user interface.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 6
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 6
 
     The \c generateShape() creates a QPainterPath for the specified
     shape. If the shape is \uicontrol{Text}, we pop up a QInputDialog to
 
     \section1 Implementation of the Filter Interface
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 7
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 7
 
     The plugin provides three filters: \uicontrol{Invert Pixels}, \uicontrol{Swap
     RGB}, and \uicontrol{Grayscale}.
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 8
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 8
 
     The \c filterImage() function takes a filter name and a QImage as
     parameters and returns an altered QImage. The first thing we do
     Q_EXPORT_PLUGIN2() macro to specify which class provides the
     plugin:
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictoolsplugin.cpp 9
+    \snippet plugandpaintplugins/basicbasictoolsplugin.cpp 9
 
     This line may appear in any \c .cpp file that is part of the
     plugin's source code.
 
     Here's the project file for building the Basic Tools plugin:
 
-    \snippet examples/tools/plugandpaintplugins/basictools/basictools.pro 0
+    \snippet plugandpaintplugins/basicbasictools.pro 0
 
     The \c .pro file differs from typical \c .pro files in many
     respects. First, it starts with a \c TEMPLATE entry specifying \c
 
     To make the plugin a static plugin, all that is required is to
     specify \c static in addition to \c plugin. The
-    \l{tools/plugandpaintplugins/extrafilters}{Extra Filters} plugin,
+    \l{plugandpaintplugins/extrafilters}{Extra Filters} plugin,
     which is compiled as a dynamic plugin, doesn't specify \c static
     in its \c .pro file.
 
 */
 
 /*!
-    \example tools/plugandpaintplugins/extrafilters
+    \example plugandpaintplugins/extrafilters
     \title Plug & Paint Extra Filters Example
 
     The Extra Filters example is a plugin for the
-    \l{tools/plugandpaint}{Plug & Paint} example. It provides a set
+    \l{plugandpaint}{Plug & Paint} example. It provides a set
     of filters in addition to those provided by the
-    \l{tools/plugandpaintplugins/basictools}{Basic Tools} plugin.
+    \l{plugandpaintplugins/basictools}{Basic Tools} plugin.
 
     Since the approach is identical to
-    \l{tools/plugandpaintplugins/basictools}{Basic Tools}, we won't
+    \l{plugandpaintplugins/basictools}{Basic Tools}, we won't
     review the code here. The only part of interest is the
     \c .pro file, since Extra Filters is a dynamic plugin
-    (\l{tools/plugandpaintplugins/basictools}{Basic Tools} is
+    (\l{plugandpaintplugins/basictools}{Basic Tools} is
     linked statically into the Plug & Paint executable).
 
     Here's the project file for building the Extra Filters plugin:
 
-    \snippet examples/tools/plugandpaintplugins/extrafilters/extrafilters.pro 0
+    \snippet plugandpaintplugins/extrafilters/extrafilters.pro 0
 
     The \c .pro file differs from typical \c .pro files in many
     respects. First, it starts with a \c TEMPLATE entry specifying \c
similarity index 97%
rename from doc/src/examples/regexp.qdoc
rename to examples/tools/doc/regexp.qdoc
index 5635a6f..cef89fd 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*! 
-    \example tools/regexp
+    \example regexp
     \title Regular Expressions Example
 
     The Regular Expressions (RegExp) example shows how regular expressions in Qt are
similarity index 97%
rename from doc/src/examples/settingseditor.qdoc
rename to examples/tools/doc/settingseditor.qdoc
index e10df5e..a141df6 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*! 
-    \example tools/settingseditor
+    \example settingseditor
     \title Settings Editor Example
 
     The Settings Editor example shows how Qt's standard settings support is used in an
index 98a95e4..7cf00a2 100644 (file)
@@ -43,7 +43,7 @@
     that has a list of words to help QCompleter complete words. This file
     contains the following:
 
-    \quotefile examples/tools/customcompleter/customcompleter.qrc
+    \quotefile customcompleter/customcompleter.qrc
 
     \section1 TextEdit Class Definition
 
@@ -54,7 +54,7 @@
     contains a private function \c textUnderCursor() and a private instance
     of QCompleter, \c c.
 
-    \snippet examples/tools/customcompleter/textedit.h 0
+    \snippet customcompleter/textedit.h 0
 
     \section1 TextEdit Class Implementation
 
     the \c TextEdit object, using the
     \l{QTextEdit::setPlainText()}{setPlainText()} function.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 0
+    \snippet customcompleter/textedit.cpp 0
 
     In addition, \c TextEdit also includes a default destructor:
 
-    \snippet examples/tools/customcompleter/textedit.cpp 1
+    \snippet customcompleter/textedit.cpp 1
 
     The \c setCompleter() function accepts a \a completer and sets it up.
     We use \c{if (c)} to check if \c c has been initialized. If it has been
@@ -75,7 +75,7 @@
     the signal from the slot. This is to ensure that no previous completer
     object is still connected to the slot.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 2
+    \snippet customcompleter/textedit.cpp 2
 
     We then instantiate \c c with \a completer and set it as \c{TextEdit}'s
     widget. The completion mode and case sensitivity are also set and then
@@ -84,7 +84,7 @@
 
     The \c completer() function is a getter function that returns \c c.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 3
+    \snippet customcompleter/textedit.cpp 3
 
     The completer pops up the options available, based on the contents of
     \e wordlist.txt, but the text cursor is responsible for filling in the
@@ -99,7 +99,7 @@
     completer's widget is \c TextEdit before using \c tc to insert the extra
     characters to complete the word.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 4
+    \snippet customcompleter/textedit.cpp 4
 
     The figure below illustrates this process:
 
     The \c textUnderCursor() function uses a QTextCursor, \c tc, to select a
     word under the cursor and return it.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 5
+    \snippet customcompleter/textedit.cpp 5
 
     The \c TextEdit class reimplements \l{QWidget::focusInEvent()}
     {focusInEvent()} function, which is an event handler used to receive
     keyboard focus events for the widget.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 6
+    \snippet customcompleter/textedit.cpp 6
 
     The \l{QAbstractScrollArea::keyPressEvent()}{keyPressEvent()} is
     reimplemented to ignore key events like Qt::Key_Enter, Qt::Key_Return,
 
     If there is an active completer, we cannot process the shortcut, Ctrl+E.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 7
+    \snippet customcompleter/textedit.cpp 7
 
     We also handle other modifiers and shortcuts for which we do not want the
     completer to respond to.
 
-    \snippet examples/tools/customcompleter/textedit.cpp 8
+    \snippet customcompleter/textedit.cpp 8
 
     Finally, we pop up the completer.
 
     \c createMenu() and \c modelFromFile() as well as private instances of
     QCompleter and \c TextEdit.
 
-    \snippet examples/tools/customcompleter/mainwindow.h 0
+    \snippet customcompleter/mainwindow.h 0
 
     \section1 MainWindow Class Implementation
 
     to populate the \c completer. The \c{MainWindow}'s central widget is set
     to \c TextEdit and its size is set to 500 x 300.
 
-    \snippet examples/tools/customcompleter/mainwindow.cpp 0
+    \snippet customcompleter/mainwindow.cpp 0
 
     The \c createMenu() function creates the necessary QAction objects needed
     for the "File" and "Help" menu and their \l{QAction::triggered()}
     {triggered()} signals are connected to the \c quit(), \c about(), and
     \c aboutQt() slots respectively.
 
-    \snippet examples/tools/customcompleter/mainwindow.cpp 1
+    \snippet customcompleter/mainwindow.cpp 1
 
     The \c modelFromFile() function accepts a \a fileName and attempts to
     extract the contents of this file into a QStringListModel. We display the
     Qt::WaitCursor when we are populating the QStringList, \c words, and
     restore the mouse cursor when we are done.
 
-    \snippet examples/tools/customcompleter/mainwindow.cpp 2
+    \snippet customcompleter/mainwindow.cpp 2
 
     The \c about() function provides a brief description about the Custom
     Completer example.
 
-    \snippet examples/tools/customcompleter/mainwindow.cpp 3
+    \snippet customcompleter/mainwindow.cpp 3
 
     \section1 \c main() Function
 
     The \c main() function instantiates \c MainWindow and invokes the
     \l{QWidget::show()}{show()} function.
 
-    \snippet examples/tools/customcompleter/main.cpp 0
+    \snippet customcompleter/main.cpp 0
 */
index b2f86d6..e6511a0 100644 (file)
@@ -56,7 +56,7 @@
     of information (a QString and a QStringList), each of which can be read
     using trivial getter functions:
 
-    \snippet examples/tools/customtype/message.h custom type definition
+    \snippet customtype/message.h custom type definition
 
     The default constructor, copy constructor and destructor are
     all required, and must be public, if the type is to be integrated into the
     To enable the type to be used with QVariant, we declare it using the
     Q_DECLARE_METATYPE() macro:
 
-    \snippet examples/tools/customtype/message.h custom type meta-type declaration
+    \snippet customtype/message.h custom type meta-type declaration
 
     We do not need to write any additional code to accompany this macro.
 
     To allow us to see a readable description of each \c Message object when it
     is sent to the debug output stream, we define a streaming operator:
 
-    \snippet examples/tools/customtype/message.h custom type streaming operator
+    \snippet customtype/message.h custom type streaming operator
 
     This facility is useful if you need to insert tracing statements in your
     code for debugging purposes.
     The implementation of the default constructor, copy constructor and destructor
     are straightforward for the \c Message class:
 
-    \snippet examples/tools/customtype/message.cpp Message class implementation
+    \snippet customtype/message.cpp Message class implementation
 
     The streaming operator is implemented in the following way:
 
-    \snippet examples/tools/customtype/message.cpp custom type streaming operator
+    \snippet customtype/message.cpp custom type streaming operator
 
     Here, we want to represent each value depending on how many lines are stored
     in the message body. We stream text to the QDebug object passed to the
@@ -99,7 +99,7 @@
 
     We include the code for the getter functions for completeness:
 
-    \snippet examples/tools/customtype/message.cpp getter functions
+    \snippet customtype/message.cpp getter functions
 
     With the type fully defined, implemented, and integrated with the
     meta-object system, we can now use it.
     In the example's \c{main()} function, we show how a \c Message object can
     be printed to the console by sending it to the debug stream:
 
-    \snippet examples/tools/customtype/main.cpp printing a custom type
+    \snippet customtype/main.cpp printing a custom type
 
     You can use the type with QVariant in exactly the same way as you would
     use standard Qt value types. Here's how to store a value using the
     QVariant::setValue() function:
 
-    \snippet examples/tools/customtype/main.cpp storing a custom value
+    \snippet customtype/main.cpp storing a custom value
 
     Alternatively, the QVariant::fromValue() and qVariantSetValue() functions
     can be used if you are using a compiler without support for member template
     The value can be retrieved using the QVariant::value() member template
     function:
 
-    \snippet examples/tools/customtype/main.cpp retrieving a custom value
+    \snippet customtype/main.cpp retrieving a custom value
 
     Alternatively, the qVariantValue() template function can be used if
     you are using a compiler without support for member template functions.
similarity index 93%
rename from doc/src/examples/styleplugin.qdoc
rename to examples/tools/doc/styleplugin.qdoc
index d4c587f..0a55a7c 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/styleplugin
+    \example styleplugin
     \title Style Plugin Example
 
     This example shows how to create a plugin that extends Qt with a new 
@@ -69,7 +69,7 @@
     \c SimpleStylePlugin inherits QStylePlugin and is the plugin
     class. 
 
-    \snippet examples/tools/styleplugin/plugin/simplestyleplugin.h 0
+    \snippet styleplugin/plugin/simplestyleplugin.h 0
 
     \c keys() returns a list of style names that this plugin can
     create, while \c create() takes such a string and returns the
 
     Here is the implementation of \c keys():
 
-    \snippet examples/tools/styleplugin/plugin/simplestyleplugin.cpp 0
+    \snippet styleplugin/plugin/simplestyleplugin.cpp 0
 
     Since this plugin only supports one style, we return a QStringList
     with the class name of that style.
 
     Here is the \c create() function:
 
-    \snippet examples/tools/styleplugin/plugin/simplestyleplugin.cpp 1
+    \snippet styleplugin/plugin/simplestyleplugin.cpp 1
 
     Note that the key for style plugins are case insensitive.
     The case sensitivity varies from plugin to plugin, so you need to
@@ -98,7 +98,7 @@
 
     \section1 The \c main() function
 
-    \snippet examples/tools/styleplugin/stylewindow/main.cpp 0
+    \snippet styleplugin/stylewindow/main.cpp 0
 
     Qt loads the available style plugins when the QApplication object
     is initialized. The QStyleFactory class knows about all styles and
     The \c SimpleStylePlugin lives in its own directory and have
     its own profile:
 
-    \snippet examples/tools/styleplugin/plugin/plugin.pro 0
+    \snippet styleplugin/plugin/plugin.pro 0
 
     In the plugin profile we need to set the lib template as we are
     building a shared library instead of an executable. We must also
similarity index 82%
rename from doc/src/examples/treemodelcompleter.qdoc
rename to examples/tools/doc/treemodelcompleter.qdoc
index 027f60d..d233834 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/treemodelcompleter
+    \example treemodelcompleter
     \title Tree Model Completer Example
 
     The Tree Model Completer example shows how to provide completion
@@ -45,7 +45,7 @@
     This file is embedded within the \e treemodelcompleter.qrc resource file,
     which contains the following:
 
-    \quotefile examples/tools/treemodelcompleter/treemodelcompleter.qrc
+    \quotefile treemodelcompleter/treemodelcompleter.qrc
 
     \section1 TreeModelCompleter Class Definition
 
@@ -53,7 +53,7 @@
     constructors - one with \a parent as an argument and another with
     \a parent and \a model as arguments.
 
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.h 0
+    \snippet treemodelcompleter/treemodelcompleter.h 0
 
     The class reimplements the protected functions
     \l{QCompleter::splitPath()}{splitPath()}  and
     parent while the second constructor constructs an object with a parent
     and a QAbstractItemModel, \a model.
 
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.cpp 0
+    \snippet treemodelcompleter/treemodelcompleter.cpp 0
     \codeline
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.cpp 1
+    \snippet treemodelcompleter/treemodelcompleter.cpp 1
 
     The \c separator() function is a getter function that returns the
     separator string.
 
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.cpp 2
+    \snippet treemodelcompleter/treemodelcompleter.cpp 2
 
     As mentioned earlier, the \c splitPath() function is reimplemented because
     the default implementation is more suited to QDirModel or list models. In
@@ -87,7 +87,7 @@
     matched at each level, we split it using QString::split() with \c sep as its
     separator.
 
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.cpp 3
+    \snippet treemodelcompleter/treemodelcompleter.cpp 3
 
     The \c pathFromIndex() function returns data for the completionRole() for a
     tree model. This function is reimplemented as its default implementation is
@@ -97,7 +97,7 @@
     accumulate the data. The function then returns a QStringList, \c dataList,
     using a separator to join objects of different levels.
 
-    \snippet examples/tools/treemodelcompleter/treemodelcompleter.cpp 4
+    \snippet treemodelcompleter/treemodelcompleter.cpp 4
 
     \section1 MainWindow Class Definition
 
     custom slots: \c about(), \c changeCase(), \c changeMode(),
     \c highlight(), and \c updateContentsLabel().
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.h 0
+    \snippet treemodelcompleter/mainwindow.h 0
 
     In addition, the class has two private functions, \c createMenu() and
     \c modelFromFile(), as well as private instances of QTreeView, QComboBox,
     QLabel, \c TreeModelCompleter and QLineEdit.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.h 1
+    \snippet treemodelcompleter/mainwindow.h 1
 
     \section1 MainWindow Class Implementation
 
     {highlighted()} signal is connected to \c{MainWindow}'s \c highlight()
     slot.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 0
+    \snippet treemodelcompleter/mainwindow.cpp 0
 
     The QLabel objects \c modelLabel, \c modeLabel and \c caseLabel are
     instantiated. Also, the QComboBox objects, \c modeCombo and \c caseCombo,
     are instantiated and populated. By default, the \c{completer}'s mode is
     "Filtered Popup" and the case is insensitive.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 1
+    \snippet treemodelcompleter/mainwindow.cpp 1
     \codeline
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 2
+    \snippet treemodelcompleter/mainwindow.cpp 2
 
     We use a QGridLayout to place all the objects in the \c MainWindow.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 3
+    \snippet treemodelcompleter/mainwindow.cpp 3
 
     The \c createMenu() function sets up the QAction objects required and
     adds them to the "File" menu and "Help" menu. The
     \l{QAction::triggered()}{triggered()} signals from these actions are
     connected to their respective slots.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 4
+    \snippet treemodelcompleter/mainwindow.cpp 4
 
     The \c changeMode() function accepts an \a index corresponding to the
     user's choice of completion mode and changes the \c{completer}'s mode
     accordingly.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 5
+    \snippet treemodelcompleter/mainwindow.cpp 5
 
     The \c about() function provides a brief description on the Tree Model
     Completer example.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 6
+    \snippet treemodelcompleter/mainwindow.cpp 6
 
     The \c changeCase() function alternates between \l{Qt::CaseSensitive}
     {Case Sensitive} and \l{Qt::CaseInsensitive}{Case Insensitive} modes,
     depending on the value of \a cs.
 
-    \snippet examples/tools/treemodelcompleter/mainwindow.cpp 7
+    \snippet treemodelcompleter/mainwindow.cpp 7
 
     \section1 \c main() Function
 
     The \c main() function instantiates \c MainWindow and invokes the
     \l{QWidget::show()}{show()} function to display it.
 
-    \snippet examples/tools/treemodelcompleter/main.cpp 0
+    \snippet treemodelcompleter/main.cpp 0
 */
similarity index 98%
rename from doc/src/examples/undo.qdoc
rename to examples/tools/doc/undo.qdoc
index 7afa011..31c698f 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/undo
+    \example undo
     \title Undo Framework
 
     This example shows Qt's undo framework in action.
similarity index 82%
rename from doc/src/examples/undoframework.qdoc
rename to examples/tools/doc/undoframework.qdoc
index 0bc2efd..abdfab3 100644 (file)
@@ -26,7 +26,7 @@
 ****************************************************************************/
 
 /*!
-    \example tools/undoframework 
+    \example undoframework
     \title Undo Framework Example
 
     This example shows how to implement undo/redo functionality 
@@ -78,7 +78,7 @@
 
     \section1 MainWindow Class Definition
 
-    \snippet examples/tools/undoframework/mainwindow.h 0
+    \snippet undoframework/mainwindow.h 0
 
     The \c MainWindow class maintains the undo stack, i.e., it creates
     \l{QUndoCommand}s and pushes and pops them from the stack when it
 
     We will start with a look at the constructor:    
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 0
+    \snippet undoframework/mainwindow.cpp 0
 
     In the constructor, we set up the DiagramScene and QGraphicsView. 
 
     Here is the \c createUndoView() function:    
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 1
+    \snippet undoframework/mainwindow.cpp 1
 
     The QUndoView is a widget that display the text, which is set with
     the \l{QUndoCommand::}{setText()} function, for each QUndoCommand
     
     Here is the \c createActions() function:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 2
+    \snippet undoframework/mainwindow.cpp 2
     \codeline
-    \snippet examples/tools/undoframework/mainwindow.cpp 3
+    \snippet undoframework/mainwindow.cpp 3
     \dots
-    \snippet examples/tools/undoframework/mainwindow.cpp 5
+    \snippet undoframework/mainwindow.cpp 5
 
     The \c createActions() function sets up all the examples actions
     in the manner shown above. The
 
     Here is the \c createMenus() function:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 6
+    \snippet undoframework/mainwindow.cpp 6
 
     \dots
-    \snippet examples/tools/undoframework/mainwindow.cpp 7
+    \snippet undoframework/mainwindow.cpp 7
     \dots
-    \snippet examples/tools/undoframework/mainwindow.cpp 8
+    \snippet undoframework/mainwindow.cpp 8
 
     We have to use the QMenu \c aboutToShow() and \c aboutToHide()
     signals since we only want \c deleteAction to be enabled when we
 
     Here is the \c itemMoved() slot:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 9
+    \snippet undoframework/mainwindow.cpp 9
 
     We simply push a MoveCommand on the stack, which calls \c redo()
     on it.
 
     Here is the \c deleteItem() slot:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 10
+    \snippet undoframework/mainwindow.cpp 10
 
     An item must be selected to be deleted.  We need to check if it is
     selected as the \c deleteAction may be enabled even if an item is
 
     Here is the \c itemMenuAboutToShow() and itemMenuAboutToHide() slots:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 11
+    \snippet undoframework/mainwindow.cpp 11
     \codeline
-    \snippet examples/tools/undoframework/mainwindow.cpp 12
+    \snippet undoframework/mainwindow.cpp 12
 
     We implement \c itemMenuAboutToShow() and \c itemMenuAboutToHide()
     to get a dynamic item menu. These slots are connected to the 
 
     Here is the \c addBox() slot:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 13
+    \snippet undoframework/mainwindow.cpp 13
 
     The \c addBox() function creates an AddCommand and pushes it on
     the undo stack.
 
     Here is the \c addTriangle() sot:
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 14
+    \snippet undoframework/mainwindow.cpp 14
 
     The \c addTriangle() function creates an AddCommand and pushes it
     on the undo stack.    
 
     Here is the implementation of \c about():
 
-    \snippet examples/tools/undoframework/mainwindow.cpp 15
+    \snippet undoframework/mainwindow.cpp 15
     
     The about slot is triggered by the \c aboutAction and displays an
     about box for the example.
 
     \section1 AddCommand Class Definition
     
-    \snippet examples/tools/undoframework/commands.h 2
+    \snippet undoframework/commands.h 2
 
     The \c AddCommand class adds DiagramItem graphics items to the
     DiagramScene.  
 
     We start with the constructor:
 
-    \snippet examples/tools/undoframework/commands.cpp 7
+    \snippet undoframework/commands.cpp 7
 
     We first create the DiagramItem to add to the DiagramScene.  The
     \l{QUndoCommand::}{setText()} function let us set a QString that
     describes the command. We use this to get custom messages in the
     QUndoView and in the menu of the main window.
 
-    \snippet examples/tools/undoframework/commands.cpp 8
+    \snippet undoframework/commands.cpp 8
 
     \c undo() removes the item from the scene.
 
-    \snippet examples/tools/undoframework/commands.cpp 9
+    \snippet undoframework/commands.cpp 9
 
     We set the position of the item as we do not do this in the
     constructor.
 
     \section1 DeleteCommand Class Definition
     
-    \snippet examples/tools/undoframework/commands.h 1
+    \snippet undoframework/commands.h 1
 
     The DeleteCommand class implements the functionality to remove an
     item from the scene.
     
     \section1 DeleteCommand Class Implementation
 
-    \snippet examples/tools/undoframework/commands.cpp 4
+    \snippet undoframework/commands.cpp 4
 
     We know that there must be one selected item as it is not possible
     to create a DeleteCommand unless the item to be deleted is
     The item must be unselected if it is inserted back into the 
     scene.
 
-    \snippet examples/tools/undoframework/commands.cpp 5
+    \snippet undoframework/commands.cpp 5
 
     The item is simply reinserted into the scene.
 
-    \snippet examples/tools/undoframework/commands.cpp 6
+    \snippet undoframework/commands.cpp 6
 
     The item is removed from the scene.
 
     \section1 MoveCommand Class Definition
 
-    \snippet examples/tools/undoframework/commands.h 0
+    \snippet undoframework/commands.h 0
 
     The \l{QUndoCommand::}{mergeWith()} is reimplemented to make
     consecutive moves of an item one MoveCommand, i.e, the item will
     
     The constructor of MoveCommand looks like this:
 
-    \snippet examples/tools/undoframework/commands.cpp 0
+    \snippet undoframework/commands.cpp 0
 
     We save both the old and new positions for undo and redo
     respectively.
 
-    \snippet examples/tools/undoframework/commands.cpp 2
+    \snippet undoframework/commands.cpp 2
 
     We simply set the items old position and update the scene.    
 
-    \snippet examples/tools/undoframework/commands.cpp 3
+    \snippet undoframework/commands.cpp 3
 
     We set the item to its new position.
     
-    \snippet examples/tools/undoframework/commands.cpp 1
+    \snippet undoframework/commands.cpp 1
 
     Whenever a MoveCommand is created, this function is called to
     check if it should be merged with the previous command. It is the
 
     \section1 DiagramScene Class Definition
 
-    \snippet examples/tools/undoframework/diagramscene.h 0
+    \snippet undoframework/diagramscene.h 0
 
     The DiagramScene implements the functionality to move a
     DiagramItem with the mouse. It emits a signal when a move is
     
     The \c main() function of the program looks like this:
 
-    \snippet examples/tools/undoframework/main.cpp 0
+    \snippet undoframework/main.cpp 0
 
     We draw a grid in the background of the DiagramScene, so we use a
     resource file. The rest of the function creates the \c MainWindow and
similarity index 99%
rename from doc/src/examples/dropsite.qdoc
rename to examples/widgets/doc/dropsite.qdoc
index 77b4098..6e4b21a 100644 (file)
     supported formats using the \l{The foreach Keyword}{foreach keyword}.
     This keyword has the following format:
 
-    \snippet doc/src/snippets/code/doc_src_examples_dropsite.qdoc 0
+    \snippet code/doc_src_examples_dropsite.qdoc 0
 
     In our example, \c format is the \a variable and the \a container is a
     QStringList, obtained from \c mimeData->formats().
similarity index 89%
rename from doc/src/examples/widgets/mousebuttons.qdoc
rename to examples/widgets/doc/mousebuttons.qdoc
index c495698..10d1f9a 100644 (file)
@@ -27,7 +27,7 @@
 ****************************************************************************/
 
 /*!
-    \example widgets/mousebuttons/buttontester
+    \example widgets/mousebuttons
     \title Mouse Button Tester
 
     \brief The 'Mouse Button Tester' example demonstrates how to reimplement
     sending text shortcuts for certain games. With such a mouse, no mouse
     button events occur: The "mouse" sends keystrokes, and the
     'Mouse Button Tester' Window will not see the event. Receiving no event,
-    it will not repaint the Window with new text describing a \button event.
+    it will not repaint the Window with new text describing a button event.
 
     And so, in addition to it's use as Qt example code, the program may be
     useful s a mouse device tester. Note that there is another example
-    muouse buttons example which provides the same function, written in QML.
+    mouse buttons example which provides the same function, written in QML.
 
     This program (the Widget-based example) consists of three classes,
     in addition to the main() parent program:
 
     \list
-        \o \c A QPushButton, "Quit".
-        \o \c ButtonTester. This is derived from Qt's TextArea class, for
+        \li \c A QPushButton, "Quit".
+        \li \c ButtonTester. This is derived from Qt's TextArea class, for
             purpose of customizing/re-implementing the mouse and wheel event
             member functions.
-        \o \c A simple QVBoxLayout layout.
+        \li \c A simple QVBoxLayout layout.
     \endlist
 
     First we will review the main program, with it's layout and "Quit"
@@ -66,7 +66,7 @@
     class would result in the destructor of that second class being
     called twice. This "Quit" Button uses the traditional Signal/Slot
     connection to invoke termination of the QApp, which will properly destroy
-    its child classes \before terminating itself.
+    its child classes before terminating itself.
 
     The remainder of the main() program is concerned with defining the layout,
     and applying a minimum size to the customized ButtonTester.
@@ -90,5 +90,5 @@
     this automatically, but it is better programming practice to explicitly
     invoke the function.)
 
-    \image widgets/mousebutton-buttontester.png
+    \image mousebutton-buttontester.png
 */
similarity index 93%
rename from doc/src/examples/orientation.qdoc
rename to examples/widgets/doc/orientation.qdoc
index 89d314c..b39bbf9 100644 (file)
@@ -80,7 +80,7 @@
     \c MainWindow inherits from QWidget and acts as the top level widget of the
     application.
 
-    \snippet examples/widgets/orientation/mainwindow.h 0
+    \snippet widgets/orientation/mainwindow.h 0
 
     The \c resizeEvent() method is re-implemented, and used to check which
     UI to show. The \c onRadioButtonClicked() slot is connected to the
     In the constructor, the widgets that will hold the UIs are created and set
     up.
 
-    \snippet examples/widgets/orientation/mainwindow.cpp 0
+    \snippet widgets/orientation/mainwindow.cpp 0
 
     Since the exit buttons on the layouts are different from each other, both
     of them have to have their \c clicked() signal connected to the \c close()
     slot of the main widget. The first image is also made current with the call
     to \c onRadioButtonClicked().
 
-    \snippet examples/widgets/orientation/mainwindow.cpp 1
+    \snippet widgets/orientation/mainwindow.cpp 1
 
     On the Maemo platform, windows are stuck in landscape mode by default. The
     application has to explicitly say that rotation is supported.
 
-    \snippet examples/widgets/orientation/mainwindow.cpp 2
+    \snippet widgets/orientation/mainwindow.cpp 2
 
     The \c resizeEvent() is called when the main window is first created, and
     also whenever the window has been resized. If the window is shown in
     (possibly transposed) size of the window. Depending on the orientation, one
     widget is made visible and the other invisible.
 
-    \snippet examples/widgets/orientation/mainwindow.cpp 3
+    \snippet widgets/orientation/mainwindow.cpp 3
 
     When the user selects one of the radio buttons in the landscape UI, the
     current image is changed. The image is displayed by specifying the
     \c landscape have a \c choiceWidget of their own, the change has to be
     reflected in both instances.
 
-    \snippet examples/widgets/orientation/mainwindow.cpp 4
+    \snippet widgets/orientation/mainwindow.cpp 4
 
     Synchronizing both UIs like this might become unfeasible when there are
     many things that can change. In that case it is better to make use of the
 
     The main function creates a \c MainWindow instance and shows it full
     screen.
-    \snippet examples/widgets/orientation/main.cpp 0
+    \snippet widgets/orientation/main.cpp 0
 */