Doc: Modularize Qt Designer Manual
authorLeena Miettinen <riitta-leena.miettinen@digia.com>
Tue, 27 Nov 2012 14:46:48 +0000 (15:46 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Tue, 27 Nov 2012 16:06:04 +0000 (17:06 +0100)
Move the appropriate files from qtdoc to qttools and fix the links.
Create a qdocconf file and modify designer.pro.
Actual content fixes will be done in a separate commit.

Task-number: QTBUG-28025
Change-Id: Ibde5c0fe0b1ddbeb845d10a2a5ebf609491235b0
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
179 files changed:
src/designer/src/designer/designer.pro
src/designer/src/designer/doc/designer.qdocconf [new file with mode: 0644]
src/designer/src/designer/doc/images/addressbook-tutorial-part3-labeled-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-action-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-add-custom-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-add-files-button.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-add-resource-entry-button.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-adding-dockwidget.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-adding-dynamic-property.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-adding-menu-action.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-adding-toolbar-action.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-buddy-making.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-buddy-mode.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-buddy-tool.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-choosing-form.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-code-viewer.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-dialog.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-editing.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-highlight.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-making.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-mode.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-to-form.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-connection-tool.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-dockwidget.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-frame.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-groupbox.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-stackedwidget.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-tabwidget.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-containers-toolbox.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-dynamic-property.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu-entry1.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu-entry2.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu-entry3.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu-entry4.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu1.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu2.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu3.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menu4.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-menubar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-creating-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-custom-widget-box.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-customize-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-dialog-final.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-dialog-initial.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-dialog-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-dialog-preview.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-disambiguation.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-dragging-onto-form.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-edit-resource.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-edit-resources-button.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-editing-mode.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-embedded-preview.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-english-dialog.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-examples.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-file-menu.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-find-icon.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-layout-cleanlooks.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-layout-macintosh.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-layout-windowsXP.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-layoutfunction.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-settings.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-form-viewcode.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-french-dialog.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-getting-started.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-layout-inserting.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-main-window.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-making-connection.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-manual-containerextension.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-manual-membersheetextension.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-manual-propertysheetextension.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-manual-taskmenuextension.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-multiple-screenshot.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-object-inspector.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-palette-brush-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-palette-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-palette-gradient-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-palette-pattern-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-preview-device-skin.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-preview-deviceskin-selection.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-preview-style-selection.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-preview-style.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-preview-stylesheet.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-promoting-widgets.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor-add-dynamic.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor-configure.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor-link.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor-remove-dynamic.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-property-editor.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-reload-resources-button.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-remove-custom-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-remove-resource-entry-button.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-removing-toolbar-action.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-removing-toolbar.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resource-browser.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resource-selector.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resource-tool.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resources-adding.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resources-editing.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resources-empty.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-resources-using.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-screenshot.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-selecting-widget.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-selecting-widgets.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-set-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-set-layout2.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-splitter-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-stylesheet-options.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-stylesheet-usage.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-tab-order-mode.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-tab-order-tool.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-box.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-filter.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-final.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-initial.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-morph.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-preview.png [new file with mode: 0644]
src/designer/src/designer/doc/images/designer-widget-tool.png [new file with mode: 0644]
src/designer/src/designer/doc/images/directapproach-calculatorform.png [new file with mode: 0644]
src/designer/src/designer/doc/images/qtdesignerextensions.png [new file with mode: 0644]
src/designer/src/designer/doc/images/qtdesignerscreenshot.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-arrangement.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-configure-connection1.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-configure-connection2.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-final-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-form-gridLayout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-no-toplevel-layout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-property-editing.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-screenshot.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-selectForLayout.png [new file with mode: 0644]
src/designer/src/designer/doc/images/rgbController-signalsAndSlots.png [new file with mode: 0644]
src/designer/src/designer/doc/images/worldtimeclockplugin-example.png [new file with mode: 0644]
src/designer/src/designer/doc/snippets/autoconnection/autoconnection.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/autoconnection/imagedialog.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/autoconnection/imagedialog.h [new file with mode: 0644]
src/designer/src/designer/doc/snippets/autoconnection/imagedialog.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/autoconnection/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/designer.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/imagedialog/imagedialog.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/imagedialog/imagedialog.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/imagedialog/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_default_extensionfactory.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_extension.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_qextensionmanager.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformeditor.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowcursor.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowmanager.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractobjectinspector.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractpropertyeditor.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractwidgetbox.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_abstractformbuilder.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_formbuilder.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.js [new file with mode: 0644]
src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.h [new file with mode: 0644]
src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/multipleinheritance/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/multipleinheritance/multipleinheritance.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.h [new file with mode: 0644]
src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/noautoconnection/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/noautoconnection/noautoconnection.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.h [new file with mode: 0644]
src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/singleinheritance/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/snippets/singleinheritance/singleinheritance.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.pro [new file with mode: 0644]
src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.ui [new file with mode: 0644]
src/designer/src/designer/doc/snippets/uitools/calculatorform/main.cpp [new file with mode: 0644]
src/designer/src/designer/doc/src/designer-manual.qdoc [new file with mode: 0644]

index 744db31..a9f8ba9 100644 (file)
@@ -20,6 +20,8 @@ TARGET = designer
 include(../../../shared/fontpanel/fontpanel.pri)
 include(../../../shared/qttoolbardialog/qttoolbardialog.pri)
 
+QMAKE_DOCS = $$PWD/doc/designer.qdocconf
+
 HEADERS += \
     qdesigner.h \
     qdesigner_toolwindow.h \
diff --git a/src/designer/src/designer/doc/designer.qdocconf b/src/designer/src/designer/doc/designer.qdocconf
new file mode 100644 (file)
index 0000000..5b20b2b
--- /dev/null
@@ -0,0 +1,37 @@
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+
+project                 = qtdesigner
+description             = Qt Designer Manual
+url                     = http://qt-project.org/doc/qtdesigner
+
+qhp.projects            = Designer
+
+qhp.Designer.file                = qtdesigner.qhp
+qhp.Designer.namespace           = org.qt-project.designer.500
+qhp.Designer.virtualFolder       = designer
+qhp.Designer.indexTitle          = Qt Designer Manual
+
+qhp.Designer.filterAttributes    = qt 5.0.0 tools designer
+qhp.Designer.customFilters.Designer.name = Qt Designer Manual
+qhp.Designer.customFilters.Designer.filterAttributes = qt tools designer
+qhp.Designer.subprojects         = manual examples
+qhp.Designer.subprojects.manual.title = Manual
+qhp.Designer.subprojects.manual.indexTitle = Qt Designer Manual
+qhp.Designer.subprojects.manual.selectors = fake:page
+qhp.Designer.subprojects.examples.title = Examples
+qhp.Designer.subprojects.examples.indexTitle = Qt Examples
+qhp.Designer.subprojects.examples.selectors = fake:example
+qhp.Designer.subprojects.examples.sortPages = true
+
+language                = Cpp
+
+sourcedirs              = ..
+
+exampledirs             = ../../../../../examples \
+                          snippets
+
+imagedirs               = images
+
+outputdir               = $QT_INSTALL_DOCS/qtdesigner
+
+depends                 += qtdoc
diff --git a/src/designer/src/designer/doc/images/addressbook-tutorial-part3-labeled-layout.png b/src/designer/src/designer/doc/images/addressbook-tutorial-part3-labeled-layout.png
new file mode 100644 (file)
index 0000000..cfcec31
Binary files /dev/null and b/src/designer/src/designer/doc/images/addressbook-tutorial-part3-labeled-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-action-editor.png b/src/designer/src/designer/doc/images/designer-action-editor.png
new file mode 100644 (file)
index 0000000..cfc3e3a
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-action-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-add-custom-toolbar.png b/src/designer/src/designer/doc/images/designer-add-custom-toolbar.png
new file mode 100644 (file)
index 0000000..fe16586
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-add-custom-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-add-files-button.png b/src/designer/src/designer/doc/images/designer-add-files-button.png
new file mode 100644 (file)
index 0000000..45ff4a0
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-add-files-button.png differ
diff --git a/src/designer/src/designer/doc/images/designer-add-resource-entry-button.png b/src/designer/src/designer/doc/images/designer-add-resource-entry-button.png
new file mode 100644 (file)
index 0000000..e29fcf8
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-add-resource-entry-button.png differ
diff --git a/src/designer/src/designer/doc/images/designer-adding-dockwidget.png b/src/designer/src/designer/doc/images/designer-adding-dockwidget.png
new file mode 100644 (file)
index 0000000..f48c6d9
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-adding-dockwidget.png differ
diff --git a/src/designer/src/designer/doc/images/designer-adding-dynamic-property.png b/src/designer/src/designer/doc/images/designer-adding-dynamic-property.png
new file mode 100644 (file)
index 0000000..32352f6
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-adding-dynamic-property.png differ
diff --git a/src/designer/src/designer/doc/images/designer-adding-menu-action.png b/src/designer/src/designer/doc/images/designer-adding-menu-action.png
new file mode 100644 (file)
index 0000000..5b0ea99
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-adding-menu-action.png differ
diff --git a/src/designer/src/designer/doc/images/designer-adding-toolbar-action.png b/src/designer/src/designer/doc/images/designer-adding-toolbar-action.png
new file mode 100644 (file)
index 0000000..9ca083b
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-adding-toolbar-action.png differ
diff --git a/src/designer/src/designer/doc/images/designer-buddy-making.png b/src/designer/src/designer/doc/images/designer-buddy-making.png
new file mode 100644 (file)
index 0000000..3d8e8a1
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-buddy-making.png differ
diff --git a/src/designer/src/designer/doc/images/designer-buddy-mode.png b/src/designer/src/designer/doc/images/designer-buddy-mode.png
new file mode 100644 (file)
index 0000000..48197f6
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-buddy-mode.png differ
diff --git a/src/designer/src/designer/doc/images/designer-buddy-tool.png b/src/designer/src/designer/doc/images/designer-buddy-tool.png
new file mode 100644 (file)
index 0000000..2a42870
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-buddy-tool.png differ
diff --git a/src/designer/src/designer/doc/images/designer-choosing-form.png b/src/designer/src/designer/doc/images/designer-choosing-form.png
new file mode 100644 (file)
index 0000000..c6a6dcd
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-choosing-form.png differ
diff --git a/src/designer/src/designer/doc/images/designer-code-viewer.png b/src/designer/src/designer/doc/images/designer-code-viewer.png
new file mode 100644 (file)
index 0000000..6af9477
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-code-viewer.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-dialog.png b/src/designer/src/designer/doc/images/designer-connection-dialog.png
new file mode 100644 (file)
index 0000000..3577c08
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-dialog.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-editing.png b/src/designer/src/designer/doc/images/designer-connection-editing.png
new file mode 100644 (file)
index 0000000..5f791ce
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-editing.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-editor.png b/src/designer/src/designer/doc/images/designer-connection-editor.png
new file mode 100644 (file)
index 0000000..09d9a7e
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-highlight.png b/src/designer/src/designer/doc/images/designer-connection-highlight.png
new file mode 100644 (file)
index 0000000..089d1e4
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-highlight.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-making.png b/src/designer/src/designer/doc/images/designer-connection-making.png
new file mode 100644 (file)
index 0000000..a7ce33f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-making.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-mode.png b/src/designer/src/designer/doc/images/designer-connection-mode.png
new file mode 100644 (file)
index 0000000..1bf7593
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-mode.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-to-form.png b/src/designer/src/designer/doc/images/designer-connection-to-form.png
new file mode 100644 (file)
index 0000000..320f70f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-to-form.png differ
diff --git a/src/designer/src/designer/doc/images/designer-connection-tool.png b/src/designer/src/designer/doc/images/designer-connection-tool.png
new file mode 100644 (file)
index 0000000..71c9b07
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-connection-tool.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-dockwidget.png b/src/designer/src/designer/doc/images/designer-containers-dockwidget.png
new file mode 100644 (file)
index 0000000..f4dcc0b
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-dockwidget.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-frame.png b/src/designer/src/designer/doc/images/designer-containers-frame.png
new file mode 100644 (file)
index 0000000..d16823a
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-frame.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-groupbox.png b/src/designer/src/designer/doc/images/designer-containers-groupbox.png
new file mode 100644 (file)
index 0000000..d347e2f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-groupbox.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-stackedwidget.png b/src/designer/src/designer/doc/images/designer-containers-stackedwidget.png
new file mode 100644 (file)
index 0000000..3239e52
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-stackedwidget.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-tabwidget.png b/src/designer/src/designer/doc/images/designer-containers-tabwidget.png
new file mode 100644 (file)
index 0000000..dab3dfd
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-tabwidget.png differ
diff --git a/src/designer/src/designer/doc/images/designer-containers-toolbox.png b/src/designer/src/designer/doc/images/designer-containers-toolbox.png
new file mode 100644 (file)
index 0000000..63fb3e0
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-containers-toolbox.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-dynamic-property.png b/src/designer/src/designer/doc/images/designer-creating-dynamic-property.png
new file mode 100644 (file)
index 0000000..4ef6225
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-dynamic-property.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu-entry1.png b/src/designer/src/designer/doc/images/designer-creating-menu-entry1.png
new file mode 100644 (file)
index 0000000..19491f7
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu-entry1.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu-entry2.png b/src/designer/src/designer/doc/images/designer-creating-menu-entry2.png
new file mode 100644 (file)
index 0000000..3757b8d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu-entry2.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu-entry3.png b/src/designer/src/designer/doc/images/designer-creating-menu-entry3.png
new file mode 100644 (file)
index 0000000..2334e96
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu-entry3.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu-entry4.png b/src/designer/src/designer/doc/images/designer-creating-menu-entry4.png
new file mode 100644 (file)
index 0000000..bdf3bbb
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu-entry4.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu.png b/src/designer/src/designer/doc/images/designer-creating-menu.png
new file mode 100644 (file)
index 0000000..9e4cd7d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu1.png b/src/designer/src/designer/doc/images/designer-creating-menu1.png
new file mode 100644 (file)
index 0000000..cb80542
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu1.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu2.png b/src/designer/src/designer/doc/images/designer-creating-menu2.png
new file mode 100644 (file)
index 0000000..9e4cd7d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu2.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu3.png b/src/designer/src/designer/doc/images/designer-creating-menu3.png
new file mode 100644 (file)
index 0000000..9835473
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu3.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menu4.png b/src/designer/src/designer/doc/images/designer-creating-menu4.png
new file mode 100644 (file)
index 0000000..4b83e1e
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menu4.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-menubar.png b/src/designer/src/designer/doc/images/designer-creating-menubar.png
new file mode 100644 (file)
index 0000000..ae9c5d3
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-menubar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-creating-toolbar.png b/src/designer/src/designer/doc/images/designer-creating-toolbar.png
new file mode 100644 (file)
index 0000000..bd2b5ca
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-creating-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-custom-widget-box.png b/src/designer/src/designer/doc/images/designer-custom-widget-box.png
new file mode 100644 (file)
index 0000000..fe53145
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-custom-widget-box.png differ
diff --git a/src/designer/src/designer/doc/images/designer-customize-toolbar.png b/src/designer/src/designer/doc/images/designer-customize-toolbar.png
new file mode 100644 (file)
index 0000000..47bb533
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-customize-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-dialog-final.png b/src/designer/src/designer/doc/images/designer-dialog-final.png
new file mode 100644 (file)
index 0000000..c1363b8
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-dialog-final.png differ
diff --git a/src/designer/src/designer/doc/images/designer-dialog-initial.png b/src/designer/src/designer/doc/images/designer-dialog-initial.png
new file mode 100644 (file)
index 0000000..6644e75
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-dialog-initial.png differ
diff --git a/src/designer/src/designer/doc/images/designer-dialog-layout.png b/src/designer/src/designer/doc/images/designer-dialog-layout.png
new file mode 100644 (file)
index 0000000..bae945d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-dialog-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-dialog-preview.png b/src/designer/src/designer/doc/images/designer-dialog-preview.png
new file mode 100644 (file)
index 0000000..c905822
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-dialog-preview.png differ
diff --git a/src/designer/src/designer/doc/images/designer-disambiguation.png b/src/designer/src/designer/doc/images/designer-disambiguation.png
new file mode 100644 (file)
index 0000000..1c83a50
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-disambiguation.png differ
diff --git a/src/designer/src/designer/doc/images/designer-dragging-onto-form.png b/src/designer/src/designer/doc/images/designer-dragging-onto-form.png
new file mode 100644 (file)
index 0000000..07b4393
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-dragging-onto-form.png differ
diff --git a/src/designer/src/designer/doc/images/designer-edit-resource.png b/src/designer/src/designer/doc/images/designer-edit-resource.png
new file mode 100644 (file)
index 0000000..a262143
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-edit-resource.png differ
diff --git a/src/designer/src/designer/doc/images/designer-edit-resources-button.png b/src/designer/src/designer/doc/images/designer-edit-resources-button.png
new file mode 100644 (file)
index 0000000..14ffc68
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-edit-resources-button.png differ
diff --git a/src/designer/src/designer/doc/images/designer-editing-mode.png b/src/designer/src/designer/doc/images/designer-editing-mode.png
new file mode 100644 (file)
index 0000000..9241fc3
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-editing-mode.png differ
diff --git a/src/designer/src/designer/doc/images/designer-embedded-preview.png b/src/designer/src/designer/doc/images/designer-embedded-preview.png
new file mode 100644 (file)
index 0000000..1631728
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-embedded-preview.png differ
diff --git a/src/designer/src/designer/doc/images/designer-english-dialog.png b/src/designer/src/designer/doc/images/designer-english-dialog.png
new file mode 100644 (file)
index 0000000..769e286
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-english-dialog.png differ
diff --git a/src/designer/src/designer/doc/images/designer-examples.png b/src/designer/src/designer/doc/images/designer-examples.png
new file mode 100644 (file)
index 0000000..784f219
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-examples.png differ
diff --git a/src/designer/src/designer/doc/images/designer-file-menu.png b/src/designer/src/designer/doc/images/designer-file-menu.png
new file mode 100644 (file)
index 0000000..187cffa
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-file-menu.png differ
diff --git a/src/designer/src/designer/doc/images/designer-find-icon.png b/src/designer/src/designer/doc/images/designer-find-icon.png
new file mode 100644 (file)
index 0000000..aa84bad
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-find-icon.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-layout-cleanlooks.png b/src/designer/src/designer/doc/images/designer-form-layout-cleanlooks.png
new file mode 100644 (file)
index 0000000..3a3b888
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-layout-cleanlooks.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-layout-macintosh.png b/src/designer/src/designer/doc/images/designer-form-layout-macintosh.png
new file mode 100644 (file)
index 0000000..44f8b0d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-layout-macintosh.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-layout-windowsXP.png b/src/designer/src/designer/doc/images/designer-form-layout-windowsXP.png
new file mode 100644 (file)
index 0000000..2c18810
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-layout-windowsXP.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-layout.png b/src/designer/src/designer/doc/images/designer-form-layout.png
new file mode 100644 (file)
index 0000000..d77b927
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-layoutfunction.png b/src/designer/src/designer/doc/images/designer-form-layoutfunction.png
new file mode 100644 (file)
index 0000000..c94b8f6
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-layoutfunction.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-settings.png b/src/designer/src/designer/doc/images/designer-form-settings.png
new file mode 100644 (file)
index 0000000..a2f68df
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-settings.png differ
diff --git a/src/designer/src/designer/doc/images/designer-form-viewcode.png b/src/designer/src/designer/doc/images/designer-form-viewcode.png
new file mode 100644 (file)
index 0000000..48c889c
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-form-viewcode.png differ
diff --git a/src/designer/src/designer/doc/images/designer-french-dialog.png b/src/designer/src/designer/doc/images/designer-french-dialog.png
new file mode 100644 (file)
index 0000000..ac4ac59
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-french-dialog.png differ
diff --git a/src/designer/src/designer/doc/images/designer-getting-started.png b/src/designer/src/designer/doc/images/designer-getting-started.png
new file mode 100644 (file)
index 0000000..14d9499
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-getting-started.png differ
diff --git a/src/designer/src/designer/doc/images/designer-layout-inserting.png b/src/designer/src/designer/doc/images/designer-layout-inserting.png
new file mode 100644 (file)
index 0000000..1b6a52c
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-layout-inserting.png differ
diff --git a/src/designer/src/designer/doc/images/designer-main-window.png b/src/designer/src/designer/doc/images/designer-main-window.png
new file mode 100644 (file)
index 0000000..e3c5fed
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-main-window.png differ
diff --git a/src/designer/src/designer/doc/images/designer-making-connection.png b/src/designer/src/designer/doc/images/designer-making-connection.png
new file mode 100644 (file)
index 0000000..ec8f589
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-making-connection.png differ
diff --git a/src/designer/src/designer/doc/images/designer-manual-containerextension.png b/src/designer/src/designer/doc/images/designer-manual-containerextension.png
new file mode 100644 (file)
index 0000000..7f6552b
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-manual-containerextension.png differ
diff --git a/src/designer/src/designer/doc/images/designer-manual-membersheetextension.png b/src/designer/src/designer/doc/images/designer-manual-membersheetextension.png
new file mode 100644 (file)
index 0000000..1e63463
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-manual-membersheetextension.png differ
diff --git a/src/designer/src/designer/doc/images/designer-manual-propertysheetextension.png b/src/designer/src/designer/doc/images/designer-manual-propertysheetextension.png
new file mode 100644 (file)
index 0000000..a5b5bf5
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-manual-propertysheetextension.png differ
diff --git a/src/designer/src/designer/doc/images/designer-manual-taskmenuextension.png b/src/designer/src/designer/doc/images/designer-manual-taskmenuextension.png
new file mode 100644 (file)
index 0000000..ea76727
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-manual-taskmenuextension.png differ
diff --git a/src/designer/src/designer/doc/images/designer-multiple-screenshot.png b/src/designer/src/designer/doc/images/designer-multiple-screenshot.png
new file mode 100644 (file)
index 0000000..1b84f54
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-multiple-screenshot.png differ
diff --git a/src/designer/src/designer/doc/images/designer-object-inspector.png b/src/designer/src/designer/doc/images/designer-object-inspector.png
new file mode 100644 (file)
index 0000000..0a43aed
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-object-inspector.png differ
diff --git a/src/designer/src/designer/doc/images/designer-palette-brush-editor.png b/src/designer/src/designer/doc/images/designer-palette-brush-editor.png
new file mode 100644 (file)
index 0000000..4a895bc
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-palette-brush-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-palette-editor.png b/src/designer/src/designer/doc/images/designer-palette-editor.png
new file mode 100644 (file)
index 0000000..b6ef0e8
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-palette-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-palette-gradient-editor.png b/src/designer/src/designer/doc/images/designer-palette-gradient-editor.png
new file mode 100644 (file)
index 0000000..d4b4d66
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-palette-gradient-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-palette-pattern-editor.png b/src/designer/src/designer/doc/images/designer-palette-pattern-editor.png
new file mode 100644 (file)
index 0000000..a112257
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-palette-pattern-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-preview-device-skin.png b/src/designer/src/designer/doc/images/designer-preview-device-skin.png
new file mode 100644 (file)
index 0000000..10271ab
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-preview-device-skin.png differ
diff --git a/src/designer/src/designer/doc/images/designer-preview-deviceskin-selection.png b/src/designer/src/designer/doc/images/designer-preview-deviceskin-selection.png
new file mode 100644 (file)
index 0000000..af7c5b0
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-preview-deviceskin-selection.png differ
diff --git a/src/designer/src/designer/doc/images/designer-preview-style-selection.png b/src/designer/src/designer/doc/images/designer-preview-style-selection.png
new file mode 100644 (file)
index 0000000..3f2b3c1
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-preview-style-selection.png differ
diff --git a/src/designer/src/designer/doc/images/designer-preview-style.png b/src/designer/src/designer/doc/images/designer-preview-style.png
new file mode 100644 (file)
index 0000000..ab65c10
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-preview-style.png differ
diff --git a/src/designer/src/designer/doc/images/designer-preview-stylesheet.png b/src/designer/src/designer/doc/images/designer-preview-stylesheet.png
new file mode 100644 (file)
index 0000000..d54df72
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-preview-stylesheet.png differ
diff --git a/src/designer/src/designer/doc/images/designer-promoting-widgets.png b/src/designer/src/designer/doc/images/designer-promoting-widgets.png
new file mode 100644 (file)
index 0000000..789c4f4
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-promoting-widgets.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor-add-dynamic.png b/src/designer/src/designer/doc/images/designer-property-editor-add-dynamic.png
new file mode 100644 (file)
index 0000000..87868a9
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor-add-dynamic.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor-configure.png b/src/designer/src/designer/doc/images/designer-property-editor-configure.png
new file mode 100644 (file)
index 0000000..797e40d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor-configure.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor-link.png b/src/designer/src/designer/doc/images/designer-property-editor-link.png
new file mode 100644 (file)
index 0000000..f4562a4
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor-link.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor-remove-dynamic.png b/src/designer/src/designer/doc/images/designer-property-editor-remove-dynamic.png
new file mode 100644 (file)
index 0000000..c0bdfe1
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor-remove-dynamic.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor-toolbar.png b/src/designer/src/designer/doc/images/designer-property-editor-toolbar.png
new file mode 100644 (file)
index 0000000..ae6345e
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-property-editor.png b/src/designer/src/designer/doc/images/designer-property-editor.png
new file mode 100644 (file)
index 0000000..522dd1f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-property-editor.png differ
diff --git a/src/designer/src/designer/doc/images/designer-reload-resources-button.png b/src/designer/src/designer/doc/images/designer-reload-resources-button.png
new file mode 100644 (file)
index 0000000..c101e76
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-reload-resources-button.png differ
diff --git a/src/designer/src/designer/doc/images/designer-remove-custom-toolbar.png b/src/designer/src/designer/doc/images/designer-remove-custom-toolbar.png
new file mode 100644 (file)
index 0000000..d1aa0ae
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-remove-custom-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-remove-resource-entry-button.png b/src/designer/src/designer/doc/images/designer-remove-resource-entry-button.png
new file mode 100644 (file)
index 0000000..212fcef
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-remove-resource-entry-button.png differ
diff --git a/src/designer/src/designer/doc/images/designer-removing-toolbar-action.png b/src/designer/src/designer/doc/images/designer-removing-toolbar-action.png
new file mode 100644 (file)
index 0000000..71d7736
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-removing-toolbar-action.png differ
diff --git a/src/designer/src/designer/doc/images/designer-removing-toolbar.png b/src/designer/src/designer/doc/images/designer-removing-toolbar.png
new file mode 100644 (file)
index 0000000..be0871d
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-removing-toolbar.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resource-browser.png b/src/designer/src/designer/doc/images/designer-resource-browser.png
new file mode 100644 (file)
index 0000000..223bc10
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resource-browser.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resource-selector.png b/src/designer/src/designer/doc/images/designer-resource-selector.png
new file mode 100644 (file)
index 0000000..c814bf4
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resource-selector.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resource-tool.png b/src/designer/src/designer/doc/images/designer-resource-tool.png
new file mode 100644 (file)
index 0000000..1fc0bdd
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resource-tool.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resources-adding.png b/src/designer/src/designer/doc/images/designer-resources-adding.png
new file mode 100644 (file)
index 0000000..30f51d7
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resources-adding.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resources-editing.png b/src/designer/src/designer/doc/images/designer-resources-editing.png
new file mode 100644 (file)
index 0000000..1e93502
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resources-editing.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resources-empty.png b/src/designer/src/designer/doc/images/designer-resources-empty.png
new file mode 100644 (file)
index 0000000..0122321
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resources-empty.png differ
diff --git a/src/designer/src/designer/doc/images/designer-resources-using.png b/src/designer/src/designer/doc/images/designer-resources-using.png
new file mode 100644 (file)
index 0000000..1cb99fe
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-resources-using.png differ
diff --git a/src/designer/src/designer/doc/images/designer-screenshot.png b/src/designer/src/designer/doc/images/designer-screenshot.png
new file mode 100644 (file)
index 0000000..c2b9145
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-screenshot.png differ
diff --git a/src/designer/src/designer/doc/images/designer-selecting-widget.png b/src/designer/src/designer/doc/images/designer-selecting-widget.png
new file mode 100644 (file)
index 0000000..a358d30
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-selecting-widget.png differ
diff --git a/src/designer/src/designer/doc/images/designer-selecting-widgets.png b/src/designer/src/designer/doc/images/designer-selecting-widgets.png
new file mode 100644 (file)
index 0000000..151fda0
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-selecting-widgets.png differ
diff --git a/src/designer/src/designer/doc/images/designer-set-layout.png b/src/designer/src/designer/doc/images/designer-set-layout.png
new file mode 100644 (file)
index 0000000..6a9c3ab
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-set-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-set-layout2.png b/src/designer/src/designer/doc/images/designer-set-layout2.png
new file mode 100644 (file)
index 0000000..df23859
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-set-layout2.png differ
diff --git a/src/designer/src/designer/doc/images/designer-splitter-layout.png b/src/designer/src/designer/doc/images/designer-splitter-layout.png
new file mode 100644 (file)
index 0000000..c7d8d7f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-splitter-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-stylesheet-options.png b/src/designer/src/designer/doc/images/designer-stylesheet-options.png
new file mode 100644 (file)
index 0000000..2fad456
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-stylesheet-options.png differ
diff --git a/src/designer/src/designer/doc/images/designer-stylesheet-usage.png b/src/designer/src/designer/doc/images/designer-stylesheet-usage.png
new file mode 100644 (file)
index 0000000..eb48823
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-stylesheet-usage.png differ
diff --git a/src/designer/src/designer/doc/images/designer-tab-order-mode.png b/src/designer/src/designer/doc/images/designer-tab-order-mode.png
new file mode 100644 (file)
index 0000000..7a1393c
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-tab-order-mode.png differ
diff --git a/src/designer/src/designer/doc/images/designer-tab-order-tool.png b/src/designer/src/designer/doc/images/designer-tab-order-tool.png
new file mode 100644 (file)
index 0000000..9199265
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-tab-order-tool.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-box.png b/src/designer/src/designer/doc/images/designer-widget-box.png
new file mode 100644 (file)
index 0000000..57cb698
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-box.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-filter.png b/src/designer/src/designer/doc/images/designer-widget-filter.png
new file mode 100644 (file)
index 0000000..bdee881
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-filter.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-final.png b/src/designer/src/designer/doc/images/designer-widget-final.png
new file mode 100644 (file)
index 0000000..a1fd3d3
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-final.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-initial.png b/src/designer/src/designer/doc/images/designer-widget-initial.png
new file mode 100644 (file)
index 0000000..e3e8f6f
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-initial.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-layout.png b/src/designer/src/designer/doc/images/designer-widget-layout.png
new file mode 100644 (file)
index 0000000..7f9c5d3
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-layout.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-morph.png b/src/designer/src/designer/doc/images/designer-widget-morph.png
new file mode 100644 (file)
index 0000000..0435bf0
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-morph.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-preview.png b/src/designer/src/designer/doc/images/designer-widget-preview.png
new file mode 100644 (file)
index 0000000..266d1d2
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-preview.png differ
diff --git a/src/designer/src/designer/doc/images/designer-widget-tool.png b/src/designer/src/designer/doc/images/designer-widget-tool.png
new file mode 100644 (file)
index 0000000..3018cd8
Binary files /dev/null and b/src/designer/src/designer/doc/images/designer-widget-tool.png differ
diff --git a/src/designer/src/designer/doc/images/directapproach-calculatorform.png b/src/designer/src/designer/doc/images/directapproach-calculatorform.png
new file mode 100644 (file)
index 0000000..37afa0c
Binary files /dev/null and b/src/designer/src/designer/doc/images/directapproach-calculatorform.png differ
diff --git a/src/designer/src/designer/doc/images/qtdesignerextensions.png b/src/designer/src/designer/doc/images/qtdesignerextensions.png
new file mode 100644 (file)
index 0000000..814908d
Binary files /dev/null and b/src/designer/src/designer/doc/images/qtdesignerextensions.png differ
diff --git a/src/designer/src/designer/doc/images/qtdesignerscreenshot.png b/src/designer/src/designer/doc/images/qtdesignerscreenshot.png
new file mode 100644 (file)
index 0000000..d71c986
Binary files /dev/null and b/src/designer/src/designer/doc/images/qtdesignerscreenshot.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-arrangement.png b/src/designer/src/designer/doc/images/rgbController-arrangement.png
new file mode 100644 (file)
index 0000000..fcebb2b
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-arrangement.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-configure-connection1.png b/src/designer/src/designer/doc/images/rgbController-configure-connection1.png
new file mode 100644 (file)
index 0000000..d737bc2
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-configure-connection1.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-configure-connection2.png b/src/designer/src/designer/doc/images/rgbController-configure-connection2.png
new file mode 100644 (file)
index 0000000..f705cd6
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-configure-connection2.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-final-layout.png b/src/designer/src/designer/doc/images/rgbController-final-layout.png
new file mode 100644 (file)
index 0000000..f4fab0b
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-final-layout.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-form-gridLayout.png b/src/designer/src/designer/doc/images/rgbController-form-gridLayout.png
new file mode 100644 (file)
index 0000000..5647c22
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-form-gridLayout.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-no-toplevel-layout.png b/src/designer/src/designer/doc/images/rgbController-no-toplevel-layout.png
new file mode 100644 (file)
index 0000000..93e375c
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-no-toplevel-layout.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-property-editing.png b/src/designer/src/designer/doc/images/rgbController-property-editing.png
new file mode 100644 (file)
index 0000000..a5c0aef
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-property-editing.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-screenshot.png b/src/designer/src/designer/doc/images/rgbController-screenshot.png
new file mode 100644 (file)
index 0000000..e62bb10
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-screenshot.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-selectForLayout.png b/src/designer/src/designer/doc/images/rgbController-selectForLayout.png
new file mode 100644 (file)
index 0000000..3685358
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-selectForLayout.png differ
diff --git a/src/designer/src/designer/doc/images/rgbController-signalsAndSlots.png b/src/designer/src/designer/doc/images/rgbController-signalsAndSlots.png
new file mode 100644 (file)
index 0000000..79bc3c9
Binary files /dev/null and b/src/designer/src/designer/doc/images/rgbController-signalsAndSlots.png differ
diff --git a/src/designer/src/designer/doc/images/worldtimeclockplugin-example.png b/src/designer/src/designer/doc/images/worldtimeclockplugin-example.png
new file mode 100644 (file)
index 0000000..33e18ff
Binary files /dev/null and b/src/designer/src/designer/doc/images/worldtimeclockplugin-example.png differ
diff --git a/src/designer/src/designer/doc/snippets/autoconnection/autoconnection.pro b/src/designer/src/designer/doc/snippets/autoconnection/autoconnection.pro
new file mode 100644 (file)
index 0000000..fba94de
--- /dev/null
@@ -0,0 +1,5 @@
+TEMPLATE    = app
+FORMS       = imagedialog.ui
+HEADERS     = imagedialog.h
+SOURCES     = imagedialog.cpp \
+              main.cpp
diff --git a/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.cpp b/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.cpp
new file mode 100644 (file)
index 0000000..6a0e736
--- /dev/null
@@ -0,0 +1,69 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "imagedialog.h"
+
+ImageDialog::ImageDialog(QWidget *parent)
+    : QDialog(parent)
+{
+    setupUi(this);
+    okButton->setAutoDefault(false);
+    cancelButton->setAutoDefault(false);
+
+    colorDepthCombo->addItem(tr("2 colors (1 bit per pixel)"));
+    colorDepthCombo->addItem(tr("4 colors (2 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 colors (4 bits per pixel)"));
+    colorDepthCombo->addItem(tr("256 colors (8 bits per pixel)"));
+    colorDepthCombo->addItem(tr("65536 colors (16 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 million colors (24 bits per pixel)"));
+
+    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
+
+void ImageDialog::on_okButton_clicked()
+{
+    if (nameLineEdit->text().isEmpty())
+        (void) QMessageBox::information(this, tr("No Image Name"),
+            tr("Please supply a name for the image."), QMessageBox::Cancel);
+    else
+        accept();
+}
diff --git a/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.h b/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.h
new file mode 100644 (file)
index 0000000..91671a7
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef IMAGEDIALOG_H
+#define IMAGEDIALOG_H
+
+#include "ui_imagedialog.h"
+
+//! [0]
+class ImageDialog : public QDialog, private Ui::ImageDialog
+{
+    Q_OBJECT
+
+public:
+    ImageDialog(QWidget *parent = 0);
+
+private slots:
+    void on_okButton_clicked();
+};
+//! [0]
+
+#endif
diff --git a/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.ui b/src/designer/src/designer/doc/snippets/autoconnection/imagedialog.ui
new file mode 100644 (file)
index 0000000..1c5e546
--- /dev/null
@@ -0,0 +1,389 @@
+<ui version="4.0" >
+ <comment></comment>
+ <class>ImageDialog</class>
+ <widget class="QDialog" >
+  <property name="objectName" >
+   <string notr="true" >ImageDialog</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>320</width>
+    <height>180</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Create Image</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="1" column="0" >
+      <widget class="QLabel" name="widthLabel" >
+       <property name="objectName" >
+        <string notr="true" >widthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>27</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Width:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" >
+      <widget class="QLabel" name="heightLabel" >
+       <property name="objectName" >
+        <string notr="true" >heightLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>55</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Height:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <widget class="QComboBox" name="colorDepthCombo" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthCombo</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="insertPolicy" >
+        <enum>QComboBox::InsertAtBottom</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1" >
+      <widget class="QLineEdit" name="nameLineEdit" >
+       <property name="objectName" >
+        <string notr="true" >nameLineEdit</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>Untitled image</string>
+       </property>
+       <property name="echoMode" >
+        <enum>QLineEdit::Normal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QSpinBox" name="spinBox" >
+       <property name="objectName" >
+        <string notr="true" >spinBox</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>1</y>
+         <width>227</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QSpinBox" name="spinBox_2" >
+       <property name="objectName" >
+        <string notr="true" >spinBox_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>27</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0" >
+      <widget class="QLabel" name="nameLabel" >
+       <property name="objectName" >
+        <string notr="true" >nameLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>67</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Name:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0" >
+      <widget class="QLabel" name="colorDepthLabel" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>83</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Color depth:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>9</x>
+       <y>121</y>
+       <width>302</width>
+       <height>18</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>128</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="objectName" >
+        <string notr="true" >okButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>135</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton" >
+       <property name="objectName" >
+        <string notr="true" >cancelButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>221</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>nameLineEdit</tabstop>
+  <tabstop>spinBox</tabstop>
+  <tabstop>spinBox_2</tabstop>
+  <tabstop>colorDepthCombo</tabstop>
+  <tabstop>okButton</tabstop>
+  <tabstop>cancelButton</tabstop>
+ </tabstops>
+ <connections>
+  <connection>
+   <sender>nameLineEdit</sender>
+   <signal>returnPressed()</signal>
+   <receiver>okButton</receiver>
+   <slot>animateClick()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/autoconnection/main.cpp b/src/designer/src/designer/doc/snippets/autoconnection/main.cpp
new file mode 100644 (file)
index 0000000..cab6144
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "imagedialog.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    ImageDialog *dialog = new ImageDialog;
+    dialog->show();
+    return app.exec();
+}
diff --git a/src/designer/src/designer/doc/snippets/designer.pro b/src/designer/src/designer/doc/snippets/designer.pro
new file mode 100644 (file)
index 0000000..1445ca5
--- /dev/null
@@ -0,0 +1,6 @@
+TEMPLATE        = subdirs
+SUBDIRS         = autoconnection \
+                  imagedialog \
+                  multipleinheritance \
+                  noautoconnection \
+                  singleinheritance
diff --git a/src/designer/src/designer/doc/snippets/imagedialog/imagedialog.pro b/src/designer/src/designer/doc/snippets/imagedialog/imagedialog.pro
new file mode 100644 (file)
index 0000000..164a7b2
--- /dev/null
@@ -0,0 +1,3 @@
+TEMPLATE    = app
+FORMS       = imagedialog.ui
+SOURCES     = main.cpp
diff --git a/src/designer/src/designer/doc/snippets/imagedialog/imagedialog.ui b/src/designer/src/designer/doc/snippets/imagedialog/imagedialog.ui
new file mode 100644 (file)
index 0000000..1c5e546
--- /dev/null
@@ -0,0 +1,389 @@
+<ui version="4.0" >
+ <comment></comment>
+ <class>ImageDialog</class>
+ <widget class="QDialog" >
+  <property name="objectName" >
+   <string notr="true" >ImageDialog</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>320</width>
+    <height>180</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Create Image</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="1" column="0" >
+      <widget class="QLabel" name="widthLabel" >
+       <property name="objectName" >
+        <string notr="true" >widthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>27</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Width:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" >
+      <widget class="QLabel" name="heightLabel" >
+       <property name="objectName" >
+        <string notr="true" >heightLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>55</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Height:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <widget class="QComboBox" name="colorDepthCombo" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthCombo</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="insertPolicy" >
+        <enum>QComboBox::InsertAtBottom</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1" >
+      <widget class="QLineEdit" name="nameLineEdit" >
+       <property name="objectName" >
+        <string notr="true" >nameLineEdit</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>Untitled image</string>
+       </property>
+       <property name="echoMode" >
+        <enum>QLineEdit::Normal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QSpinBox" name="spinBox" >
+       <property name="objectName" >
+        <string notr="true" >spinBox</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>1</y>
+         <width>227</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QSpinBox" name="spinBox_2" >
+       <property name="objectName" >
+        <string notr="true" >spinBox_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>27</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0" >
+      <widget class="QLabel" name="nameLabel" >
+       <property name="objectName" >
+        <string notr="true" >nameLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>67</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Name:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0" >
+      <widget class="QLabel" name="colorDepthLabel" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>83</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Color depth:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>9</x>
+       <y>121</y>
+       <width>302</width>
+       <height>18</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>128</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="objectName" >
+        <string notr="true" >okButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>135</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton" >
+       <property name="objectName" >
+        <string notr="true" >cancelButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>221</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>nameLineEdit</tabstop>
+  <tabstop>spinBox</tabstop>
+  <tabstop>spinBox_2</tabstop>
+  <tabstop>colorDepthCombo</tabstop>
+  <tabstop>okButton</tabstop>
+  <tabstop>cancelButton</tabstop>
+ </tabstops>
+ <connections>
+  <connection>
+   <sender>nameLineEdit</sender>
+   <signal>returnPressed()</signal>
+   <receiver>okButton</receiver>
+   <slot>animateClick()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/imagedialog/main.cpp b/src/designer/src/designer/doc/snippets/imagedialog/main.cpp
new file mode 100644 (file)
index 0000000..2876a74
--- /dev/null
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "ui_imagedialog.h"
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    QDialog *window = new QDialog;
+    Ui::ImageDialog ui;
+    ui.setupUi(window);
+
+    window->show();
+    return app.exec();
+}
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_default_extensionfactory.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_default_extensionfactory.cpp
new file mode 100644 (file)
index 0000000..ab46400
--- /dev/null
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QObject *ANewExtensionFactory::createExtension(QObject *object,
+                const QString &iid, QObject *parent) const
+        {
+            if (iid != Q_TYPEID(QDesignerContainerExtension))
+                return 0;
+
+            if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
+                   (object))
+                return new MyContainerExtension(widget, parent);
+
+            return 0;
+        }
+//! [0]
+
+
+//! [1]
+        QObject *AGeneralExtensionFactory::createExtension(QObject *object,
+                const QString &iid, QObject *parent) const
+        {
+            MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
+
+            if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
+                return new MyTaskMenuExtension(widget, parent);
+
+            } else if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) {
+                return new MyContainerExtension(widget, parent);
+
+            } else {
+                return 0;
+            }
+        }
+//! [1]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_extension.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_extension.cpp
new file mode 100644 (file)
index 0000000..d146d5a
--- /dev/null
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+       QDesignerPropertySheetExtension *propertySheet;
+       QExtensionManager manager = formEditor->extensionManager();
+
+       propertySheet = qt_extension<QDesignerPropertySheetExtension*>(manager, widget);
+
+       if(propertySheet) {...}
+//! [0]
+
+
+//! [1]
+   Q_DECLARE_EXTENSION_INTERFACE(MyExtension, "com.mycompany.myproduct.myextension")
+//! [1]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_qextensionmanager.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_extension_qextensionmanager.cpp
new file mode 100644 (file)
index 0000000..b01f10b
--- /dev/null
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        void MyPlugin::initialize(QDesignerFormEditorInterface *formEditor)
+        {
+            if (initialized)
+                return;
+
+            QExtensionManager *manager = formEditor->extensionManager();
+            Q_ASSERT(manager != 0);
+
+            manager->registerExtensions(new MyExtensionFactory(manager),
+                                        Q_TYPEID(QDesignerTaskMenuExtension));
+
+            initialized = true;
+        }
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformeditor.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformeditor.cpp
new file mode 100644 (file)
index 0000000..c603942
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QDesignerObjectInspectorInterface *objectInspector = 0;
+        objectInspector = formEditor->objectInspector();
+
+        QDesignerFormWindowManagerInterface *manager = 0;
+        manager = formEditor->formWindowManager();
+
+        objectInspector->setFormWindow(manager->formWindow(0));
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindow.cpp
new file mode 100644 (file)
index 0000000..eb7e1e0
--- /dev/null
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+    QDesignerFormWindowInterface *formWindow;
+    formWindow = QDesignerFormWindowInterface::findFormWindow(myWidget);
+//! [0]
+
+
+//! [1]
+    QList<QDesignerFormWindowInterface *> forms;
+    QDesignerFormWindowInterface *formWindow;
+
+    QDesignerFormWindowManagerInterface *manager = formEditor->formWindowManager();
+
+    for (int i = 0; i < manager->formWindowCount(); i++) {
+        formWindow = manager->formWindow(i);
+        forms.append(formWindow);
+    }
+//! [1]
+
+
+//! [2]
+        if (formWindow->isManaged(myWidget))
+            formWindow->manageWidget(myWidget->childWidget);
+//! [2]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowcursor.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowcursor.cpp
new file mode 100644 (file)
index 0000000..87ec8ef
--- /dev/null
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+    QDesignerFormWindowInterface *formWindow = 0;
+    formWindow = QDesignerFormWindowInterface::findFormWindow(myWidget);
+
+    formWindow->cursor()->setProperty(myWidget, myProperty, newValue);
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowmanager.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractformwindowmanager.cpp
new file mode 100644 (file)
index 0000000..6a5ea8e
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QDesignerFormWindowManagerInterface *manager = 0;
+        QDesignerFormWindowInterface *formWindow = 0;
+
+        manager = formEditor->formWindowManager();
+        formWindow = manager->formWindow(0);
+
+        manager->setActiveFormWindow(formWindow);
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractobjectinspector.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractobjectinspector.cpp
new file mode 100644 (file)
index 0000000..c603942
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QDesignerObjectInspectorInterface *objectInspector = 0;
+        objectInspector = formEditor->objectInspector();
+
+        QDesignerFormWindowManagerInterface *manager = 0;
+        manager = formEditor->formWindowManager();
+
+        objectInspector->setFormWindow(manager->formWindow(0));
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractpropertyeditor.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractpropertyeditor.cpp
new file mode 100644 (file)
index 0000000..782514c
--- /dev/null
@@ -0,0 +1,63 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QDesignerPropertyEditorInterface *propertyEditor = 0;
+        propertyEditor = formEditor->propertyEditor();
+
+        connect(propertyEditor, SIGNAL(propertyChanged(QString, QVariant)),
+                this, SLOT(checkProperty(QString, QVariant)));
+//! [0]
+
+
+//! [1]
+        void checkProperty(QString property, QVariant value) {
+            QDesignerPropertyEditorInterface *propertyEditor = 0;
+            propertyEditor = formEditor->propertyEditor();
+
+            QObject *object = propertyeditor->object();
+            MyCustomWidget *widget = qobject_cast<MyCustomWidget>(object);
+
+            if (widget && property == aProperty && value != expectedValue)
+                {...}
+        }
+//! [1]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractwidgetbox.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_sdk_abstractwidgetbox.cpp
new file mode 100644 (file)
index 0000000..9429e6d
--- /dev/null
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        QDesignerWidgetBoxInterface *widgetBox = 0:
+        widgetBox = formEditor->widgetBox();
+
+        widgetBox->load();
+//! [0]
+
+
+//! [1]
+        QString originalFile = widgetBox->fileName();
+
+        widgetBox->setFileName("myWidgetBox.xml");
+        widgetBox->save();
+//! [1]
+
+
+//! [2]
+        widgetBox->setFileName(originalFile);
+        widgetBox->load();
+//! [2]
+
+
+//! [3]
+        if (widgetBox->filename() != "myWidgetBox.xml") {
+            widgetBox->setFileName("myWidgetBox.xml");
+            widgetBox->load();
+        }
+//! [3]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_abstractformbuilder.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_abstractformbuilder.cpp
new file mode 100644 (file)
index 0000000..690449a
--- /dev/null
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        MyForm::MyForm(QWidget *parent)
+            : QWidget(parent)
+        {
+            QFormBuilder builder;
+            QFile file(":/forms/myWidget.ui");
+            file.open(QFile::ReadOnly);
+            QWidget *myWidget = builder.load(&file, this);
+            file.close();
+
+            QVBoxLayout *layout = new QVBoxLayout;
+            layout->addWidget(myWidget);
+            setLayout(layout);
+        }
+//! [0]
+
+
diff --git a/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_formbuilder.cpp b/src/designer/src/designer/doc/snippets/lib/tools_designer_src_lib_uilib_formbuilder.cpp
new file mode 100644 (file)
index 0000000..59534bf
--- /dev/null
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+        MyForm::MyForm(QWidget *parent)
+            : QWidget(parent)
+        {
+            QFormBuilder builder;
+            QFile file(":/forms/myWidget.ui");
+            file.open(QFile::ReadOnly);
+            QWidget *myWidget = builder.load(&file, this);
+            file.close();
+
+            QVBoxLayout *layout = new QVBoxLayout;
+            layout->addWidget(myWidget);
+            setLayout(layout);
+        }
+//! [0]
+
+
+//! [1]
+    <!DOCTYPE RCC><RCC version="1.0">
+    <qresource prefix="/forms">
+       <file>mywidget.ui</file>
+    </qresource>
+    </RCC>
+//! [1]
+
+
diff --git a/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.cpp b/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.cpp
new file mode 100644 (file)
index 0000000..001d55e
--- /dev/null
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [1]
+#include <QtUiTools>
+//! [1]
+
+
+//! [2]
+void on_<object name>_<signal name>(<signal parameters>);
+//! [2]
+
+
+//! [7]
+class MyExtension: public QObject,
+                   public QdesignerContainerExtension
+{
+    Q_OBJECT
+    Q_INTERFACE(QDesignerContainerExtension)
+
+    ...
+}
+//! [7]
+
+
+//! [8]
+QObject *ANewExtensionFactory::createExtension(QObject *object,
+        const QString &iid, QObject *parent) const
+{
+    if (iid != Q_TYPEID(QDesignerContainerExtension))
+        return 0;
+
+    if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
+            (object))
+        return new MyContainerExtension(widget, parent);
+
+    return 0;
+}
+//! [8]
+
+
+//! [9]
+QObject *AGeneralExtensionFactory::createExtension(QObject *object,
+        const QString &iid, QObject *parent) const
+{
+    MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
+
+    if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
+         return new MyTaskMenuExtension(widget, parent);
+
+    } else if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) {
+        return new MyContainerExtension(widget, parent);
+
+    } else {
+        return 0;
+    }
+}
+//! [9]
+
+
+//! [10]
+void MyPlugin::initialize(QDesignerFormEditorInterface *formEditor)
+{
+    if (initialized)
+        return;
+
+    QExtensionManager *manager = formEditor->extensionManager();
+    Q_ASSERT(manager != 0);
+
+    manager->registerExtensions(new MyExtensionFactory(manager),
+                                Q_TYPEID(QDesignerTaskMenuExtension));
+
+    initialized = true;
+}
+//! [10]
diff --git a/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.js b/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.js
new file mode 100644 (file)
index 0000000..a449516
--- /dev/null
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [6]
+widget.text = 'Hi - I was built ' + new Date().toString();
+//! [6]
diff --git a/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.pro b/src/designer/src/designer/doc/snippets/manual/doc_src_designer-manual.pro
new file mode 100644 (file)
index 0000000..9db35ae
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#! [0]
+QT += uitools
+#! [0]
+
+
+#! [3]
+CONFIG += release
+#! [3]
+
+
+#! [4]
+target.path = $$[QT_INSTALL_PLUGINS]/designer
+INSTALLS += target
+#! [4]
+
+
+#! [5]
+QT += script
+#! [5]
diff --git a/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.cpp b/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.cpp
new file mode 100644 (file)
index 0000000..9a448f8
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "imagedialog.h"
+
+ImageDialog::ImageDialog(QWidget *parent)
+    : QDialog(parent)
+{
+    setupUi(this);
+
+    colorDepthCombo->addItem(tr("2 colors (1 bit per pixel)"));
+    colorDepthCombo->addItem(tr("4 colors (2 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 colors (4 bits per pixel)"));
+    colorDepthCombo->addItem(tr("256 colors (8 bits per pixel)"));
+    colorDepthCombo->addItem(tr("65536 colors (16 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 million colors (24 bits per pixel)"));
+
+    connect(okButton, SIGNAL(clicked()), this, SLOT(accept()));
+    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
diff --git a/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.h b/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.h
new file mode 100644 (file)
index 0000000..7a9758b
--- /dev/null
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef IMAGEDIALOG_H
+#define IMAGEDIALOG_H
+
+#include "ui_imagedialog.h"
+
+class ImageDialog : public QDialog, private Ui::ImageDialog
+{
+    Q_OBJECT
+
+public:
+    ImageDialog(QWidget *parent = 0);
+};
+
+#endif
diff --git a/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.ui b/src/designer/src/designer/doc/snippets/multipleinheritance/imagedialog.ui
new file mode 100644 (file)
index 0000000..1c5e546
--- /dev/null
@@ -0,0 +1,389 @@
+<ui version="4.0" >
+ <comment></comment>
+ <class>ImageDialog</class>
+ <widget class="QDialog" >
+  <property name="objectName" >
+   <string notr="true" >ImageDialog</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>320</width>
+    <height>180</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Create Image</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="1" column="0" >
+      <widget class="QLabel" name="widthLabel" >
+       <property name="objectName" >
+        <string notr="true" >widthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>27</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Width:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" >
+      <widget class="QLabel" name="heightLabel" >
+       <property name="objectName" >
+        <string notr="true" >heightLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>55</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Height:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <widget class="QComboBox" name="colorDepthCombo" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthCombo</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="insertPolicy" >
+        <enum>QComboBox::InsertAtBottom</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1" >
+      <widget class="QLineEdit" name="nameLineEdit" >
+       <property name="objectName" >
+        <string notr="true" >nameLineEdit</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>Untitled image</string>
+       </property>
+       <property name="echoMode" >
+        <enum>QLineEdit::Normal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QSpinBox" name="spinBox" >
+       <property name="objectName" >
+        <string notr="true" >spinBox</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>1</y>
+         <width>227</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QSpinBox" name="spinBox_2" >
+       <property name="objectName" >
+        <string notr="true" >spinBox_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>27</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0" >
+      <widget class="QLabel" name="nameLabel" >
+       <property name="objectName" >
+        <string notr="true" >nameLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>67</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Name:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0" >
+      <widget class="QLabel" name="colorDepthLabel" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>83</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Color depth:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>9</x>
+       <y>121</y>
+       <width>302</width>
+       <height>18</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>128</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="objectName" >
+        <string notr="true" >okButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>135</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton" >
+       <property name="objectName" >
+        <string notr="true" >cancelButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>221</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>nameLineEdit</tabstop>
+  <tabstop>spinBox</tabstop>
+  <tabstop>spinBox_2</tabstop>
+  <tabstop>colorDepthCombo</tabstop>
+  <tabstop>okButton</tabstop>
+  <tabstop>cancelButton</tabstop>
+ </tabstops>
+ <connections>
+  <connection>
+   <sender>nameLineEdit</sender>
+   <signal>returnPressed()</signal>
+   <receiver>okButton</receiver>
+   <slot>animateClick()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/multipleinheritance/main.cpp b/src/designer/src/designer/doc/snippets/multipleinheritance/main.cpp
new file mode 100644 (file)
index 0000000..cab6144
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "imagedialog.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    ImageDialog *dialog = new ImageDialog;
+    dialog->show();
+    return app.exec();
+}
diff --git a/src/designer/src/designer/doc/snippets/multipleinheritance/multipleinheritance.pro b/src/designer/src/designer/doc/snippets/multipleinheritance/multipleinheritance.pro
new file mode 100644 (file)
index 0000000..fba94de
--- /dev/null
@@ -0,0 +1,5 @@
+TEMPLATE    = app
+FORMS       = imagedialog.ui
+HEADERS     = imagedialog.h
+SOURCES     = imagedialog.cpp \
+              main.cpp
diff --git a/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.cpp b/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.cpp
new file mode 100644 (file)
index 0000000..9119cc6
--- /dev/null
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "imagedialog.h"
+
+//! [0]
+ImageDialog::ImageDialog(QWidget *parent)
+    : QDialog(parent)
+{
+    setupUi(this);
+    okButton->setAutoDefault(false);
+    cancelButton->setAutoDefault(false);
+//! [0]
+
+    colorDepthCombo->addItem(tr("2 colors (1 bit per pixel)"));
+    colorDepthCombo->addItem(tr("4 colors (2 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 colors (4 bits per pixel)"));
+    colorDepthCombo->addItem(tr("256 colors (8 bits per pixel)"));
+    colorDepthCombo->addItem(tr("65536 colors (16 bits per pixel)"));
+    colorDepthCombo->addItem(tr("16 million colors (24 bits per pixel)"));
+
+    connect(cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+//! [1]
+    connect(okButton, SIGNAL(clicked()), this, SLOT(checkValues()));
+}
+//! [1]
+
+//! [2]
+void ImageDialog::checkValues()
+{
+    if (nameLineEdit->text().isEmpty())
+        (void) QMessageBox::information(this, tr("No Image Name"),
+            tr("Please supply a name for the image."), QMessageBox::Cancel);
+    else
+        accept();
+}
+//! [2]
diff --git a/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.h b/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.h
new file mode 100644 (file)
index 0000000..997f040
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef IMAGEDIALOG_H
+#define IMAGEDIALOG_H
+
+#include "ui_imagedialog.h"
+
+//! [0]
+class ImageDialog : public QDialog, private Ui::ImageDialog
+{
+    Q_OBJECT
+
+public:
+    ImageDialog(QWidget *parent = 0);
+
+private slots:
+    void checkValues();
+};
+//! [0]
+
+#endif
diff --git a/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.ui b/src/designer/src/designer/doc/snippets/noautoconnection/imagedialog.ui
new file mode 100644 (file)
index 0000000..1c5e546
--- /dev/null
@@ -0,0 +1,389 @@
+<ui version="4.0" >
+ <comment></comment>
+ <class>ImageDialog</class>
+ <widget class="QDialog" >
+  <property name="objectName" >
+   <string notr="true" >ImageDialog</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>320</width>
+    <height>180</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Create Image</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="1" column="0" >
+      <widget class="QLabel" name="widthLabel" >
+       <property name="objectName" >
+        <string notr="true" >widthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>27</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Width:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" >
+      <widget class="QLabel" name="heightLabel" >
+       <property name="objectName" >
+        <string notr="true" >heightLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>55</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Height:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <widget class="QComboBox" name="colorDepthCombo" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthCombo</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="insertPolicy" >
+        <enum>QComboBox::InsertAtBottom</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1" >
+      <widget class="QLineEdit" name="nameLineEdit" >
+       <property name="objectName" >
+        <string notr="true" >nameLineEdit</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>Untitled image</string>
+       </property>
+       <property name="echoMode" >
+        <enum>QLineEdit::Normal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QSpinBox" name="spinBox" >
+       <property name="objectName" >
+        <string notr="true" >spinBox</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>1</y>
+         <width>227</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QSpinBox" name="spinBox_2" >
+       <property name="objectName" >
+        <string notr="true" >spinBox_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>27</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0" >
+      <widget class="QLabel" name="nameLabel" >
+       <property name="objectName" >
+        <string notr="true" >nameLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>67</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Name:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0" >
+      <widget class="QLabel" name="colorDepthLabel" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>83</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Color depth:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>9</x>
+       <y>121</y>
+       <width>302</width>
+       <height>18</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>128</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="objectName" >
+        <string notr="true" >okButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>135</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton" >
+       <property name="objectName" >
+        <string notr="true" >cancelButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>221</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>nameLineEdit</tabstop>
+  <tabstop>spinBox</tabstop>
+  <tabstop>spinBox_2</tabstop>
+  <tabstop>colorDepthCombo</tabstop>
+  <tabstop>okButton</tabstop>
+  <tabstop>cancelButton</tabstop>
+ </tabstops>
+ <connections>
+  <connection>
+   <sender>nameLineEdit</sender>
+   <signal>returnPressed()</signal>
+   <receiver>okButton</receiver>
+   <slot>animateClick()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/noautoconnection/main.cpp b/src/designer/src/designer/doc/snippets/noautoconnection/main.cpp
new file mode 100644 (file)
index 0000000..cab6144
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "imagedialog.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    ImageDialog *dialog = new ImageDialog;
+    dialog->show();
+    return app.exec();
+}
diff --git a/src/designer/src/designer/doc/snippets/noautoconnection/noautoconnection.pro b/src/designer/src/designer/doc/snippets/noautoconnection/noautoconnection.pro
new file mode 100644 (file)
index 0000000..fba94de
--- /dev/null
@@ -0,0 +1,5 @@
+TEMPLATE    = app
+FORMS       = imagedialog.ui
+HEADERS     = imagedialog.h
+SOURCES     = imagedialog.cpp \
+              main.cpp
diff --git a/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.cpp b/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.cpp
new file mode 100644 (file)
index 0000000..a5e2726
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QtGui>
+
+#include "imagedialog.h"
+
+ImageDialog::ImageDialog(QWidget *parent)
+    : QDialog(parent)
+{
+    ui.setupUi(this);
+
+    ui.colorDepthCombo->addItem(tr("2 colors (1 bit per pixel)"));
+    ui.colorDepthCombo->addItem(tr("4 colors (2 bits per pixel)"));
+    ui.colorDepthCombo->addItem(tr("16 colors (4 bits per pixel)"));
+    ui.colorDepthCombo->addItem(tr("256 colors (8 bits per pixel)"));
+    ui.colorDepthCombo->addItem(tr("65536 colors (16 bits per pixel)"));
+    ui.colorDepthCombo->addItem(tr("16 million colors (24 bits per pixel)"));
+
+    connect(ui.okButton, SIGNAL(clicked()), this, SLOT(accept()));
+    connect(ui.cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
+}
diff --git a/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.h b/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.h
new file mode 100644 (file)
index 0000000..dff24c1
--- /dev/null
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef IMAGEDIALOG_H
+#define IMAGEDIALOG_H
+
+#include "ui_imagedialog.h"
+
+class ImageDialog : public QDialog
+{
+    Q_OBJECT
+
+public:
+    ImageDialog(QWidget *parent = 0);
+
+private:
+    Ui::ImageDialog ui;
+};
+
+#endif
diff --git a/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.ui b/src/designer/src/designer/doc/snippets/singleinheritance/imagedialog.ui
new file mode 100644 (file)
index 0000000..1c5e546
--- /dev/null
@@ -0,0 +1,389 @@
+<ui version="4.0" >
+ <comment></comment>
+ <class>ImageDialog</class>
+ <widget class="QDialog" >
+  <property name="objectName" >
+   <string notr="true" >ImageDialog</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>320</width>
+    <height>180</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Create Image</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item row="1" column="0" >
+      <widget class="QLabel" name="widthLabel" >
+       <property name="objectName" >
+        <string notr="true" >widthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>27</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Width:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0" >
+      <widget class="QLabel" name="heightLabel" >
+       <property name="objectName" >
+        <string notr="true" >heightLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>55</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Height:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1" >
+      <widget class="QComboBox" name="colorDepthCombo" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthCombo</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="insertPolicy" >
+        <enum>QComboBox::InsertAtBottom</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1" >
+      <widget class="QLineEdit" name="nameLineEdit" >
+       <property name="objectName" >
+        <string notr="true" >nameLineEdit</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>83</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>1</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text" >
+        <string>Untitled image</string>
+       </property>
+       <property name="echoMode" >
+        <enum>QLineEdit::Normal</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1" >
+      <widget class="QSpinBox" name="spinBox" >
+       <property name="objectName" >
+        <string notr="true" >spinBox</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>1</y>
+         <width>227</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" >
+      <widget class="QSpinBox" name="spinBox_2" >
+       <property name="objectName" >
+        <string notr="true" >spinBox_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>74</x>
+         <y>27</y>
+         <width>227</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="sizePolicy" >
+        <sizepolicy>
+         <hsizetype>5</hsizetype>
+         <vsizetype>0</vsizetype>
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="buttonSymbols" >
+        <enum>QAbstractSpinBox::UpDownArrows</enum>
+       </property>
+       <property name="value" >
+        <number>32</number>
+       </property>
+       <property name="maximum" >
+        <number>1024</number>
+       </property>
+       <property name="minimum" >
+        <number>1</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0" >
+      <widget class="QLabel" name="nameLabel" >
+       <property name="objectName" >
+        <string notr="true" >nameLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>67</width>
+         <height>20</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Name:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="0" >
+      <widget class="QLabel" name="colorDepthLabel" >
+       <property name="objectName" >
+        <string notr="true" >colorDepthLabel</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>83</y>
+         <width>67</width>
+         <height>22</height>
+        </rect>
+       </property>
+       <property name="frameShape" >
+        <enum>QFrame::NoFrame</enum>
+       </property>
+       <property name="frameShadow" >
+        <enum>QFrame::Plain</enum>
+       </property>
+       <property name="text" >
+        <string>Color depth:</string>
+       </property>
+       <property name="textFormat" >
+        <enum>Qt::AutoText</enum>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>9</x>
+       <y>121</y>
+       <width>302</width>
+       <height>18</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>1</x>
+         <y>1</y>
+         <width>128</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton" >
+       <property name="objectName" >
+        <string notr="true" >okButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>135</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>OK</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton" >
+       <property name="objectName" >
+        <string notr="true" >cancelButton</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>221</x>
+         <y>1</y>
+         <width>80</width>
+         <height>24</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <tabstops>
+  <tabstop>nameLineEdit</tabstop>
+  <tabstop>spinBox</tabstop>
+  <tabstop>spinBox_2</tabstop>
+  <tabstop>colorDepthCombo</tabstop>
+  <tabstop>okButton</tabstop>
+  <tabstop>cancelButton</tabstop>
+ </tabstops>
+ <connections>
+  <connection>
+   <sender>nameLineEdit</sender>
+   <signal>returnPressed()</signal>
+   <receiver>okButton</receiver>
+   <slot>animateClick()</slot>
+   <hints>
+    <hint type="sourcelabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+    <hint type="destinationlabel" >
+     <x>-1</x>
+     <y>7</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/singleinheritance/main.cpp b/src/designer/src/designer/doc/snippets/singleinheritance/main.cpp
new file mode 100644 (file)
index 0000000..cab6144
--- /dev/null
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "imagedialog.h"
+
+#include <QApplication>
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    ImageDialog *dialog = new ImageDialog;
+    dialog->show();
+    return app.exec();
+}
diff --git a/src/designer/src/designer/doc/snippets/singleinheritance/singleinheritance.pro b/src/designer/src/designer/doc/snippets/singleinheritance/singleinheritance.pro
new file mode 100644 (file)
index 0000000..fba94de
--- /dev/null
@@ -0,0 +1,5 @@
+TEMPLATE    = app
+FORMS       = imagedialog.ui
+HEADERS     = imagedialog.h
+SOURCES     = imagedialog.cpp \
+              main.cpp
diff --git a/src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.pro b/src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.pro
new file mode 100644 (file)
index 0000000..1a18378
--- /dev/null
@@ -0,0 +1,5 @@
+#! [0]
+TEMPLATE    = app
+FORMS       = calculatorform.ui
+SOURCES     = main.cpp
+#! [0]
diff --git a/src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.ui b/src/designer/src/designer/doc/snippets/uitools/calculatorform/calculatorform.ui
new file mode 100644 (file)
index 0000000..dda0e62
--- /dev/null
@@ -0,0 +1,303 @@
+<ui version="4.0" >
+ <author></author>
+ <comment></comment>
+ <exportmacro></exportmacro>
+ <class>CalculatorForm</class>
+ <widget class="QWidget" name="CalculatorForm" >
+  <property name="objectName" >
+   <string notr="true" >CalculatorForm</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>276</width>
+    <height>98</height>
+   </rect>
+  </property>
+  <property name="sizePolicy" >
+   <sizepolicy>
+    <hsizetype>5</hsizetype>
+    <vsizetype>5</vsizetype>
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle" >
+   <string>Calculator Builder</string>
+  </property>
+  <layout class="QGridLayout" >
+   <property name="objectName" >
+    <string notr="true" />
+   </property>
+   <property name="margin" >
+    <number>9</number>
+   </property>
+   <property name="spacing" >
+    <number>6</number>
+   </property>
+   <item row="0" column="0" >
+    <layout class="QHBoxLayout" >
+     <property name="objectName" >
+      <string notr="true" />
+     </property>
+     <property name="margin" >
+      <number>1</number>
+     </property>
+     <property name="spacing" >
+      <number>6</number>
+     </property>
+     <item>
+      <layout class="QVBoxLayout" >
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="margin" >
+        <number>1</number>
+       </property>
+       <property name="spacing" >
+        <number>6</number>
+       </property>
+       <item>
+        <widget class="QLabel" name="label" >
+         <property name="objectName" >
+          <string notr="true" >label</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>1</y>
+           <width>45</width>
+           <height>19</height>
+          </rect>
+         </property>
+         <property name="text" >
+          <string>Input 1</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QSpinBox" name="inputSpinBox1" >
+         <property name="objectName" >
+          <string notr="true" >inputSpinBox1</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>26</y>
+           <width>45</width>
+           <height>25</height>
+          </rect>
+         </property>
+         <property name="mouseTracking" >
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="QLabel" name="label_3" >
+       <property name="objectName" >
+        <string notr="true" >label_3</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>54</x>
+         <y>1</y>
+         <width>7</width>
+         <height>52</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>+</string>
+       </property>
+       <property name="alignment" >
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" >
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="margin" >
+        <number>1</number>
+       </property>
+       <property name="spacing" >
+        <number>6</number>
+       </property>
+       <item>
+        <widget class="QLabel" name="label_2" >
+         <property name="objectName" >
+          <string notr="true" >label_2</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>1</y>
+           <width>45</width>
+           <height>19</height>
+          </rect>
+         </property>
+         <property name="text" >
+          <string>Input 2</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QSpinBox" name="inputSpinBox2" >
+         <property name="objectName" >
+          <string notr="true" >inputSpinBox2</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>26</y>
+           <width>45</width>
+           <height>25</height>
+          </rect>
+         </property>
+         <property name="mouseTracking" >
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item>
+      <widget class="QLabel" name="label_3_2" >
+       <property name="objectName" >
+        <string notr="true" >label_3_2</string>
+       </property>
+       <property name="geometry" >
+        <rect>
+         <x>120</x>
+         <y>1</y>
+         <width>7</width>
+         <height>52</height>
+        </rect>
+       </property>
+       <property name="text" >
+        <string>=</string>
+       </property>
+       <property name="alignment" >
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <layout class="QVBoxLayout" >
+       <property name="objectName" >
+        <string notr="true" />
+       </property>
+       <property name="margin" >
+        <number>1</number>
+       </property>
+       <property name="spacing" >
+        <number>6</number>
+       </property>
+       <item>
+        <widget class="QLabel" name="label_2_2_2" >
+         <property name="objectName" >
+          <string notr="true" >label_2_2_2</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>1</y>
+           <width>37</width>
+           <height>17</height>
+          </rect>
+         </property>
+         <property name="text" >
+          <string>Output</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="outputWidget" >
+         <property name="objectName" >
+          <string notr="true" >outputWidget</string>
+         </property>
+         <property name="geometry" >
+          <rect>
+           <x>1</x>
+           <y>24</y>
+           <width>37</width>
+           <height>27</height>
+          </rect>
+         </property>
+         <property name="frameShape" >
+          <enum>QFrame::Box</enum>
+         </property>
+         <property name="frameShadow" >
+          <enum>QFrame::Sunken</enum>
+         </property>
+         <property name="text" >
+          <string>0</string>
+         </property>
+         <property name="alignment" >
+          <set>Qt::AlignAbsolute|Qt::AlignBottom|Qt::AlignCenter|Qt::AlignHCenter|Qt::AlignHorizontal_Mask|Qt::AlignJustify|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing|Qt::AlignVCenter|Qt::AlignVertical_Mask</set>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+    </layout>
+   </item>
+   <item row="1" column="0" >
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" >verticalSpacer</string>
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>85</x>
+       <y>69</y>
+       <width>20</width>
+       <height>20</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" >
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="0" column="1" >
+    <spacer>
+     <property name="objectName" >
+      <string notr="true" >horizontalSpacer</string>
+     </property>
+     <property name="geometry" >
+      <rect>
+       <x>188</x>
+       <y>26</y>
+       <width>79</width>
+       <height>20</height>
+      </rect>
+     </property>
+     <property name="orientation" >
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" >
+      <size>
+       <width>40</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <pixmapfunction></pixmapfunction>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/designer/src/designer/doc/snippets/uitools/calculatorform/main.cpp b/src/designer/src/designer/doc/snippets/uitools/calculatorform/main.cpp
new file mode 100644 (file)
index 0000000..8e8b441
--- /dev/null
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+**   * Redistributions of source code must retain the above copyright
+**     notice, this list of conditions and the following disclaimer.
+**   * Redistributions in binary form must reproduce the above copyright
+**     notice, this list of conditions and the following disclaimer in
+**     the documentation and/or other materials provided with the
+**     distribution.
+**   * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
+**     of its contributors may be used to endorse or promote products derived
+**     from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//! [0]
+#include "ui_calculatorform.h"
+//! [0]
+#include <QApplication>
+
+//! [1]
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    QWidget *widget = new QWidget;
+    Ui::CalculatorForm ui;
+    ui.setupUi(widget);
+
+    widget->show();
+    return app.exec();
+}
+//! [1]
diff --git a/src/designer/src/designer/doc/src/designer-manual.qdoc b/src/designer/src/designer/doc/src/designer-manual.qdoc
new file mode 100644 (file)
index 0000000..7afe576
--- /dev/null
@@ -0,0 +1,2830 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.  For licensing terms and
+** conditions see http://qt.digia.com/licensing.  For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file.  Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+    \page designer-manual.html
+
+    \title Qt Designer Manual
+    \ingroup qttools
+    \keyword Qt Designer
+
+    \QD is Qt's tool for designing and building graphical user
+    interfaces (GUIs) from Qt components. You can compose and customize your
+    widgets or dialogs in a what-you-see-is-what-you-get (WYSIWYG) manner, and
+    test them using different styles and resolutions.
+
+    Widgets and forms created with \QD integrated seamlessly with programmed
+    code, using Qt's signals and slots mechanism, that lets you easily assign
+    behavior to graphical elements. All properties set in \QD can be changed
+    dynamically within the code. Furthermore, features like widget promotion
+    and custom plugins allow you to use your own components with \QD.
+
+    If you are new to \QD, you can take a look at the
+    \l{Getting To Know Qt Designer} document. For a quick tutorial on how to
+    use \QD, refer to \l{A Quick Start to Qt Designer}.
+
+    \image designer-multiple-screenshot.png
+
+    For more information on using \QD, you can take a look at the following
+    links:
+
+    \list
+        \li  \l{Qt Designer's Editing Modes}
+            \list
+                \li  \l{Qt Designer's Widget Editing Mode}{Widget Editing Mode}
+                \li  \l{Qt Designer's Signals and Slots Editing Mode}
+                      {Signals and Slots Editing Mode}
+                \li  \l{Qt Designer's Buddy Editing Mode}
+                      {Buddy Editing Mode}
+                \li  \l{Qt Designer's Tab Order Editing Mode}
+                      {Tab Order Editing Mode}
+            \endlist
+        \li  \l{Using Layouts in Qt Designer}
+        \li  \l{Saving, Previewing and Printing Forms in Qt Designer}
+        \li  \l{Using Containers in Qt Designer}
+        \li  \l{Creating Main Windows in Qt Designer}
+        \li  \l{Editing Resources with Qt Designer}
+        \li  \l{Using Stylesheets with Qt Designer}
+        \li  \l{Using a Designer UI File in Your Application}
+    \endlist
+
+    For advanced usage of \QD, you can refer to these links:
+
+    \list
+        \li  \l{Customizing Qt Designer Forms}
+        \li  \l{Using Custom Widgets with Qt Designer}
+        \li  \l{Creating Custom Widgets for Qt Designer}
+        \li  \l{Creating Custom Widget Extensions}
+        \li  \l{Qt Designer's UI File Format}
+    \endlist
+
+
+    \section1 Legal Notices
+
+    Some source code in \QD is licensed under specific highly permissive
+    licenses from the original authors. The Qt team gratefully acknowledges
+    these contributions to \QD and all uses of \QD should also acknowledge
+    these contributions and quote the following license statements in an
+    appendix to the documentation.
+
+    \list
+    \li \l{Implementation of the Recursive Shadow Casting Algorithm in Qt Designer}
+    \endlist
+*/
+
+
+/*!
+    \page designer-to-know.html
+    \contentspage {Qt Designer Manual}{Contents}
+
+
+    \title Getting to Know Qt Designer
+
+    \tableofcontents
+
+    \image designer-screenshot.png
+
+    \section1 Launching Designer
+
+    The way that you launch \QD depends on your platform:
+
+    \list
+        \li On Windows, click the Start button, under the \gui Programs submenu,
+           open the \gui{Qt 4} submenu and click \gui Designer.
+        \li On Unix or Linux, you might find a \QD icon on the desktop
+           background or in the desktop start menu under the \gui Programming
+           or \gui Development submenus. You can launch \QD from this icon.
+           Alternatively, you can type \c{designer} in a terminal window.
+        \li On Mac OS X, double click on \QD in \gui Finder.
+    \endlist
+
+    \section1 The User Interface
+
+    When used as a standalone application, \QD's user interface can be
+    configured to provide either a multi-window user interface (the default
+    mode), or it can be used in docked window mode. When used from within an
+    integrated development environment (IDE) only the multi-window user
+    interface is available. You can switch modes in the \gui Preferences dialog
+    from the \gui Edit menu.
+
+    In multi-window mode, you can arrange each of the tool windows to suit your
+    working style. The main window consists of a menu bar, a tool bar, and a
+    widget box that contains the widgets you can use to create your user
+    interface.
+
+    \target MainWindow
+    \table
+        \row
+            \li \inlineimage designer-main-window.png
+            \li \b{Qt Designer's Main Window}
+
+        The menu bar provides all the standard actions for managing forms,
+        using the clipboard, and accessing application-specific help.
+        The current editing mode, the tool windows, and the forms in use can
+        also be accessed via the menu bar.
+
+        The tool bar displays common actions that are used when editing a form.
+        These are also available via the main menu.
+
+        The widget box provides common widgets and layouts that are used to
+        design components. These are grouped into categories that reflect their
+        uses or features.
+    \endtable
+
+    Most features of \QD are accessible via the menu bar, the tool bar, or the
+    widget box. Some features are also available through context menus that can
+    be opened over the form windows. On most platforms, the right mouse is used
+    to open context menus.
+
+    \target WidgetBox
+    \table
+        \row
+            \li \inlineimage designer-widget-box.png
+            \li \b{Qt Designer's Widget Box}
+
+        The widget box provides a selection of standard Qt widgets, layouts,
+        and other objects that can be used to create user interfaces on forms.
+        Each of the categories in the widget box contain widgets with similar
+        uses or related features.
+
+        \note Since Qt 4.4, new widgets have been included, e.g.,
+        QPlainTextEdit, QCommandLinkButton, QScrollArea, QMdiArea, and
+        QWebView.
+
+        You can display all of the available objects in a category by clicking
+        on the handle next to the category label. When in
+        \l{Qt Designer's Widget Editing Mode}{Widget Editing
+        Mode}, you can add objects to a form by dragging the appropriate items
+        from the widget box onto the form, and dropping them in the required
+        locations.
+
+        \QD provides a scratch pad feature that allows you to collect
+        frequently used objects in a separate category. The scratch pad
+        category can be filled with any widget currently displayed in a form
+        by dragging them from the form and dropping them onto the widget box.
+        These widgets can be used in the same way as any other widgets, but
+        they can also contain child widgets. Open a context menu over a widget
+        to change its name or remove it from the scratch pad.
+    \endtable
+
+
+    \section1 The Concept of Layouts in Qt
+
+    A layout is used to arrange and manage the elements that make up a user
+    interface. Qt provides a number of classes to automatically handle layouts
+    -- QHBoxLayout, QVBoxLayout, QGridLayout, and QFormLayout. These classes
+    solve the challenge of laying out widgets automatically, providing a user
+    interface that behaves predictably. Fortunately knowledge of the layout
+    classes is not required to arrange widgets with \QD. Instead, select one of
+    the \gui{Lay Out Horizontally}, \gui{Lay Out in a Grid}, etc., options from
+    the context menu.
+
+    Each Qt widget has a recommended size, known as \l{QWidget::}{sizeHint()}.
+    The layout manager will attempt to resize a widget to meet its size hint.
+    In some cases, there is no need to have a different size. For example, the
+    height of a QLineEdit is always a fixed value, depending on font size and
+    style. In other cases, you may require the size to change, e.g., the width
+    of a QLineEdit or the width and height of item view widgets. This is where
+    the widget size constraints -- \l{QWidget::minimumSize()}{minimumSize} and
+    \l{QWidget::maximumSize()}{maximumSize} constraints come into play. These
+    are properties you can set in the property editor. For example, to override
+    the default \l{QWidget::}{sizeHint()}, simply set
+    \l{QWidget::minimumSize()}{minimumSize} and \l{QWidget::maximumSize()}
+    {maximumSize} to the same value. Alternatively, to use the current size as
+    a size constraint value, choose one of the \gui{Size Constraint} options
+    from the widget's context menu. The layout  will then ensure that those
+    constraints are met. To control the size of your widgets via code, you can
+    reimplement \l{QWidget::}{sizeHint()} in your code.
+
+    The screenshot below shows the breakdown of a basic user interface designed
+    using a grid. The coordinates on the screenshot show the position of each
+    widget within the grid.
+
+    \image addressbook-tutorial-part3-labeled-layout.png
+
+    \note Inside the grid, the QPushButton objects are actually nested. The
+    buttons on the right are first placed in a QVBoxLayout; the buttons at the
+    bottom are first placed in a QHBoxLayout. Finally, they are put into
+    coordinates (1,2) and (3,1) of the QGridLayout.
+
+    To visualize, imagine the layout as a box that shrinks as much as possible,
+    attempting to \e squeeze your widgets in a neat arrangement, and, at the
+    same time, maximize the use of available space.
+
+    Qt's layouts help when you:
+
+    \list 1
+        \li  Resize the user face to fit different window sizes.
+        \li  Resize elements within the user interface to suit different
+            localizations.
+        \li  Arrange elements to adhere to layout guidelines for different
+            platforms.
+    \endlist
+
+    So, you no longer have to worry about rearranging widgets for different
+    platforms, settings, and languages.
+
+    The example below shows how different localizations can affect the user
+    interface. When a localization requires more space for longer text strings
+    the Qt layout automatically scales to accommodate this, while ensuring that
+    the user interface looks presentable and still matches the platform
+    guidelines.
+
+    \table
+        \header
+            \li  A Dialog in English
+            \li  A Dialog in French
+        \row
+            \li  \image designer-english-dialog.png
+            \li  \image designer-french-dialog.png
+    \endtable
+
+    The process of laying out widgets consists of creating the layout hierarchy
+    while setting as few widget size constraints as possible.
+
+    For a more technical perspective on Qt's layout classes, refer to the
+    \l{Layout Management} documentation.
+*/
+
+
+/*!
+    \page designer-quick-start.html
+    \contentspage {Qt Designer Manual}{Contents}
+
+
+    \title A Quick Start to Qt Designer
+
+    Using \QD involves \b four basic steps:
+
+    \list 1
+        \li  Choose your form and objects
+        \li  Lay the objects out on the form
+        \li  Connect the signals to the slots
+        \li  Preview the form
+    \endlist
+
+    \image rgbController-screenshot.png
+
+    Suppose you would like to design a small widget (see screenshot above) that
+    contains the controls needed to manipulate Red, Green and Blue (RGB) values
+    -- a type of widget that can be seen everywhere in image manipulation
+    programs.
+
+    \table
+    \row
+    \li \inlineimage designer-choosing-form.png
+    \li \b{Choosing a Form}
+
+    You start by choosing \gui Widget from the \gui{New Form} dialog.
+    \endtable
+
+
+    \table
+    \row
+    \li  \inlineimage rgbController-arrangement.png
+    \li  \b{Placing Widgets on a Form}
+
+    Drag three labels, three spin boxes and three vertical sliders on to your
+    form. To change the label's default text, simply double-click on it. You
+    can arrange them according to how you would like them to be laid out.
+    \endtable
+
+    To ensure that they are laid out exactly like this in your program, you
+    need to place these widgets into a layout. We will do this in groups of
+    three. Select the "RED" label. Then, hold down \key Ctrl while you select
+    its corresponding spin box and slider. In the \gui{Form} menu, select
+    \gui{Lay Out in a Grid}.
+
+    \table
+        \row
+            \li \inlineimage rgbController-form-gridLayout.png
+            \li \inlineimage rgbController-selectForLayout.png
+    \endtable
+
+
+    Repeat the step for the other two labels along with their corresponding
+    spin boxes and sliders as well.
+
+    The next step is to combine all three layouts into one \b{main layout}.
+    The main layout is the top level widget's (in this case, the QWidget)
+    layout. It is important that your top level widget has a layout; otherwise,
+    the widgets on your window will not resize when your window is resized. To
+    set the layout, \gui{Right click} anywhere on your form, outside of the
+    three separate layouts, and select \gui{Lay Out Horizontally}.
+    Alternatively, you could also select \gui{Lay Out in a Grid} -- you will
+    still see the same arrangement (shown below).
+
+    \image rgbController-final-layout.png
+
+    \note Main layouts cannot be seen on the form. To check if you have a main
+    layout installed, try resizing your form; your widgets should resize
+    accordingly. Alternatively, you can take a look at \QD's
+    \gui{Object Inspector}. If your top level widget does not have a layout,
+    you will see the broken layout icon next to it,
+    \inlineimage rgbController-no-toplevel-layout.png
+    .
+
+    When you click on the slider and drag it to a certain value, you want the
+    spin box to display the slider's position. To accomplish this behavior, you
+    need to connect the slider's \l{QAbstractSlider::}{valueChanged()} signal
+    to the spin box's \l{QSpinBox::}{setValue()} slot. You also need to make
+    the reverse connections, e.g., connect the spin box's \l{QSpinBox::}
+    {valueChanged()} signal to the slider's \l{QAbstractSlider::value()}
+    {setValue()} slot.
+
+    To do this, you have to switch to \gui{Edit Signals/Slots} mode, either by
+    pressing \key{F4} or selecting \gui{Edit Signals/Slots} from the \gui{Edit}
+    menu.
+
+    \table
+        \row
+            \li \inlineimage rgbController-signalsAndSlots.png
+            \li \b{Connecting Signals to Slots}
+
+        Click on the slider and drag the cursor towards the spin box. The
+        \gui{Configure Connection} dialog, shown below, will pop up. Select the
+        correct signal and slot and click \gui OK.
+    \endtable
+
+    \image rgbController-configure-connection1.png
+
+    Repeat the step (in reverse order), clicking on the spin box and dragging
+    the cursor towards the slider, to connect the spin box's
+    \l{QSpinBox::}{valueChanged()} signal to the slider's
+    \l{QAbstractSlider::value()}{setValue()} slot.
+
+    You can use the screenshot below as a guide to selecting the correct signal
+    and slot.
+
+    \image rgbController-configure-connection2.png
+
+    Now that you have successfully connected the objects for the "RED"
+    component of the RGB Controller, do the same for the "GREEN" and "BLUE"
+    components as well.
+
+    Since RGB values range between 0 and 255, we need to limit the spin box
+    and slider to that particular range.
+
+    \table
+        \row
+            \li \inlineimage rgbController-property-editing.png
+            \li \b{Setting Widget Properties}
+
+        Click on the first spin box. Within the \gui{Property Editor}, you will
+        see \l{QSpinBox}'s properties. Enter "255" for the
+        \l{QSpinBox::}{maximum} property. Then, click on the first vertical
+        slider, you will see \l{QAbstractSlider}'s properties. Enter "255" for
+        the \l{QAbstractSlider::}{maximum} property as well. Repeat this
+        process for the remaining  spin boxes and sliders.
+    \endtable
+
+    Now, we preview your form to see how it would look in your application -
+    press \key{Ctrl + R} or select \gui Preview from the \gui Form menu. Try
+    dragging the slider - the spin box will mirror its value too (and vice
+    versa). Also, you can resize it to see how the layouts that are used to
+    manage the child widgets, respond to different window sizes.
+*/
+
+
+/*!
+    \page designer-editing-mode.html
+    \previouspage Getting to Know Qt Designer
+    \contentspage {Qt Designer Manual}{Contents}
+    \nextpage Using Layouts in Qt Designer
+
+    \title Qt Designer's Editing Modes
+
+    \QD provides four editing modes: \l{Qt Designer's Widget Editing Mode}
+    {Widget Editing Mode}, \l{Qt Designer's Signals and Slots Editing Mode}
+    {Signals and Slots Editing Mode}, \l{Qt Designer's Buddy Editing Mode}
+    {Buddy Editing Mode} and \l{Qt Designer's Tab Order Editing Mode}
+    {Tab Order Editing Mode}. When working with \QD, you will always be in one
+    of these four modes. To switch between modes, simply select it from the
+    \gui{Edit} menu or the toolbar. The table below describes these modes in
+    further detail.
+
+    \table
+        \header \li  \li  \b{Editing Modes}
+        \row
+            \li  \inlineimage designer-widget-tool.png
+            \li  In \l{Qt Designer's Widget Editing Mode}{Edit} mode, we can
+                change the appearance of the form, add layouts, and edit the
+                properties of each widget. To switch to this mode, press
+                \key{F3}. This is \QD's default mode.
+
+        \row
+            \li  \inlineimage designer-connection-tool.png
+            \li  In \l{Qt Designer's Signals and Slots Editing Mode}
+                {Signals and Slots} mode, we can connect widgets together using
+                Qt's signals and slots mechanism. To switch to this mode, press
+                \key{F4}.
+
+        \row
+            \li  \inlineimage designer-buddy-tool.png
+            \li  In \l{Qt Designer's Buddy Editing Mode}{Buddy Editing Mode},
+                buddy widgets can be assigned to label widgets to help them
+                handle keyboard focus correctly.
+
+        \row
+            \li  \inlineimage designer-tab-order-tool.png
+            \li  In \l{Qt Designer's Tab Order Editing Mode}
+                {Tab Order Editing Mode}, we can set the order in which widgets
+                receive the keyboard focus.
+    \endtable
+
+*/
+
+
+/*!
+    \page designer-widget-mode.html
+    \previouspage Qt Designer's Editing Modes
+    \contentspage {Qt Designer Manual}{Contents}
+    \nextpage Qt Designer's Signals and Slots Editing Mode
+
+    \title Qt Designer's Widget Editing Mode
+
+    \image designer-editing-mode.png
+
+    In the Widget Editing Mode, objects can be dragged from the main window's
+    widget box to a form, edited, resized, dragged around on the form, and even
+    dragged between forms. Object properties can be modified interactively, so
+    that changes can be seen immediately. The editing interface is intuitive
+    for simple operations, yet it still supports Qt's powerful layout
+    facilities.
+
+
+    \tableofcontents
+
+    To create and edit new forms, open the \gui File menu and select
+    \gui{New Form...} or press \key{Ctrl+N}. Existing forms can also be edited
+    by selecting \gui{Open Form...} from the \gui File menu or pressing
+    \key{Ctrl+O}.
+
+    At any point, you can save your form by selecting the \gui{Save From As...}
+    option from the \gui File menu. The UI files saved by \QD contain
+    information about the objects used, and any details of signal and slot
+    connections between them.
+
+
+    \section1 Editing A Form
+
+    By default, new forms are opened in widget editing mode. To switch to Edit
+    mode from another mode, select \gui{Edit Widgets} from the \gui Edit menu
+    or press the \key F3 key.
+
+    Objects are added to the form by dragging them from the main widget box
+    and dropping them in the desired location on the form. Once there, they
+    can be moved around simply by dragging them, or using the cursor keys.
+    Pressing the \key Ctrl key at the same time moves the selected widget
+    pixel by pixel, while using the cursor keys alone make the selected widget
+    snap to the grid when it is moved. Objects can be selected by clicking on
+    them with the left mouse button. You can also use the \key Tab key to
+    change the selection.
+
+    ### Screenshot of widget box, again
+
+    The widget box contains objects in a number of different categories, all of
+    which can be placed on the form as required. The only objects that require
+    a little more preparation are the \gui Container widgets. These are
+    described in further detail in the \l{Using Containers in Qt Designer}
+    chapter.
+
+
+    \target SelectingObjects
+    \table
+        \row
+            \li  \inlineimage designer-selecting-widget.png
+            \li  \b{Selecting Objects}
+
+        Objects on the form are selected by clicking on them with the left
+        mouse button. When an object is selected, resize handles are shown at
+        each corner and the midpoint of each side, indicating that it can be
+        resized.
+
+        To select additional objects, hold down the \key Shift key and click on
+        them. If more than one object is selected, the current object will be
+        displayed with resize handles of a different color.
+
+        To move a widget within a layout, hold down \key Shift and \key Control
+        while dragging the widget. This extends the selection to the widget's
+        parent layout.
+
+        Alternatively, objects can be selected in the
+        \l{The Object Inspector}{Object Inspector}.
+    \endtable
+
+    When a widget is selected, normal clipboard operations such as cut, copy,
+    and paste can be performed on it. All of these operations can be done and
+    undone, as necessary.
+
+    The following shortcuts can be used:
+
+    \target ShortcutsForEditing
+    \table
+        \header \li Action       \li Shortcut     \li Description
+        \row
+            \li Cut
+            \li \key{Ctrl+X}
+            \li Cuts the selected objects to the clipboard.
+        \row
+            \li Copy
+            \li \key{Ctrl+C}
+            \li Copies the selected objects to the clipboard.
+        \row
+            \li Paste
+            \li \key{Ctrl+V}
+            \li Pastes the objects in the clipboard onto the form.
+        \row
+            \li Delete
+            \li \key Delete
+            \li Deletes the selected objects.
+        \row
+            \li Clone object
+            \li \key{Ctrl+drag} (leftmouse button)
+            \li Makes a copy of the selected object or group of objects.
+        \row
+            \li Preview
+            \li \key{Ctrl+R}
+            \li Shows a preview of the form.
+    \endtable
+
+    All of the above actions (apart from cloning) can be accessed via both the
+    \gui Edit menu and the form's context menu. These menus also provide
+    funcitons for laying out objects as well as a \gui{Select All} function to
+    select all the objects on the form.
+
+    Widgets are not unique objects; you can make as many copies of them as you
+    need. To quickly duplicate a widget, you can clone it by holding down the
+    \key Ctrl key and dragging it. This allows widgets to be copied and placed
+    on the form more quickly than with clipboard operations.
+
+
+    \target DragAndDrop
+    \table
+        \row
+            \li \inlineimage designer-dragging-onto-form.png
+            \li \b{Drag and Drop}
+
+        \QD makes extensive use of the drag and drop facilities provided by Qt.
+        Widgets can be dragged from the widget box and dropped onto the form.
+
+        Widgets can also be "cloned" on the form: Holding down \key Ctrl and
+        dragging the widget creates a copy of the widget that can be dragged to
+        a new position.
+
+        It is also possible to drop Widgets onto the \l {The Object Inspector}
+        {Object Inspector} to handle nested layouts easily.
+    \endtable
+
+    \QD allows selections of objects to be copied, pasted, and dragged between
+    forms. You can use this feature to create more than one copy of the same
+    form, and experiment with different layouts in each of them.
+
+
+    \section2 The Property Editor
+
+    The Property Editor always displays properties of the currently selected
+    object on the form. The available properties depend on the object being
+    edited, but all of the widgets provided have common properties such as
+    \l{QObject::}{objectName}, the object's internal name, and
+    \l{QWidget::}{enabled}, the property that determines whether an
+    object can be interacted with or not.
+
+
+    \target EditingProperties
+    \table
+        \row
+            \li \inlineimage designer-property-editor.png
+            \li \b{Editing Properties}
+
+        The property editor uses standard Qt input widgets to manage the
+        properties of objects on the form. Textual properties are shown in line
+        edits, integer properties are displayed in spinboxes, boolean
+        properties are displayed in check boxes, and compound properties such
+        as colors and sizes are presented in drop-down lists of input widgets.
+
+        Modified properties are indicated with bold labels. To reset them, click
+        the arrow button on the right.
+
+        Changes in properties are applied to all selected objects that have the
+        same property.
+    \endtable
+
+    Certain properties are treated specially by the property editor:
+
+    \list
+        \li Compound properties -- properties that are made up of more than one
+           value -- are represented as nodes that can be expanded, allowing
+           their values to be edited.
+        \li Properties that contain a choice or selection of flags are edited
+           via combo boxes with checkable items.
+        \li Properties that allow access to rich data types, such as QPalette,
+           are modified using dialogs that open when the properties are edited.
+           QLabel and the widgets in the \gui Buttons section of the widget box
+           have a \c text property that can also be edited by double-clicking
+           on the widget or by pressing \gui F2. \QD interprets the backslash
+           (\\) character specially, enabling newline (\\n) characters to be
+           inserted into the text; the \\\\ character sequence is used to
+           insert a single backslash into the text. A context menu can also be
+           opened while editing, providing another way to insert special
+           characters and newlines into the text.
+    \endlist
+
+
+    \section2 Dynamic Properties
+
+    The property editor can also be used to add new
+    \l{QObject#Dynamic Properties}{dynamic properties} to both standard Qt
+    widgets and to forms themselves. Since Qt 4.4, dynamic properties are added
+    and removed via the property editor's toolbar, shown below.
+
+    \image designer-property-editor-toolbar.png
+
+    To add a dynamic property, clcik on the \gui Add button
+    \inlineimage designer-property-editor-add-dynamic.png
+    . To remove it, click on the \gui Remove button
+    \inlineimage designer-property-editor-remove-dynamic.png
+     instead. You can also sort the properties alphabetically and change the
+    color groups by clickinig on the \gui Configure button
+    \inlineimage designer-property-editor-configure.png
+    .
+
+    \section2 The Object Inspector
+    \table
+        \row
+            \li  \inlineimage designer-object-inspector.png
+            \li  \b{The Object Inspector}
+
+        The \gui{Object Inspector} displays a hierarchical list of all the
+        objects on the form that is currently being edited. To show the child
+        objects of a container widget or a layout, click the handle next to the
+        object label.
+
+        Each object on a form can be selected by clicking on the corresponding
+        item in the \gui{Object Inspector}. Right-clicking opens the form's
+        context menu. These features can be useful if you have many overlapping
+        objects. To locate an object in the \gui{Object Inspector}, use
+        \key{Ctrl+F}.
+
+        Since Qt 4.4, double-clicking on the object's name allows you to change
+        the object's name with the in-place editor.
+
+        Since Qt 4.5, the \gui{Object Inspector} displays the layout state of
+        the containers. The broken layout icon ###ICON is displayed if there is
+        something wrong with the layouts.
+
+    \endtable
+*/
+
+
+/*!
+    \page designer-layouts.html
+    \previouspage Qt Designer's Widget Editing Mode
+    \contentspage
+    \nextpage Qt Designer's Signals and Slots Editing Mode
+
+    \title Using Layouts in Qt Designer
+
+    Before a form can be used, the objects on the form need to be placed into
+    layouts. This ensures that the objects will be displayed properly when the
+    form is previewed or used in an application. Placing objects in a layout
+    also ensures that they will be resized correctly when the form is resized.
+
+
+    \tableofcontents
+
+    \section1 Applying and Breaking Layouts
+
+    The simplest way to manage objects is to apply a layout to a group of
+    existing objects. This is achieved by selecting the objects that you need
+    to manage and applying one of the standard layouts using the main toolbar,
+    the \gui Form menu, or the form's context menu.
+
+    Once widgets have been inserted into a layout, it is not possible to move
+    and resize them individually because the layout itself controls the
+    geometry of each widget within it, taking account of the hints provided by
+    spacers. Instead, you must either break the layout and adjust each object's
+    geometry manually, or you can influence the widget's geometry by resizing
+    the layout.
+
+    To break the layout, press \key{Ctrl+0} or choose \gui{Break Layout} from
+    the form's context menu, the \gui Form menu or the main toolbar. You can
+    also add and remove spacers from the layout to influence the geometries of
+    the widgets.
+
+
+    \target InsertingObjectsIntoALayout
+    \table
+        \row
+            \li  \inlineimage designer-layout-inserting.png
+            \li  \b{Inserting Objects into a Layout}
+
+        Objects can be inserted into an existing layout by dragging them from
+        their current positions and dropping them at the required location. A
+        blue cursor is displayed in the layout as an object is dragged over
+        it to indicate where the object will be added.
+    \endtable
+
+
+    \section2 Setting A Top Level Layout
+
+    The form's top level layout can be set by clearing the selection (click the
+    left mouse button on the form itself) and applying a layout. A top level
+    layout is necessary to ensure that your widgets will resize correctly when
+    its window is resized. To check if you have set a top level layout, preview
+    your widget and attempt to resize the window by dragging the size grip.
+
+    \table
+        \row
+            \li  \inlineimage designer-set-layout.png
+            \li  \b{Applying a Layout}
+
+        To apply a layout, you can select your choice of layout from the
+        toolbar shown on the left, or from the context menu shown below.
+    \endtable
+
+    \image designer-set-layout2.png
+
+
+    \section2 Horizontal and Vertical Layouts
+
+    The simplest way to arrange objects on a form is to place them in a
+    horizontal or vertical layout. Horizontal layouts ensure that the widgets
+    within are aligned horizontally; vertical layouts ensure that they are
+    aligned vertically.
+
+    Horizontal and vertical layouts can be combined and nested to any depth.
+    However, if you need more control over the placement of objects, consider
+    using the grid layout.
+
+
+    \section3 The Grid Layout
+
+    Complex form layouts can be created by placing objects in a grid layout.
+    This kind of layout gives the form designer much more freedom to arrange
+    widgets on the form, but can result in a much less flexible layout.
+    However, for some kinds of form layout, a grid arrangement is much more
+    suitable than a nested arrangement of horizontal and vertical layouts.
+
+
+    \section3 Splitter Layouts
+
+    Another common way to manage the layout of objects on a form is to place
+    them in a splitter. These splitters arrange the objects horizontally or
+    vertically in the same way as normal layouts, but also allow the user to
+    adjust the amount of space allocated to each object.
+
+    \image designer-splitter-layout.png
+
+    Although QSplitter is a container widget, \QD treats splitter objects as
+    layouts that are applied to existing widgets. To place a group of widgets
+    into a splitter, select them
+    \l{Qt Designer's Widget Editing Mode#SelectingObjects}{as described here}
+    then apply the splitter layout by using the appropriate toolbar button,
+    keyboard shortcut, or \gui{Lay out} context menu entry.
+
+
+    \section3 The Form Layout
+
+    Since Qt 4.4, another layout class has been included -- QFormLayout. This
+    class manages widgets in a two-column form; the left column holds labels
+    and the right column holds field widgets such as line edits, spin boxes,
+    etc. The QFormLayout class adheres to various platform look and feel
+    guidelines and supports wrapping for long rows.
+
+    \image designer-form-layout.png
+
+    The UI file above results in the previews shown below.
+
+    \table
+        \header
+            \li  Windows XP
+            \li  Mac OS X
+            \li  Cleanlooks
+        \row
+            \li  \inlineimage designer-form-layout-windowsXP.png
+            \li  \inlineimage designer-form-layout-macintosh.png
+            \li  \inlineimage designer-form-layout-cleanlooks.png
+    \endtable
+
+
+    \section2 Shortcut Keys
+
+    In addition to the standard toolbar and context menu entries, there is also
+    a set of keyboard shortcuts to apply layouts on widgets.
+
+    \target LayoutShortcuts
+    \table
+        \header
+            \li  Layout
+            \li  Shortcut
+            \li  Description
+        \row
+            \li  Horizontal
+            \li  \key{Ctrl+1}
+            \li  Places the selected objects in a horizontal layout.
+        \row
+            \li  Vertical
+            \li  \key{Ctrl+2}
+            \li  Places the selected objects in a vertical layout.
+        \row
+            \li  Grid
+            \li  \key{Ctrl+5}
+            \li  Places the selected objects in a grid layout.
+        \row
+            \li  Form
+            \li  \key{Ctrl+6}
+            \li  Places the selected objects in a form layout.
+        \row
+            \li  Horizontal splitter
+            \li  \key{Ctrl+3}
+            \li  Creates a horizontal splitter and places the selected objects
+                inside it.
+        \row
+            \li  Vertical splitter
+            \li  \key{Ctrl+4}
+            \li  Creates a vertical splitter and places the selected objects
+                inside it.
+        \row
+            \li  Adjust size
+            \li  \key{Ctrl+J}
+            \li  Adjusts the size of the layout to ensure that each child object
+                has sufficient space to display its contents. See
+                QWidget::adjustSize() for more information.
+    \endtable
+
+    \note \key{Ctrl+0} is used to break a layout.
+
+*/
+
+
+/*!
+    \page designer-preview.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Using Layouts in Qt Designer
+    \nextpage Qt Designer's Buddy Editing Mode
+    \title Saving, Previewing and Printing Forms in Qt Designer
+
+    Although \QD's forms are accurate representations of the components being
+    edited, it is useful to preview the final appearance while editing. This
+    feature can be activated by opening the \gui Form menu and selecting
+    \gui Preview, or by pressing \key{Ctrl+R} when in the form.
+
+    \image designer-dialog-preview.png
+
+    The preview shows exactly what the final component will look like when used
+    in an application.
+
+    Since Qt 4.4, it is possible to preview forms with various skins - default
+    skins, skins created with Qt Style Sheets or device skins. This feature
+    simulates the effect of calling \c{QApplication::setStyleSheet()} in the
+    application.
+
+    To preview your form with skins, open the \gui Edit menu and select
+    \gui{Preferences...}
+
+    You will see the dialog shown below:
+
+    \image designer-preview-style.png
+
+    The \gui{Print/Preview Configuration} checkbox must be checked to activate
+    previews of skins. You can select the styles provided from the \gui{Style}
+    drop-down box.
+
+    \image designer-preview-style-selection.png
+
+    Alternatively, you can preview custom style sheet created with Qt Style
+    Sheets. The figure below shows an example of Qt Style Sheet syntax and the
+    corresponding output.
+
+    \image designer-preview-stylesheet.png
+
+    Another option would be to preview your form with device skins. A list of
+    generic device skins are available in \QD, however, you may also use
+    other QVFB skins with the \gui{Browse...} option.
+
+    \image designer-preview-deviceskin-selection.png
+
+
+    \section1 Viewing the Form's Code
+
+    Since Qt 4.4, it is possible to view code generated by the User Interface
+    Compiler (uic) for the \QD form.
+
+    \image designer-form-viewcode.png
+
+    Select \gui{View Code...} from the \gui{Form} menu and a dialog with the
+    generated code will be displayed. The screenshot below is an example of
+    code generated by the \c{uic}.
+
+    \image designer-code-viewer.png
+
+    \section1 Saving and Printing the Form
+
+    Forms created in \QD can be saved to an image or printed.
+
+    \table
+    \row
+    \li \inlineimage designer-file-menu.png
+    \li \b{Saving Forms}
+
+    To save a form as an image, choose the \gui{Save Image...} option. The file
+    will be saved in \c{.png} format.
+
+    \b{Printing Forms}
+
+    To print a form, select the \gui{Print...} option.
+
+    \endtable
+*/
+
+
+/*!
+    \page designer-connection-mode.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Using Layouts in Qt Designer
+    \nextpage Qt Designer's Buddy Editing Mode
+
+
+    \title Qt Designer's Signals and Slots Editing Mode
+
+    \image designer-connection-mode.png
+
+    In \QD's signals and slots editing mode, you can connect objects in a form
+    together using Qt's signals and slots mechanism. Both widgets and layouts
+    can be connected via an intuitive connection interface, using the menu of
+    compatible signals and slots provided by \QD. When a form is saved, all
+    connections are preserved so that they will be ready for use when your
+    project is built.
+
+
+    \tableofcontents
+
+    For more information on Qt's signals and sltos mechanism, refer to the
+    \l{Signals and Slots} document.
+
+
+    \section1 Connecting Objects
+
+    To begin connecting objects, enter the signals and slots editing mode by
+    opening the \gui Edit menu and selecting \gui{Edit Signals/Slots}, or by
+    pressing the \key F4 key.
+
+    All widgets and layouts on the form can be connected together. However,
+    spacers just provide spacing hints to layouts, so they cannot be connected
+    to other objects.
+
+
+    \target HighlightedObjects
+    \table
+        \row
+            \li  \inlineimage designer-connection-highlight.png
+            \li  \b{Highlighted Objects}
+
+        When the cursor is over an object that can be used in a connection, the
+        object will be highlighted.
+    \endtable
+
+    To make a connectionn, press the left mouse button and drag the cursor
+    towards the object you want to connect it to. As you do this, a line will
+    extend from the source object to the cursor. If the cursor is over another
+    object on the form, the line will end with an arrow head that points to the
+    destination object. This indicates that a connection will be made between
+    the two objects when you release the mouse button.
+
+    You can abandon the connection at any point while you are dragging the
+    connection path by pressing \key{Esc}.
+
+    \target MakingAConnection
+    \table
+        \row
+            \li  \inlineimage designer-connection-making.png
+            \li  \b{Making a Connection}
+
+        The connection path will change its shape as the cursor moves around
+        the form. As it passes over objects, they are highlighted, indicating
+        that they can be used in a signal and slot connection. Release the
+        mouse button to make the connection.
+    \endtable
+
+    The \gui{Configure Connection} dialog (below) is displayed, showing signals
+    from the source object and slots from the destination object that you can
+    use.
+
+    \image designer-connection-dialog.png
+
+    To complete the connection, select a signal from the source object and a
+    slot from the destination object, then click \key OK. Click \key Cancel if
+    you wish to abandon the connection.
+
+    \note If the \gui{Show all signals and slots} checkbox is selected, all
+    available signals from the source object will be shown. Otherwise, the
+    signals and slots inherited from QWidget will be hidden.
+
+    You can make as many connections as you like between objects on the form;
+    it is possible to connect signals from objects to slots in the form itself.
+    As a result, the signal and slot connections in many dialogs can be
+    completely configured from within \QD.
+
+    \target ConnectingToTheForm
+    \table
+        \row
+            \li  \inlineimage designer-connection-to-form.png
+            \li  \b{Connecting to a Form}
+
+        To connect an object to the form itself, simply position the cursor
+        over the form and release the mouse button. The end point of the
+        connection changes to the electrical "ground" symbol.
+    \endtable
+
+
+    \section1 Editing and Deleting Connections
+
+    By default, connection paths are created with two labels that show the
+    signal and slot involved in the connection. These labels are usually
+    oriented along the line of the connection. You can move them around inside
+    their host widgets by dragging the red square at each end of the connection
+    path.
+
+    \target ConnectionEditor
+    \table
+        \row
+            \li  \inlineimage designer-connection-editor.png
+            \li  \b{The Signal/Slot Editor}
+
+        The signal and slot used in a connection can be changed after it has
+        been set up. When a connection is configured, it becomes visible in
+        \QD's signal and slot editor where it can be further edited. You can
+        also edit signal/slot connections by double-clicking on the connection
+        path or one of its labels to display the Connection Dialog.
+    \endtable
+
+    \target DeletingConnections
+    \table
+        \row
+            \li  \inlineimage designer-connection-editing.png
+            \li  \b{Deleting Connections}
+
+        The whole connection can be selected by clicking on any of its path
+        segments. Once selected, a connection can be deleted with the
+        \key Delete key, ensuring that it will not be set up in the UI
+        file.
+    \endtable
+*/
+
+
+/*!
+    \page designer-buddy-mode.html
+    \contentspage{Qt Designer Manual}{Contents}
+    \previouspage Qt Designer's Signals and Slots Editing Mode
+    \nextpage Qt Designer's Tab Order Editing Mode
+
+    \title Qt Designer's Buddy Editing Mode
+
+    \image designer-buddy-mode.png
+
+    One of the most useful basic features of Qt is the support for buddy
+    widgets. A buddy widget accepts the input focus on behalf of a QLabel when
+    the user types the label's shortcut key combination. The buddy concept is
+    also used in Qt's \l{Model/View Programming}{model/view} framework.
+
+
+    \section1 Linking Labels to Buddy Widgets
+
+    To enter buddy editing mode, open the \gui Edit menu and select
+    \gui{Edit Buddies}. This mode presents the widgets on the form in a similar
+    way to \l{Qt Designer's Signals and Slots Editing Mode}{signals and slots
+    editing mode} but in this mode, connections must start at label widgets.
+    Ideally, you should connect each label widget that provides a shortcut with
+    a suitable input widget, such as a QLineEdit.
+
+
+    \target MakingBuddies
+    \table
+        \row
+            \li  \inlineimage designer-buddy-making.png
+            \li  \b{Making Buddies}
+
+        To define a buddy widget for a label, click on the label, drag the
+        connection to another widget on the form, and release the mouse button.
+        The connection shown indicates how input focus is passed to the buddy
+        widget. You can use the form preview to test the connections between
+        each label and its buddy.
+    \endtable
+
+
+    \section1 Removing Buddy Connections
+
+    Only one buddy widget can be defined for each label. To change the buddy
+    used, it is necessary to delete any existing buddy connection before you
+    create a new one.
+
+    Connections between labels and their buddy widgets can be deleted in the
+    same way as signal-slot connections in signals and slots editing mode:
+    Select the buddy connection by clicking on it and press the \key Delete
+    key. This operation does not modify either the label or its buddy in any
+    way.
+*/
+
+
+/*!
+    \page designer-tab-order.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Qt Designer's Buddy Editing Mode
+    \nextpage Using Containers in Qt Designer
+
+    \title Qt Designer's Tab Order Editing Mode
+
+    \image designer-tab-order-mode.png
+
+    Many users expect to be able to navigate between widgets and controls
+    using only the keyboard. Qt lets the user navigate between input widgets
+    with the \key Tab and \key{Shift+Tab} keyboard shortcuts. The default
+    \e{tab order} is based on the order in which widgets are constructed.
+    Although this order may be sufficient for many users, it is often better
+    to explicitly specify the tab order to make your application easier to
+    use.
+
+
+    \section1 Setting the Tab Order
+
+    To enter tab order editing mode, open the \gui Edit menu and select
+    \gui{Edit Tab Order}. In this mode, each input widget in the form is shown
+    with a number indicating its position in the tab order. So, if the user
+    gives the first input widget the input focus and then presses the tab key,
+    the focus will move to the second input widget, and so on.
+
+    The tab order is defined by clicking on each of the numbers in the correct
+    order. The first number you click will change to red, indicating the
+    currently edited position in the tab order chain. The widget associated
+    with the number will become the first one in the tab order chain. Clicking
+    on another widget will make it the second in the tab order, and so on.
+
+    Repeat this process until you are satisfied with the tab order in the form
+    -- you do not need to click every input widget if you see that the
+    remaining widgets are already in the correct order. Numbers, for which you
+    already set the order, change to green, while those which are not clicked
+    yet, remain blue.
+
+    If you make a mistake, simply double click outside of any number or choose
+    \gui{Restart} from the form's context menu to start again. If you have many
+    widgets on your form and would like to change the tab order in the middle or
+    at the end of the tab order chain, you can edit it at any position. Press
+    \key{Ctrl} and click the number from which you want to start.
+    Alternatively, choose \gui{Start from Here} in the context menu.
+
+*/
+
+
+/*!
+    \page designer-using-containers.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Qt Designer's Tab Order Editing Mode
+    \nextpage Creating Main Windows in Qt Designer
+
+
+    \title Using Containers in Qt Designer
+
+    Container widgets provide high level control over groups of objects on a
+    form. They can be used to perform a variety of functions, such as managing
+    input widgets, providing paged and tabbed layouts, or just acting as
+    decorative containers for other objects.
+
+    \image designer-widget-morph.png
+
+    \QD provides visual feedback to help you place objects inside your
+    containers. When you drag an object from the widget box (or elsewhere) on
+    the form, each container will be highlighted when the cursor is positioned
+    over it. This indicates that you can drop the object inside, making it a
+    child object of the container. This feedback is important because it is
+    easy to place objects close to containers without actually placing them
+    inside. Both widgets and spacers can be used inside containers.
+
+    Stacked widgets, tab widgets, and toolboxes are handled specially in \QD.
+    Normally, when adding pages (tabs, pages, compartments) to these containers
+    in your own code, you need to supply existing widgets, either as
+    placeholders or containing child widgets. In \QD, these are automatically
+    created for you, so you can add child objects to each page straight away.
+
+    Each container typically allows its child objects to be arranged in one or
+    more layouts. The type of layout management provided depends on each
+    container, although setting the layout is usually just a matter of
+    selecting the container by clicking it, and applying a layout. The table
+    below shows a list of available containers.
+
+    \table
+        \row
+            \li  \inlineimage designer-containers-frame.png
+            \li  \b Frames
+
+        Frames are used to enclose and group widgets, as well as to provide
+        decoration. They are used as the foundation for more complex
+        containers, but they can also be used as placeholders in forms.
+
+        The most important properties of frames are \c frameShape,
+        \c frameShadow, \c lineWidth, and \c midLineWidth. These are described
+        in more detail in the QFrame class description.
+
+        \row
+            \li  \inlineimage designer-containers-groupbox.png
+            \li  \b{Group Boxes}
+
+        Group boxes are usually used to group together collections of
+        checkboxes and radio buttons with similar purposes.
+
+        Among the significant properties of group boxes are \c title, \c flat,
+        \c checkable, and \c checked. These are demonstrated in the
+        \l{widgets/groupbox}{Group Box} example, and described in the QGroupBox
+        class documentation. Each group box can contain its own layout, and
+        this is necessary if it contains other widgets. To add a layout to the
+        group box, click inside it and apply the layout as usual.
+
+        \row
+            \li  \inlineimage designer-containers-stackedwidget.png
+            \li  \b{Stacked Widgets}
+
+        Stacked widgets are collections of widgets in which only the topmost
+        layer is visible. Control over the visible layer is usually managed by
+        another widget, such as combobox, using signals and slots.
+
+        \QD shows arrows in the top-right corner of the stack to allow you to
+        see all the widgets in the stack when designing it. These arrows do not
+        appear in the preview or in the final component. To navigate between
+        pages in the stack, select the stacked widget and use the
+        \gui{Next Page} and \gui{Previous Page} entries from the context menu.
+        The \gui{Insert Page} and \gui{Delete Page} context menu options allow
+        you to add and remove pages.
+
+        \row
+            \li  \inlineimage designer-containers-tabwidget.png
+            \li  \b{Tab Widgets}
+
+        Tab widgets allow the developer to split up the contents of a widget
+        into different labelled sections, only one of which is displayed at any
+        given time. By default, the tab widget contains two tabs, and these can
+        be deleted or renamed as required. You can also add additional tabs.
+
+        To delete a tab:
+        \list
+            \li  Click on its label to make it the current tab.
+            \li  Select the tab widget and open its context menu.
+            \li  Select \gui{Delete Page}.
+        \endlist
+
+        To add a new tab:
+        \list
+            \li  Select the tab widget and open its context menu.
+            \li  Select \gui{Insert Page}.
+            \li  You can add a page before or after the \e current page. \QD
+                will create a new widget for that particular tab and insert it
+                into the tab widget.
+            \li  You can set the title of the current tab by changing the
+                \c currentTabText property in the \gui{Property Editor}.
+        \endlist
+
+        \row
+            \li  \inlineimage designer-containers-toolbox.png
+            \li  \b{ToolBox Widgets}
+
+        Toolbox widgets provide a series of pages or compartments in a toolbox.
+        They are handled in a way similar to stacked widgets.
+
+        To rename a page in a toolbox, make the toolbox your current pange and
+        change its \c currentItemText property from the \gui{Property Editor}.
+
+        To add a new page, select \gui{Insert Page} from the toolbox widget's
+        context menu. You can add the page before or after the current page.
+
+        To delete a page, select \gui{Delete Page} from the toolbox widget's
+        context menu.
+
+        \row
+            \li  \inlineimage designer-containers-dockwidget.png
+            \li  \b{Dock Widgets}
+
+        Dock widgets are floating panels, often containing input widgets and
+        more complex controls, that are either attached to the edges of the
+        main window in "dock areas", or floated as independent tool windows.
+
+        Although dock widgets can be added to any type of form, they are
+        typically used with forms created from the
+        \l{Creating Main Windows in Qt Designer}{main window template}.
+
+    \endtable
+*/
+
+
+/*!
+    \page designer-creating-mainwindows.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Using Containers in Qt Designer
+    \nextpage Editing Resources with Qt Designer
+
+    \title Creating Main Windows in Qt Designer
+
+    \QD can be used to create user interfaces for different purposes, and
+    it provides different kinds of form templates for each user interface. The
+    main window template is used to create application windows with menu bars,
+    toolbars, and dock widgets.
+
+    \omit
+    \image designer-mainwindow-example.png
+    \endomit
+
+    Create a new main window by opening the \gui File menu and selecting the
+    \gui{New Form...} option, or by pressing \key{Ctrl+N}. Then, select the
+    \gui{Main Window} template. This template provides a main application
+    window containing a menu bar and a toolbar by default -- these can be
+    removed if they are not required.
+
+    If you remove the menu bar, a new one can be created by selecting the
+    \gui{Create Menu Bar} option from the context menu, obtained by
+    right-clicking within the main window form.
+
+    An application can have only \b one menu bar, but \b several
+    toolbars.
+
+
+    \section1 Menus
+
+    Menus are added to the menu bar by modifying the \gui{Type Here}
+    placeholders. One of these is always present for editing purposes, and
+    will not be displayed in the preview or in the finished window.
+
+    Once created, the properties of a menu can be accessed using the
+    \l{Qt Designer's Widget Editing Mode#The Property Editor}{Property Editor},
+    and each menu can be accessed for this purpose via the
+    \l{Qt Designer's Widget Editing Mode#The Object Inspector}{The Object Inspector}.
+
+    Existing menus can be removed by opening a context menu over the label in
+    the menu bar, and selecting \gui{Remove Menu 'menu_name'}.
+
+
+    \target CreatingAMenu
+    \div {class="float-left"}
+    \inlineimage designer-creating-menu1.png
+    \inlineimage designer-creating-menu2.png
+    \br
+    \inlineimage designer-creating-menu3.png
+    \inlineimage designer-creating-menu4.png
+    \enddiv
+
+    \section2 Creating a Menu
+
+    Double-click the placeholder item to begin editing. The menu text,
+    displayed using a line edit, can be modified.
+
+    Insert the required text for the new menu. Inserting an
+    ampersand character (&) causes the letter following it to be
+    used as a mnemonic for the menu.
+
+    Press \key Return or \key Enter to accept the new text, or press
+    \key Escape to reject it. You can undo the editing operation later if
+    required.
+
+    \div {class="clear-both"}
+    \enddiv
+
+    Menus can also be rearranged in the menu bar simply by dragging and
+    dropping them in the preferred location. A vertical red line indicates the
+    position where the menu will be inserted.
+
+    Menus can contain any number of entries and separators, and can be nested
+    to the required depth. Adding new entries to menus can be achieved by
+    navigating the menu structure in the usual way.
+
+    \target CreatingAMenuEntry
+    \div {class="float-right"}
+    \inlineimage designer-creating-menu-entry1.png
+    \inlineimage designer-creating-menu-entry2.png
+    \br
+    \inlineimage designer-creating-menu-entry3.png
+    \inlineimage designer-creating-menu-entry4.png
+    \enddiv
+
+    \section2 Creating a Menu Entry
+
+    Double-click the \gui{Type Here} placeholder to begin editing, or
+    double-click \gui{Add Separator} to insert a new separator line after
+    the last entry in the menu.
+
+    The menu entry's text is displayed using a line edit, and can be
+    modified.
+
+    Insert the required text for the new entry, optionally using
+    the ampersand character (&) to mark the letter to use as a
+    mnemonic for the entry.
+
+    Press \key Return or \key Enter to accept the new text, or press
+    \key Escape to reject it. The action created for this menu entry will
+    be accessible via the \l{#TheActionEditor}{Action Editor}, and any
+    associated keyboard shortcut can be set there.
+
+    \div {class="clear-both"}
+    \enddiv
+
+    Just like with menus, entries can be moved around simply by dragging and
+    dropping them in the preferred location. When an entry is dragged over a
+    closed menu, the menu will open to allow it to be inserted there. Since
+    menu entries are based on actions, they can also be dropped onto toolbars,
+    where they will be displayed as toolbar buttons.
+
+    \section1 Toolbars
+
+    \div {class="float-left"}
+    \inlineimage designer-creating-toolbar.png
+    \enddiv
+
+    \section2 Creating and Removing a Toolbar
+
+    Toolbars are added to a main window in a similar way to the menu bar:
+    Select the \gui{Add Tool Bar} option from the form's context menu.
+    Alternatively, if there is an existing toolbar in the main window, you can
+    click the arrow on its right end to create a new toolbar.
+
+    Toolbars are removed from the form via an entry in the toolbar's context
+    menu.
+
+    \div {class="clear-both"}
+    \enddiv
+
+    \section2 Adding and Removing Toolbar Buttons
+
+    Toolbar buttons are created as actions in the
+    \l{#TheActionEditor}{Action Editor} and dragged onto the toolbar.
+    Since actions can be represented by menu entries and toolbar buttons,
+    they can be moved between menus and toolbars.
+
+    \div {class="float-right"}
+    \inlineimage designer-adding-toolbar-action.png
+    \inlineimage designer-removing-toolbar-action.png
+    \enddiv
+
+    To share an action between a menu and a toolbar, drag its icon from the
+    action editor to the toolbar rather than from the menu where its entry is
+    located. See \l{#Adding an Action}{Adding an Action} for more information
+    about this process.
+
+    Toolbar buttons are removed via the toolbar's context menu.
+
+    \div {class="clear-both"}
+    \enddiv
+
+    \section1 Actions
+
+    With the menu bar and the toolbars in place, it's time to populate them
+    with actions. New actions for both menus and toolbars are created in the
+    action editor window, simplifying the creation and management of actions.
+
+    \target TheActionEditor
+    \div {class="float-left"}
+    \inlineimage designer-action-editor.png
+    \enddiv
+
+    \section2 The Action Editor
+
+    Enable the action editor by opening the \gui Tools menu, and switching
+    on the \gui{Action Editor} option.
+
+    The action editor allows you to create \gui New actions and \gui Delete
+    actions. It also provides a search function, \gui Filter, using the
+    action's text.
+
+    \QD's action editor can be viewed in the classic \gui{Icon View} and
+    \gui{Detailed View}. The screenshot below shows the action editor in
+    \gui{Detailed View}. You can also copy and paste actions between menus,
+    toolbars and forms.
+
+    \div {class="clear-both"}
+    \enddiv
+
+    \section2 Creating an Action
+
+    To create an action, use the action editor's \gui New button, which will
+    then pop up an input dialog. Provide the new action with a \gui Text --
+    this is the text that will appear in a menu entry and as the action's
+    tooltip. The text is also automatically added to an "action" prefix,
+    creating the action's \gui{Object Name}.
+
+    In addition, the dialog provides the option of selecting an \gui Icon for
+    the action, as well as removing the current icon.
+
+    Once the action is created, it can be used wherever actions are applicable.
+
+    \div {class="clear-left"}
+    \enddiv
+
+    \target AddingAnAction
+    \div {class="float-right"}
+    \inlineimage designer-adding-menu-action.png
+    \inlineimage designer-adding-toolbar-action.png
+    \enddiv
+
+    \section2 Adding an Action
+
+    To add an action to a menu or a toolbar, simply press the left mouse
+    button over the action in the action editor, and drag it to the
+    preferred location.
+
+    \QD provides highlighted guide lines that tell you where the action
+    will be added. Release the mouse button to add the action when you have
+    found the right spot.
+
+    \div {class="clear-right"}
+    \enddiv
+
+    \section1 Dock Widgets
+
+    Since dock widgets are \l{Using Containers in Qt Designer}
+    {container widgets}, they can be added to a form in the usual way. Once
+    added to a form, dock widgets are not placed in any particular dock area by
+    default; you need to set the \gui{docked} property to true for each widget
+    and choose an appropriate value for its \gui{dockWidgetArea} property.
+
+    \target AddingADockWidget
+
+    \div {class="float-left"}
+    \inlineimage designer-adding-dockwidget.png
+    \enddiv
+
+    \section2 Adding a Dock Widget
+
+    To add a dock widget to a form, drag one from the \gui Containers section
+    of the widget box, and drop it onto the main form area. Do not add the
+    dock widget to an existing layout. Instead, open the \gui{Property Editor}
+    and enable the \gui{docked} property to place it in a dock area.
+
+    Note that it is sometimes easier to configure a dock widget if it is added
+    to a form before a layout is applied to the central widget. For example,
+    it is possible to undock it and resize it, making it more convenient to
+    add child widgets.
+
+    Dock widgets can be optionally floated as independent tool windows.
+    Hence, it is useful to give them window titles by setting their
+    \l{QDockWidget::}{windowTitle} property. This also helps to identify them on the
+    form.
+
+    \div {class="clear-both"}
+    \enddiv
+*/
+
+
+/*!
+    \page designer-resources.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Creating Main Windows in Qt Designer
+    \nextpage Using Stylesheets with Qt Designer
+
+    \title Editing Resources with Qt Designer
+
+    \image designer-resources-editing.png
+
+    \QD fully supports the \l{The Qt Resource System}{Qt Resource System},
+    enabling resources to be specified together with forms as they are
+    designed. To aid designers and developers manage resources for their
+    applications, \QD's resource editor allows resources to be defined on a
+    per-form basis. In other words, each form can have a separate resource
+    file.
+
+    \section1 Defining a Resource File
+
+    To specify a resource file you must enable the resource editor by opening
+    the \gui Tools menu, and switching on the \gui{Resource Browser} option.
+
+    \target ResourceFiles
+    \table
+        \row
+            \li  \inlineimage designer-resource-browser.png
+            \li  \b{Resource Files}
+
+        Within the resource browser, you can open existing resource files or
+        create new ones. Click the \gui{Edit Resources} button
+        \inlineimage designer-edit-resources-button.png
+         to edit your resources. To reload resources, click on the \gui Reload
+        button
+        \inlineimage designer-reload-resources-button.png
+        .
+    \endtable
+
+
+    Once a resource file is loaded, you can create or remove entries in it
+    using the given \gui{Add Files}
+    \inlineimage designer-add-resource-entry-button.png
+    and \gui{Remove Files}
+    \inlineimage designer-remove-resource-entry-button.png
+     buttons, and specify resources (e.g., images) using the \gui{Add Files}
+    button
+    \inlineimage designer-add-files-button.png
+    . Note that these resources must reside within the current resource file's
+    directory or one of its subdirectories.
+
+
+    \target EditResource
+    \table
+        \row
+            \li  \inlineimage designer-edit-resource.png
+            \li  \b{Editing Resource Files}
+
+        Press the
+        \inlineimage designer-add-resource-entry-button.png
+         button to add a new resource entry to the file. Then use the
+        \gui{Add Files} button
+        \inlineimage designer-add-files-button.png
+         to specify the resource.
+
+        You can remove resources by selecting the corresponding entry in the
+        resource editor, and pressing the
+        \inlineimage designer-remove-resource-entry-button.png
+         button.
+    \endtable
+
+
+    \section1 Using the Resources
+
+    Once the resources are defined you can use them actively when composing
+    your form. For example, you might want to create a tool button using an
+    icon specified in the resource file.
+
+    \target UsingResources
+    \table
+        \row
+            \li  \inlineimage designer-resources-using.png
+            \li  \b{Using Resources}
+
+        When changing properties with values that may be defined within a
+        resource file, \QD's property editor allows you to specify a resource
+        in addition to the option of selecting a source file in the ordinary
+        way.
+
+        \row
+            \li  \inlineimage designer-resource-selector.png
+            \li  \b{Selecting a Resource}
+
+        You can open the resource selector by clicking \gui{Choose Resource...}
+        to add resources any time during the design process.
+
+\omit
+... check with Friedemann
+To quickly assign icon pixmaps to actions or pixmap properties, you may
+drag the pixmap from the resource editor to the action editor, or to the
+pixmap property in the property editor.
+\endomit
+
+    \endtable
+*/
+
+
+/*!
+    \page designer-stylesheet.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Editing Resources with Qt Designer
+    \nextpage Using a Designer UI File in Your Application
+
+    \title Using Stylesheets with Qt Designer
+
+    Since Qt 4.2, it is possible to edit stylesheets in \QD with the stylesheet
+    editor.
+
+    \target UsingStylesheets
+    \table
+        \row
+            \li \inlineimage designer-stylesheet-options.png
+            \b{Setting a Stylesheet}
+
+            The stylesheet editor can be accessed by right-clicking a widget
+            and selecting \gui{Change styleSheet...}
+
+        \row
+            \li \inlineimage designer-stylesheet-usage.png
+    \endtable
+
+*/
+
+
+/*!
+    \page designer-using-a-ui-file.html
+    \previouspage Using Stylesheets with Qt Designer
+    \contentspage {Qt Designer Manual}{Contents}
+    \nextpage Using Custom Widgets with Qt Designer
+
+    \title Using a Designer UI File in Your Application
+
+    Qt Designer UI files represent the widget tree of the form in XML format. The
+    forms can be processed:
+
+    \list
+        \li \l{Compile Time Form Processing}{At compile time}, which means that forms
+            are converted to C++ code that can be compiled.
+        \li \l{Run Time Form Processing}{At runtime}, which means that forms are processed
+            by the QUiLoader class that dynamically constructs the widget tree while
+            parsing the XML file.
+    \endlist
+
+    \tableofcontents
+    \section1 Compile Time Form Processing
+
+    You create user interface components with \QD and use Qt's integrated build tools,
+    \l{qmake Manual}{qmake} and \l{User Interface Compiler (uic)}{uic}, to generate code
+    for them when the application is built. The generated code contains the form's user
+    interface object. It is a C++ struct that contains:
+
+    \list
+        \li Pointers to the form's widgets, layouts, layout items,
+           button groups, and actions.
+        \li A member function called \c setupUi() to build the widget tree
+           on the parent widget.
+        \li A member function called \c retranslateUi() that handles the
+           translation of the string properties of the form. For more information,
+           see \l{Reacting to Language Changes}.
+    \endlist
+
+    The generated code can be included in your application and used directly from
+    it. Alternatively, you can use it to extend subclasses of standard widgets.
+
+    A compile time processed form can be used in your application with one of
+    the following approaches:
+
+    \list
+        \li  \l{The Direct Approach}: you construct a widget to use as a placeholder
+            for the component, and set up the user interface inside it.
+        \li  \l{The Single Inheritance Approach}: you subclass the form's base class
+            (QWidget or QDialog, for example), and include a private instance
+            of the form's user interface object.
+        \li  \l{The Multiple Inheritance Approach}: you subclass both the form's base
+            class and the form's user interface object. This allows the widgets
+            defined in the form to be used directly from within the scope of
+            the subclass.
+    \endlist
+
+    To demonstrate, we create a simple Calculator Form application. It is based on the
+    original \l{Calculator Form Example}{Calculator Form} example.
+
+    The application consists of one source file, \c main.cpp and a UI
+    file.
+
+    The \c{calculatorform.ui} file designed with \QD is shown below:
+
+    \image directapproach-calculatorform.png
+
+    We will use \c qmake to build the executable, so we need to write a
+    \c{.pro} file:
+
+    \snippet uitools/calculatorform/calculatorform.pro 0
+
+    The special feature of this file is the \c FORMS declaration that tells
+    \c qmake which files to process with \c uic. In this case, the
+    \c calculatorform.ui file is used to create a \c ui_calculatorform.h file
+    that can be used by any file listed in the \c SOURCES declaration.
+
+    \note You can use Qt Creator to create the Calculator Form project. It
+    automatically generates the main.cpp, UI, and .pro files, which you can
+    then modify.
+
+    \section2 The Direct Approach
+
+    To use the direct approach, we include the \c ui_calculatorform.h file
+    directly in \c main.cpp:
+
+    \snippet uitools/calculatorform/main.cpp 0
+
+    The \c main function creates the calculator widget by constructing a
+    standard QWidget that we use to host the user interface described by the
+    \c calculatorform.ui file.
+
+    \snippet uitools/calculatorform/main.cpp 1
+
+    In this case, the \c{Ui::CalculatorForm} is an interface description object
+    from the \c ui_calculatorform.h file that sets up all the dialog's widgets
+    and the connections between its signals and slots.
+
+    The direct approach provides a quick and easy way to use simple, self-contained
+    components in your applications. However, componens created with \QD often
+    require close integration with the rest of the application code. For
+    instance, the \c CalculatorForm code provided above will compile and run,
+    but the QSpinBox objects will not interact with the QLabel as we need a
+    custom slot to carry out the add operation and display the result in the
+    QLabel. To achieve this, we need to use the single inheritance approach.
+
+    \section2 The Single Inheritance Approach
+
+    To use the single inheritance approach, we subclass a standard Qt widget and
+    include a private instance of the form's user interface object. This can take
+    the form of:
+
+    \list
+        \li A member variable
+        \li A pointer member variable
+    \endlist
+
+    \section3 Using a Member Variable
+
+    In this approach, we subclass a Qt widget and set up the user interface
+    from within the constructor. Components used in this way expose the widgets
+    and layouts used in the form to the Qt widget subclass, and provide a
+    standard system for making signal and slot connections between the user
+    interface and other objects in your application.
+    The generated \c{Ui::CalculatorForm} structure is a member of the class.
+
+    This approach is used in the \l{Calculator Form Example}{Calculator Form}
+    example.
+
+    To ensure that we can use the user interface, we need to include the header
+    file that \c uic generates before referring to \c{Ui::CalculatorForm}:
+
+    \snippet ../examples/designer/calculatorform/calculatorform.h 0
+
+    This means that the \c{.pro} file must be updated to include
+    \c{calculatorform.h}:
+
+    \snippet ../examples/designer/calculatorform/calculatorform.pro 0
+
+    The subclass is defined in the following way:
+
+    \snippet ../examples/designer/calculatorform/calculatorform.h 1
+
+    The important feature of the class is the private \c ui object which
+    provides the code for setting up and managing the user interface.
+
+    The constructor for the subclass constructs and configures all the widgets
+    and layouts for the dialog just by calling the \c ui object's \c setupUi()
+    function. Once this has been done, it is possible to modify the user
+    interface as needed.
+
+    \snippet ../examples/designer/calculatorform/calculatorform.cpp 0
+
+    We can connect signals and slots in user interface widgets in the usual
+    way by adding the on_<object name> - prefix. For more information,
+    see \l{widgets-and-dialogs-with-auto-connect}.
+
+    The advantages of this approach are its simple use of inheritance to
+    provide a QWidget-based interface, and its encapsulation of the user
+    interface widget variables within the \c ui data member. We can use this
+    method to define a number of user interfaces within the same widget, each
+    of which is contained within its own namespace, and overlay (or compose)
+    them. This approach can be used to create individual tabs from existing
+    forms, for example.
+
+    \section3 Using a Pointer Member Variable
+
+    Alternatively, the \c{Ui::CalculatorForm} structure can be made a pointer
+    member of the class. The header then looks as follows:
+
+    \code
+
+    namespace Ui {
+        class CalculatorForm;
+    }
+
+    class CalculatorForm : public QWidget
+    ...
+    virtual ~CalculatorForm();
+    ...
+    private:
+        Ui::CalculatorForm *ui;
+    ...
+
+    \endcode
+
+    The corresponding source file looks as follows:
+
+    \code
+    #include "ui_calculatorform.h"
+
+    CalculatorForm::CalculatorForm(QWidget *parent) :
+        QWidget(parent), ui(new Ui::CalculatorForm)
+    {
+        ui->setupUi(this);
+    }
+
+    CalculatorForm::~CalculatorForm()
+    {
+        delete ui;
+    }
+    \endcode
+
+    The advantage of this approach is that the user interface object can be
+    forward-declared, which means that we do not have to include the generated
+    \c ui_calculatorform.h file in the header. The form can then be changed without
+    recompiling the dependent source files. This is particularly important if the
+    class is subject to binary compatibility restrictions.
+
+    We generally recommend this approach for libraries and large applications.
+    For more information, see \l{Creating Shared Libraries}.
+
+    \section2 The Multiple Inheritance Approach
+
+    Forms created with \QD can be subclassed together with a standard
+    QWidget-based class. This approach makes all the user interface components
+    defined in the form directly accessible within the scope of the subclass,
+    and enables signal and slot connections to be made in the usual way with
+    the \l{QObject::connect()}{connect()} function.
+
+    This approach is used in the \l{Multiple Inheritance Example}
+    {Multiple Inheritance} example.
+
+    We need to include the header file that \c uic generates from the
+    \c calculatorform.ui file, as follows:
+
+    \snippet ../examples/uitools/multipleinheritance/calculatorform.h 0
+
+    The class is defined in a similar way to the one used in the
+    \l{The Single Inheritance Approach}{single inheritance approach}, except that
+    this time we inherit from \e{both} QWidget and \c{Ui::CalculatorForm},
+    as follows:
+
+    \snippet ../examples/uitools/multipleinheritance/calculatorform.h 1
+
+    We inherit \c{Ui::CalculatorForm} privately to ensure that the user
+    interface objects are private in our subclass. We can also inherit it with
+    the \c public or \c protected keywords in the same way that we could have
+    made \c ui public or protected in the previous case.
+
+    The constructor for the subclass performs many of the same tasks as the
+    constructor used in the \l{The Single Inheritance Approach}
+    {single inheritance} example:
+
+    \snippet ../examples/uitools/multipleinheritance/calculatorform.cpp 0
+
+    In this case, the widgets used in the user interface can be accessed in the
+    same say as a widget created in code by hand. We no longer require the
+    \c{ui} prefix to access them.
+
+    \section2 Reacting to Language Changes
+
+    Qt notifies applications if the user interface language changes by sending an
+    event of the type QEvent::LanguageChange. To call the member function
+    \c retranslateUi() of the user interface object, we reimplement
+    \c QWidget::changeEvent() in the form class, as follows:
+
+    \code
+    void CalculatorForm::changeEvent(QEvent *e)
+    {
+        QWidget::changeEvent(e);
+        switch (e->type()) {
+        case QEvent::LanguageChange:
+            ui->retranslateUi(this);
+            break;
+        default:
+            break;
+       }
+    }
+    \endcode
+
+    \section1 Run Time Form Processing
+
+    Alternatively, forms can be processed at run time, producing dynamically-
+    generated user interfaces. This can be done using the QtUiTools module
+    that provides the QUiLoader class to handle forms created with \QD.
+
+
+    \section2 The UiTools Approach
+
+    A resource file containing a UI file is required to process forms at
+    run time. Also, the application needs to be configured to use the QtUiTools
+    module. This is done by including the following declaration in a \c qmake
+    project file, ensuring that the application is compiled and linked
+    appropriately.
+
+    \snippet manual/doc_src_designer-manual.pro 0
+
+    The QUiLoader class provides a form loader object to construct the user
+    interface. This user interface can be retrieved from any QIODevice, e.g.,
+    a QFile object, to obtain a form stored in a project's resource file. The
+    QUiLoader::load() function constructs the form widget using the user
+    interface description contained in the file.
+
+    The QtUiTools module classes can be included using the following directive:
+
+    \snippet manual/doc_src_designer-manual.cpp 1
+
+    The QUiLoader::load() function is invoked as shown in this code from the
+    \l{Text Finder Example}{Text Finder} example:
+
+    \snippet ../examples/uitools/textfinder/textfinder.cpp 4
+
+    In a class that uses QtUiTools to build its user interface at run time, we
+    can locate objects in the form using qFindChild(). For example, in the
+    follownig code, we locate some components based on their object names and
+    widget types:
+
+    \snippet ../examples/uitools/textfinder/textfinder.cpp 1
+
+    Processing forms at run-time gives the developer the freedom to change a
+    program's user interface, just by changing the UI file. This is useful
+    when customizing programs to suit various user needs, such as extra large
+    icons or a different colour scheme for accessibility support.
+
+
+    \section1 Automatic Connections
+
+    The signals and slots connections defined for compile time or run time
+    forms can either be set up manually or automatically, using QMetaObject's
+    ability to make connections between signals and suitably-named slots.
+
+    Generally, in a QDialog, if we want to process the information entered by
+    the user before accepting it, we need to connect the clicked() signal from
+    the \gui OK button to a custom slot in our dialog. We will first show an
+    example of the dialog in which the slot is connected by hand then compare
+    it with a dialog that uses automatic connection.
+
+
+    \section2 A Dialog Without Auto-Connect
+
+    We define the dialog in the same way as before, but now include a slot in
+    addition to the constructor:
+
+    \snippet noautoconnection/imagedialog.h 0
+
+    The \c checkValues() slot will be used to validate the values provided by
+    the user.
+
+    In the dialog's constructor we set up the widgets as before, and connect
+    the \gui Cancel button's \l{QPushButton::clicked()}{clicked()} signal to
+    the dialog's reject() slot. We also disable the
+    \l{QPushButton::autoDefault}{autoDefault} property in both buttons to
+    ensure that the dialog does not interfere with the way that the line edit
+    handles return key events:
+
+    \snippet noautoconnection/imagedialog.cpp 0
+    \dots
+    \snippet noautoconnection/imagedialog.cpp 1
+
+    We connect the \gui OK button's \l{QPushButton::clicked()}{clicked()}
+    signal to the dialog's checkValues() slot which we implement as follows:
+
+    \snippet noautoconnection/imagedialog.cpp 2
+
+    This custom slot does the minimum necessary to ensure that the data
+    entered by the user is valid - it only accepts the input if a name was
+    given for the image.
+
+    \section2 Widgets and Dialogs with Auto-Connect
+
+    Although it is easy to implement a custom slot in the dialog and connect
+    it in the constructor, we could instead use QMetaObject's auto-connection
+    facilities to connect the \gui OK button's clicked() signal to a slot in
+    our subclass. \c{uic} automatically generates code in the dialog's
+    \c setupUi() function to do this, so we only need to declare and
+    implement a slot with a name that follows a standard convention:
+
+    \snippet manual/doc_src_designer-manual.cpp 2
+
+    Using this convention, we can define and implement a slot that responds to
+    mouse clicks on the \gui OK button:
+
+    \snippet autoconnection/imagedialog.h 0
+
+    Another example of automatic signal and slot connection would be the
+    \l{Text Finder Example}{Text Finder} with its \c{on_findButton_clicked()}
+    slot.
+
+    We use QMetaObject's system to enable signal and slot connections:
+
+    \snippet ../examples/uitools/textfinder/textfinder.cpp 2
+
+    This enables us to implement the slot, as shown below:
+
+    \snippet ../examples/uitools/textfinder/textfinder.cpp 6
+    \dots
+    \snippet ../examples/uitools/textfinder/textfinder.cpp 8
+
+    Automatic connection of signals and slots provides both a standard naming
+    convention and an explicit interface for widget designers to work to. By
+    providing source code that implements a given interface, user interface
+    designers can check that their designs actually work without having to
+    write code themselves.
+*/
+
+
+/*!
+    \page designer-customizing-forms.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Using Stylesheets with Qt Designer
+    \nextpage Using Custom Widgets with Qt Designer
+
+    \title Customizing Qt Designer Forms
+
+    \image designer-form-settings.png
+
+    When saving a form in \QD, it is stored as a UI file. Several form
+    settings, for example the grid settings or the margin and spacing for the
+    default layout, are stored along with the form's components. These settings
+    are used when the \l uic generates the form's C++ code. For more
+    information on how to use forms in your application, see the
+    \l{Using a Designer UI File in Your Application} section.
+
+
+    \section1 Modifying the Form Settings
+
+    To modify the form settings, open the \gui Form menu and select \gui{Form
+    Settings...}
+
+    In the forms settings dialog you can specify the \gui Author of the form.
+
+    You can also alter the margin and spacing properties for the form's default
+    layout (\gui {Layout Default}). These default layout properties will be
+    replaced by the corresponding \gui {Layout Function}, if the function is
+    specified, when \c uic generates code for the form. The form settings
+    dialog lets you specify functions for both the margin and the spacing.
+
+    \target LayoutFunction
+    \table
+    \row
+    \li \inlineimage designer-form-layoutfunction.png
+    \li \b{Layout Function}
+
+    The default layout properties will be replaced by the corresponding
+    \gui{Layout Function}, when \c uic generates code for the form. This is
+    useful when different environments requires different layouts for the same
+    form.
+
+    To specify layout functions for the form's margin and spacing, check the
+    \gui{Layout Function} group box to enable the line edits.
+    \endtable
+
+    You can also specify the form's \gui{Include Hints}; i.e., provide a list
+    of the header files which will then be included in the form window's
+    associated UI file. Header files may be local, i.e., relative to the
+    project's directory, \c "mywidget.h", or global, i.e. part of Qt or the
+    compilers standard libraries: \c <QtGui/QWidget>.
+
+    Finally, you can specify the function used to load pixmaps into the form
+    window (the \gui {Pixmap Function}).
+*/
+
+
+/*!
+    \page designer-using-custom-widgets.html
+    \contentspage {Qt Designer Manual}{Contents}
+    \previouspage Customizing Qt Designer Forms
+    \nextpage Creating Custom Widgets for Qt Designer
+
+    \title Using Custom Widgets with Qt Designer
+
+    \QD can display custom widgets through its extensible plugin mechanism,
+    allowing the range of designable widgets to be extended by the user and
+    third parties. Alternatively, it is possible
+    to use existing widgets as placeholders for widget classes that provide
+    similar APIs.
+
+
+    \section1 Handling Custom Widgets
+
+    Although \QD supports all of the standard Qt widgets, some specialized
+    widgets may not be available as standard for a number of reasons:
+
+    \list
+        \li Custom widgets may not be available at the time the user interface
+           is being designed.
+        \li Custom widgets may be platform-specific, and designers may be
+           developing the user interface on a different platform to end users.
+        \li The source code for a custom widget is not available, or the user
+           interface designers are unable to use the widget for non-technical
+           reasons.
+    \endlist
+
+    In the above situations, it is still possible to design forms with the aim
+    of using custom widgets in the application. To achieve this, we can use
+    the widget promotion feature of \QD.
+
+    In all other cases, where the source code to the custom widgets is
+    available, we can adapt the custom widget for use with \QD.
+
+
+    \section2 Promoting Widgets
+
+    \image designer-promoting-widgets.png
+
+    If some forms must be designed, but certain custom widgets are unavailble
+    to the designer, we can substitute similar widgets to represent the missing
+    widgets. For example, we might represent instances of a custom push button
+    class, \c MyPushButton, with instances of QPushButton and promote these to
+    \c MyPushButton so that \l{uic.html}{uic} generates suitable code for this
+    missing class.
+
+    When choosing a widget to use as a placeholder, it is useful to compare the
+    API of the missing widget with those of standard Qt widgets. For
+    specialized widgets that subclass standard classes, the obvious choice of
+    placeholder is the base class of the custom widget; for example, QSlider
+    might be used for specialized QSlider subclasses.
+
+    For specialized widgets that do not share a common API with standard Qt
+    widgets, it is worth considering adapting a custom widget for use in \QD.
+    If this is not possible then QWidget is the obvious choice for a
+    placeholder widget since it is the lowest common denominator for all
+    widgets.
+
+    To add a placeholder, select an object of a suitable base class and choose
+    \gui{Promote to ...} from the form's context menu. After entering the class
+    name and header file in the lower part of the dialog, choose \gui{Add}. The
+    placeholder class will now appear along with the base class in the upper
+    list. Click the \gui{Promote} button to accept this choice.
+
+    Now, when the form's context menu is opened over objects of the base class,
+    the placeholder class will appear in the \gui{Promote to} submenu, allowing
+    for convenient promotion of objects to that class.
+
+    A promoted widget can be reverted to its base class by choosing
+    \gui{Demote to} from the form's context menu.
+
+
+    \section2 User Defined Custom Widgets
+
+    \image worldtimeclockplugin-example.png
+
+    Custom widgets can be adapted for use with \QD, giving designers the
+    opportunity to configure the user interface using the actual widgets that
+    will be used in an application rather than placeholder widgets. The process
+    of creating a custom widget plugin is described in the
+    \l{Creating Custom Widgets for Qt Designer} chapter of this manual.
+
+    To use a plugin created in this way, it is necessary to ensure that the
+    plugin is located on a path that \QD searches for plugins. Generally,
+    plugins stored in \c{$QTDIR/plugins/designer} will be loaded when \QD
+    starts. Further information on building and installing plugins can be found
+    \l{Creating Custom Widgets for Qt Designer#BuildingandInstallingthePlugin}
+    {here}. You can also refer to the \l{How to Create Qt Plugins}
+    {Plugins HOWTO} document for information about creating plugins.
+*/
+
+
+/*!
+    \page designer-creating-custom-widgets.html
+    \previouspage Using Custom Widgets with Qt Designer
+    \contentspage {Qt Designer Manual}{Contents}
+    \nextpage Creating Custom Widget Extensions
+
+    \title Creating Custom Widgets for Qt Designer
+
+    \QD's plugin-based architecture allows user-defined and third party custom
+    widgets to be edited just like you do with standard Qt widgets. All of the
+    custom widget's features are made available to \QD, including widget
+    properties, signals, and slots. Since \QD uses real widgets during the form
+    design process, custom widgets will appear the same as they do when
+    previewed.
+
+    \image worldtimeclockplugin-example.png
+
+    The \l QtDesigner module provides you with the ability to create custom
+    widgets in \QD.
+
+
+    \section1 Getting Started
+
+    To integrate a custom widget with \QD, you require a suitable description
+    for the widget and an appropriate \c{.pro} file.
+
+
+    \section2 Providing an Interface Description
+
+    To inform \QD about the type of widget you want to provide, create a
+    subclass of QDesignerCustomWidgetInterface that describes the various
+    properties your widget exposes. Most of these are supplied by functions
+    that are pure virtual in the base class, because only the author of the
+    plugin can provide this information.
+
+    \table
+        \header
+            \li  Function
+            \li  Description of the return value
+        \row
+            \li  \c name()
+            \li  The name of the class that provides the widget.
+        \row
+            \li  \c group()
+            \li  The group in \QD's widget box that the widget belongs to.
+        \row
+            \li  \c toolTip()
+            \li  A short description to help users identify the widget in \QD.
+        \row
+            \li  \c whatsThis()
+            \li  A longer description of the widget for users of \QD.
+        \row
+            \li  \c includeFile()
+            \li  The header file that must be included in applications that use
+                this widget. This information is stored in UI files and will
+                be used by \c uic to create a suitable \c{#includes} statement
+                in the code it generates for the form containing the custom
+                widget.
+        \row
+            \li  \c icon()
+            \li  An icon that can be used to represent the widget in \QD's
+                widget box.
+        \row
+            \li  \c isContainer()
+            \li  True if the widget will be used to hold child widgets;
+                false otherwise.
+        \row
+            \li  \c createWidget()
+            \li  A QWidget pointer to an instance of the custom widget,
+                constructed with the parent supplied.
+                \note createWidget() is a factory function responsible for
+                creating the widget only. The custom widget's properties will
+                not be available until load() returns.
+        \row
+            \li  \c domXml()
+            \li  A description of the widget's properties, such as its object
+                name, size hint, and other standard QWidget properties.
+        \row
+            \li  \c codeTemplate()
+            \li  This function is reserved for future use by \QD.
+    \endtable
+
+    Two other virtual functions can also be reimplemented:
+
+    \table
+        \row
+            \li  \c initialize()
+            \li  Sets up extensions and other features for custom widgets. Custom
+                container extensions (see QDesignerContainerExtension) and task
+                menu extensions (see QDesignerTaskMenuExtension) should be set
+                up in this function.
+        \row
+            \li  \c isInitialized()
+            \li  Returns true if the widget has been initialized; returns false
+                otherwise. Reimplementations usually check whether the
+                \c initialize() function has been called and return the result
+                of this test.
+    \endtable
+
+
+    \section2 Notes on the \c{domXml()} Function
+
+    The \c{domXml()} function returns a UI file snippet that is used by
+    \QD's widget factory to create a custom widget and its applicable
+    properties.
+
+    Since Qt 4.4, \QD's widget box allows for a complete UI file to
+    describe \b one custom widget. The UI file can be loaded using the
+    \c{<ui>} tag. Specifying the <ui> tag allows for adding the <customwidget>
+    element that contains additional information for custom widgets. The
+    \c{<widget>} tag is sufficient if no additional information is required
+
+    If the custom widget does not provide a reasonable size hint, it is
+    necessary to specify a default geometry in the string returned by the
+    \c domXml() function in your subclass. For example, the
+    \c AnalogClockPlugin provided by the \l{designer/customwidgetplugin}
+    {Custom Widget Plugin} example, defines a default widgetgeometry in the
+    following way:
+
+    \dots
+    \snippet ../examples/designer/customwidgetplugin/customwidgetplugin.cpp 11
+    \dots
+
+    An additional feature of the \c domXml() function is that, if it returns
+    an empty string, the widget will not be installed in \QD's widget box.
+    However, it can still be used by other widgets in the form. This feature
+    is used to hide widgets that should not be explicitly created by the user,
+    but are required by other widgets.
+
+    A complete custom widget specification looks like:
+
+    \code
+<ui language="c++"> displayname="MyWidget">
+    <widget class="widgets::MyWidget" name="mywidget"/>
+    <customwidgets>
+        <customwidget>
+            <class>widgets::MyWidget</class>
+            <addpagemethod>addPage</addpagemethod>
+            <propertyspecifications>
+                <stringpropertyspecification name="fileName" notr="true" type="singleline"
+                <stringpropertyspecification name="text" type="richtext"
+            </propertyspecifications>
+        </customwidget>
+    </customwidgets>
+</ui>
+    \endcode
+
+    Attributes of the \c{<ui>} tag:
+        \table
+        \header
+            \li  Attribute
+            \li  Presence
+            \li  Values
+            \li  Comment
+        \row
+            \li  \c{language}
+            \li  optional
+            \li  "c++", "jambi"
+            \li  This attribute specifies the language the custom widget is intended for.
+                It is mainly there to prevent C++-plugins from appearing in Qt Jambi.
+        \row
+            \li \c{displayname}
+            \li optional
+            \li Class name
+            \li The value of the attribute appears in the Widget box and can be used to
+                strip away namespaces.
+    \endtable
+
+    The \c{<addpagemethod>} tag tells \QD and \l uic which method should be used to
+    add pages to a container widget. This applies to container widgets that require
+    calling a particular method to add a child rather than adding the child by passing
+    the parent. In particular, this is relevant for containers that are not a
+    a subclass of the containers provided in \QD, but are based on the notion
+    of \e{Current Page}. In addition,  you need to provide a container extension
+    for them.
+
+    The \c{<propertyspecifications>} element can contain a list of property meta information.
+    Currently, properties of type string are supported. For these properties, the
+    \c{<stringpropertyspecification>} tag can be used. This tag has the following attributes:
+
+
+    \table
+        \header
+            \li  Attribute
+            \li  Presence
+            \li  Values
+            \li  Comment
+        \row
+            \li  \c{name}
+            \li  required
+            \li  Name of the property
+        \row
+            \li \c{type}
+            \li required
+            \li See below table
+            \li The value of the attribute determines how the property editor will handle them.
+        \row
+            \li \c{notr}
+            \li optional
+            \li "true", "false"
+            \li If the attribute is "true", the value is not meant to be translated.
+    \endtable
+
+    Values of the \c{type} attribute of the string property:
+
+    \table
+        \header
+            \li  Value
+            \li  Type
+        \row
+            \li \c{"richtext"}
+            \li Rich text.
+        \row
+            \li \c{"multiline"}
+            \li Multi-line plain text.
+        \row
+            \li \c{"singleline"}
+            \li Single-line plain text.
+        \row
+            \li \c{"stylesheet"}
+            \li A CSS-style sheet.
+        \row
+            \li \c{"objectname"}
+            \li An object name (restricted set of valid characters).
+        \row
+            \li \c{"url"}
+            \li URL, file name.
+    \endtable
+
+    \section1 Plugin Requirements
+
+    In order for plugins to work correctly on all platforms, you need to ensure
+    that they export the symbols needed by \QD.
+
+    First of all, the plugin class must be exported in order for the plugin to
+    be loaded by \QD. Use the Q_EXPORT_PLUGIN2() macro to do this. Also, the
+    QDESIGNER_WIDGET_EXPORT macro must be used to define each custom widget class
+    within a plugin, that \QD will instantiate.
+
+
+    \section1 Creating Well Behaved Widgets
+
+    Some custom widgets have special user interface features that may make them
+    behave differently to many of the standard widgets found in \QD.
+    Specifically, if a custom widget grabs the keyboard as a result of a call
+    to QWidget::grabKeyboard(), the operation of \QD will be affected.
+
+    To give custom widgets special behavior in \QD, provide an implementation
+    of the initialize() function to configure the widget construction process
+    for \QD specific behavior. This function will be called for the first time
+    before any calls to createWidget() and could perhaps set an internal flag
+    that can be tested later when \QD calls the plugin's createWidget()
+    function.
+
+
+    \target BuildingandInstallingthePlugin
+    \section1 Building and Installing the Plugin
+
+    \section2 A Simple Plugin
+
+    The \l{Custom Widget Plugin Example} demonstrates a simple \QD plugin.
+
+    The \c{.pro} file for a plugin must specify the headers and sources for
+    both the custom widget and the plugin interface. Typically, this file only
+    has to specify that the plugin's project is to be built as a library, but
+    with specific plugin support for \QD. This is done with the following
+    declarations:
+
+    \snippet ../examples/designer/customwidgetplugin/customwidgetplugin.pro 1
+
+    If Qt is configured to build in both debug and release modes, \QD will be
+    built in release mode. When this occurs, it is necessary to ensure that
+    plugins are also built in release mode. To do this, include the following
+    declaration in the plugin's \c{.pro} file:
+
+    \snippet manual/doc_src_designer-manual.pro 3
+
+    If plugins are built in a mode that is incompatible with \QD, they will
+    not be loaded and installed. For more information about plugins, see the
+    \l{plugins-howto.html}{Plugins HOWTO} document.
+
+    It is also necessary to ensure that the plugin is installed together with
+    other \QD widget plugins:
+
+    \snippet manual/doc_src_designer-manual.pro 4
+
+    The \c $[QT_INSTALL_PLUGINS] variable is a placeholder to the location of
+    the installed Qt plugins. You can configure \QD to look for plugins in
+    other locations by setting the \c QT_PLUGIN_PATH environment variable
+    before running the application.
+
+    \note \QD will look for a \c designer subdirectory in each path supplied.
+
+    See QCoreApplication::libraryPaths() for more information about customizing
+    paths for libraries and plugins with Qt applications.
+
+    \section2 Splitting up the Plugin
+
+    In a real world scenario, you do not want to have dependencies of the
+    application making use of the custom widgets to the \QD headers and
+    libraries as introduced by the simple approach explained above.
+
+    There are two ways to resolve this:
+
+    \list
+        \li Create a \c{.pri} file that contains the headers sources and sources
+           of the custom widget:
+
+           \code
+           INCLUDEPATH += $$PWD
+           HEADERS += $$PWD/analogclock.h
+           SOURCES += $$PWD/analogclock.cpp
+           \endcode
+
+           This file would then be included by the \c{.pro} file of the plugin and
+           the application:
+
+           \code
+           include(customwidget.pri)
+           \endcode
+
+           Running \c{qmake -Wall} on the \c{.pro} files causes a warning to be
+           printed if an included \c{.pri} file cannot be found.
+
+        \li Create a standalone shared library containing the custom widgets only
+           as described in
+           \l{sharedlibrary.html}{Creating Shared Libraries}.
+
+           This library would then be used by the application as well as by the
+           \QD plugin. Care must be taken to ensure that the plugin can locate
+          the library at run-time.
+    \endlist
+
+    \section1 Related Examples
+
+    For more information on using custom widgets in \QD, refer to the
+    \l{designer/customwidgetplugin}{Custom Widget Plugin} and
+    \l{designer/worldtimeclockplugin}{World Time Clock Plugin} examples for more
+    information about using custom widgets in \QD. Also, you can use the
+    QDesignerCustomWidgetCollectionInterface class to combine several custom
+    widgets into a single library.
+*/
+
+
+/*!
+    \page designer-creating-custom-widgets-extensions.html
+    \previouspage Creating Custom Widgets for Qt Designer
+    \nextpage Qt Designer's UI File Format
+    \contentspage {Qt Designer Manual}{Contents}
+
+    \title Creating Custom Widget Extensions
+
+    Once you have a custom widget plugin for \QD, you can provide it with the
+    expected behavior and functionality within \QD's workspace, using custom
+    widget extensions.
+
+
+    \section1 Extension Types
+
+    There are several available types of extensions in \QD. You can use all of
+    these extensions in the same pattern, only replacing the respective
+    extension base class.
+
+    QDesignerContainerExtension is necessary when implementing a custom
+    multi-page container.
+
+    \table
+        \row
+            \li  \inlineimage designer-manual-taskmenuextension.png
+            \li  \b{QDesignerTaskMenuExtension}
+
+        QDesignerTaskMenuExtension is useful for custom widgets. It provides an
+        extension that allows you to add custom menu entries to \QD's task
+        menu.
+
+        The \l{designer/taskmenuextension}{Task Menu Extension} example
+        illustrates how to use this class.
+
+        \row
+            \li  \inlineimage designer-manual-containerextension.png
+            \li  \b{QDesignerContainerExtension}
+
+        QDesignerContainerExtension is necessary when implementing a custom
+        multi-page container. It provides an extension that allows you to add
+        and delete pages for a multi-page container plugin in \QD.
+
+        The \l{designer/containerextension}{Container Extension} example
+        further explains how to use this class.
+
+        \note It is not possible to add custom per-page properties for some
+        widgets (e.g., QTabWidget) due to the way they are implemented.
+    \endtable
+
+    \table
+        \row
+            \li  \inlineimage designer-manual-membersheetextension.png
+            \li  \b{QDesignerMemberSheetExtension}
+
+        The QDesignerMemberSheetExtension class allows you to manipulate a
+        widget's member functions displayed when connecting signals and slots.
+
+        \row
+            \li  \inlineimage designer-manual-propertysheetextension.png
+            \li  \b{QDesignerPropertySheetExtension,
+                QDesignerDynamicPropertySheetExtension}
+
+        These extension classes allow you to control how a widget's properties
+        are displayed in \QD's property editor.
+    \endtable
+
+\omit
+     \row
+        \li
+        \li \b {QDesignerScriptExtension}
+
+         The QDesignerScriptExtension class allows you to define script
+         ../snippets that are executed when a form is loaded. The extension
+         is primarily intended to be used to set up the internal states
+         of custom widgets.
+    \endtable
+\endomit
+
+
+    \QD uses the QDesignerPropertySheetExtension and the
+    QDesignerMemberSheetExtension classes to feed its property and signal and
+    slot editors. Whenever a widget is selected in its workspace, \QD will
+    query for the widget's property sheet extension; likewise, whenever a
+    connection between two widgets is requested, \QD will query for the
+    widgets' member sheet extensions.
+
+    \warning All widgets have default property and member sheets. If you
+    implement custom property sheet or member sheet extensions, your custom
+    extensions will override the default sheets.
+
+
+    \section1 Creating an Extension
+
+    To create an extension you must inherit both QObject and the appropriate
+    base class, and reimplement its functions. Since we are implementing an
+    interface, we must ensure that it is made known to the meta object system
+    using the Q_INTERFACES() macro in the extension class's definition. For
+    example:
+
+    \snippet manual/doc_src_designer-manual.cpp 7
+
+    This enables \QD to use the qobject_cast() function to query for supported
+    interfaces using a QObject pointer only.
+
+
+    \section1 Exposing an Extension to Qt Designer
+
+    In \QD the extensions are not created until they are required. For this
+    reason, when implementing extensions, you must subclass QExtensionFactory
+    to create a class that is able to make instances of your extensions. Also,
+    you must register your factory with \QD's extension manager; the extension
+    manager handles the construction of extensions.
+
+    When an extension is requested, \QD's extension manager will run through
+    its registered factories calling QExtensionFactory::createExtension() for
+    each of them until it finds one that is able to create the requested
+    extension for the selected widget. This factory will then make an instance
+    of the extension.
+
+    \image qtdesignerextensions.png
+
+
+    \section2 Creating an Extension Factory
+
+    The QExtensionFactory class provides a standard extension factory, but it
+    can also be used as an interface for custom extension factories.
+
+    The purpose is to reimplement the QExtensionFactory::createExtension()
+    function, making it able to create your extension, such as a
+     \l{designer/containerextension}{MultiPageWidget} container extension.
+
+    You can either create a new QExtensionFactory and reimplement the
+    QExtensionFactory::createExtension() function:
+
+    \snippet manual/doc_src_designer-manual.cpp 8
+
+    or you can use an existing factory, expanding the
+    QExtensionFactory::createExtension() function to enable the factory to
+    create your custom extension as well:
+
+    \snippet manual/doc_src_designer-manual.cpp 9
+
+
+    \section2 Accessing Qt Designer's Extension Manager
+
+    When implementing a custom widget plugin, you must subclass the
+    QDesignerCustomWidgetInterface to expose your plugin to \QD. This is
+    covered in more detail in the
+    \l{Creating Custom Widgets for Qt Designer} section. The registration of
+    an extension factory is typically made in the
+    QDesignerCustomWidgetInterface::initialize() function:
+
+    \snippet manual/doc_src_designer-manual.cpp 10
+
+    The \c formEditor parameter in the
+    QDesignerCustomWidgetInterface::initialize() function is a pointer to \QD's
+    current QDesignerFormEditorInterface object. You must use the
+    QDesignerFormEditorInterface::extensionManager() function to retrieve an
+    interface to \QD's extension manager. Then you use the
+    QExtensionManager::registerExtensions() function to register your custom
+    extension factory.
+
+
+    \section1 Related Examples
+
+    For more information on creating custom widget extensions in \QD, refer to
+    the \l{designer/taskmenuextension}{Task Menu Extension} and
+    \l{designer/containerextension}{Container Extension} examples.
+*/
+
+
+/*!
+    \page designer-ui-file-format.html
+    \previouspage Creating Custom Widget Extensions
+    \contentspage {Qt Designer Manual}{Contents}
+
+    \title Qt Designer's UI File Format
+
+    The \c UI file format used by \QD is described by the
+    \l{http://www.w3.org/XML/Schema}{XML schema} presented below,
+    which we include for your convenience. Be aware that the format
+    may change in future Qt releases.
+
+    \quotefile ../../../../data/ui4.xsd
+*/
+
+
+/*!
+    \page designer-recursive-shadow-casting.html
+    \title Implementation of the Recursive Shadow Casting Algorithm in Qt Designer
+    \contentspage {Qt Designer Manual}{Contents}
+
+    \ingroup licensing
+    \brief License information for contributions to specific parts of the Qt
+    Designer source code.
+
+    \legalese
+    Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). \BR
+    Copyright (C) 2005 Bjoern Bergstroem
+
+    Permission is hereby granted, free of charge, to any person obtaining
+    a copy of this software and associated documentation files (the
+    "Software"), to deal in the Software without restriction, including
+    without limitation the rights to use, modify, market, reproduce,
+    grant sublicenses and distribute subject to the following conditions:
+    The above copyright notice and this permission notice shall be
+    included in all copies or substantial portions of the Software. These
+    files are provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+    WARRANTY OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
+    PURPOSE.
+    \endlegalese
+*/