From 3eee91908e8bd0c5f3c3ebe59ef1e179c8d1eb68 Mon Sep 17 00:00:00 2001
From: Caroline Chao <caroline.chao@digia.com>
Date: Sat, 1 Jun 2013 17:16:10 +0200
Subject: [PATCH] Doc: Add doc structure for Styles

And:
- Add an index page for the Styles
- Add missing documentation for some properties (Component)
- Fix unexpected curly brackets in a couple of code snippets

Change-Id: Ib7265d1cd011a81012eb4b7f69738b84fba5b531
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
---
 src/controls/doc/qtquickcontrols.qdocconf     | 17 +-----
 .../doc/src/qtquickcontrols-index.qdoc        |  7 ++-
 src/styles/Base/ButtonStyle.qml               |  1 +
 src/styles/Base/CheckBoxStyle.qml             |  4 +-
 src/styles/Base/ComboBoxStyle.qml             |  1 +
 src/styles/Base/GroupBoxStyle.qml             |  1 +
 src/styles/Base/MenuBarStyle.qml              |  1 +
 src/styles/Base/MenuStyle.qml                 |  7 +++
 src/styles/Base/ProgressBarStyle.qml          | 10 ++++
 src/styles/Base/RadioButtonStyle.qml          |  6 +-
 src/styles/Base/ScrollViewStyle.qml           |  1 +
 src/styles/Base/SliderStyle.qml               |  1 +
 src/styles/Base/SpinBoxStyle.qml              |  1 +
 src/styles/Base/StatusBarStyle.qml            |  1 +
 src/styles/Base/TabViewStyle.qml              |  1 +
 src/styles/Base/TableViewStyle.qml            | 13 ++++-
 src/styles/Base/TextFieldStyle.qml            |  1 +
 src/styles/Base/ToolBarStyle.qml              |  1 +
 src/styles/Base/ToolButtonStyle.qml           |  1 +
 src/styles/doc/qtquickcontrolsstyles.qdocconf | 43 ++++++++++++++
 .../doc/src/qtquickcontrolsstyles-index.qdoc} | 57 +++++++++++++++++++
 src/styles/styles.pro                         |  2 +
 22 files changed, 155 insertions(+), 23 deletions(-)
 create mode 100644 src/styles/doc/qtquickcontrolsstyles.qdocconf
 rename src/{controls/doc/src/styles.qdoc => styles/doc/src/qtquickcontrolsstyles-index.qdoc} (61%)

diff --git a/src/controls/doc/qtquickcontrols.qdocconf b/src/controls/doc/qtquickcontrols.qdocconf
index 7cf1ee54e..ab321a747 100644
--- a/src/controls/doc/qtquickcontrols.qdocconf
+++ b/src/controls/doc/qtquickcontrols.qdocconf
@@ -18,18 +18,13 @@ qhp.QtQuickControls.filterAttributes    = qtcontrols $QT_VERSION qtrefdoc
 qhp.QtQuickControls.customFilters.Qt.name = QtQuickControls $QT_VERSION
 qhp.QtQuickControls.customFilters.Qt.filterAttributes = qtquickcontrols $QT_VERSION
 
-qhp.QtQuickControls.subprojects = qtquickcontrolsqmltypes styleqmltypes
+qhp.QtQuickControls.subprojects = qtquickcontrolsqmltypes
 qhp.QtQuickControls.subprojects.qtquickcontrolsqmltypes.title = QML Types
 qhp.QtQuickControls.subprojects.qtquickcontrolsqmltypes.indexTitle = Qt Quick Controls QML Types
 qhp.QtQuickControls.subprojects.qtquickcontrolsqmltypes.selectors = class fake:qmlclass
 qhp.QtQuickControls.subprojects.qtquickcontrolsqmltypes.sortPages = true
 
-qhp.QtQuickControls.subprojects.styleqmltypes.title = Styles QML Types
-qhp.QtQuickControls.subprojects.styleqmltypes.indexTitle = Qt Quick Controls Styles QML Types
-qhp.QtQuickControls.subprojects.styleqmltypes.selectors = class fake:qmlclass
-qhp.QtQuickControls.subprojects.styleqmltypes.sortPages = true
-
-depends = qtqml qtquick qtwidgets qtdoc qtquicklayouts
+depends = qtqml qtquick qtwidgets qtdoc qtquicklayouts qtquickcontrolsstyles
 
 exampledirs += ../../../examples/quick/controls
 
@@ -37,21 +32,15 @@ exampledirs += ../../../examples/quick/controls
 examplesinstallpath = quick/controls
 
 headerdirs += ../
-headerdirs += ../ ../../styles/Base
 
 sourcedirs += ../
-sourcedirs += ../ ../../styles/Base
 
-sources += ../../private/qstyleitem.cpp \
-           ../../private/AbstractCheckable.qml \
+sources += ../../private/AbstractCheckable.qml \
            ../../private/BasicButton.qml \
            ../../private/FocusFrame.qml \
            ../../private/ModalPopupBehavior.qml \
            ../../private/ScrollBar.qml \
            ../../private/TabBar.qml \
            ../../private/Control.qml \
-           ../../private/Style.qml \
-           ../../private/qquickabstractstyle.h \
-           ../../private/qquickabstractstyle.cpp
 
 imagedirs += images
diff --git a/src/controls/doc/src/qtquickcontrols-index.qdoc b/src/controls/doc/src/qtquickcontrols-index.qdoc
index 658d117ba..0272755f8 100644
--- a/src/controls/doc/src/qtquickcontrols-index.qdoc
+++ b/src/controls/doc/src/qtquickcontrols-index.qdoc
@@ -84,7 +84,12 @@
 
     \section2 Styles
     \list
-     \li \l {Qt Quick Controls Styles QML Types}
+     \li \l {Qt Quick Controls Styles}
+    \endlist
+
+    \section2 Styles
+    \list
+     \li \l {Qt Quick Layouts}
     \endlist
 
 */
diff --git a/src/styles/Base/ButtonStyle.qml b/src/styles/Base/ButtonStyle.qml
index b1fabb866..3144a1a68 100644
--- a/src/styles/Base/ButtonStyle.qml
+++ b/src/styles/Base/ButtonStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype ButtonStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for Button
 
     You can create a custom button by replacing the "background" delegate
diff --git a/src/styles/Base/CheckBoxStyle.qml b/src/styles/Base/CheckBoxStyle.qml
index 65b5450b2..aa24a94a4 100644
--- a/src/styles/Base/CheckBoxStyle.qml
+++ b/src/styles/Base/CheckBoxStyle.qml
@@ -45,13 +45,14 @@ import QtQuick.Controls.Private 1.0
     \qmltype CheckBoxStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for CheckBox
 
     Example:
     \qml
     CheckBox {
         text: "Check Box"
-        style: CheckBoxStyle{
+        style: CheckBoxStyle {
             indicator: Rectangle {
                     implicitWidth: 16
                     implicitHeight: 16
@@ -66,7 +67,6 @@ import QtQuick.Controls.Private 1.0
                         anchors.margins: 4
                         anchors.fill: parent
                     }
-                }
             }
         }
     }
diff --git a/src/styles/Base/ComboBoxStyle.qml b/src/styles/Base/ComboBoxStyle.qml
index 982ce00ef..241f35503 100644
--- a/src/styles/Base/ComboBoxStyle.qml
+++ b/src/styles/Base/ComboBoxStyle.qml
@@ -46,6 +46,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype ComboBoxStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for ComboBox
 */
 
diff --git a/src/styles/Base/GroupBoxStyle.qml b/src/styles/Base/GroupBoxStyle.qml
index db0c3bf6d..1c3acadab 100644
--- a/src/styles/Base/GroupBoxStyle.qml
+++ b/src/styles/Base/GroupBoxStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype GroupBoxStyle
     \internal
     \inqmlmodule QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \since QtQuick.Controls.Styles 1.0
 */
 Style {
diff --git a/src/styles/Base/MenuBarStyle.qml b/src/styles/Base/MenuBarStyle.qml
index e5b91be61..4effd6eec 100644
--- a/src/styles/Base/MenuBarStyle.qml
+++ b/src/styles/Base/MenuBarStyle.qml
@@ -45,6 +45,7 @@ import "../../Private/style.js" as StyleHelpers
 /*!
     \qmltype MenuBarStyle
     \internal
+    \ingroup applicationwindowstyling
     \inqmlmodule QtQuick.Controls.Styles 1.0
 */
 
diff --git a/src/styles/Base/MenuStyle.qml b/src/styles/Base/MenuStyle.qml
index 69dffc732..eab18f7df 100644
--- a/src/styles/Base/MenuStyle.qml
+++ b/src/styles/Base/MenuStyle.qml
@@ -43,6 +43,13 @@ import QtQuick.Controls 1.0
 import QtQuick.Controls.Private 1.0
 import "../../Private/style.js" as StyleHelpers
 
+/*!
+    \qmltype MenuStyle
+    \internal
+    \ingroup menusstyling
+    \inqmlmodule QtQuick.Controls.Styles 1.0
+*/
+
 Style {
     id: styleRoot
 
diff --git a/src/styles/Base/ProgressBarStyle.qml b/src/styles/Base/ProgressBarStyle.qml
index eab286f09..ada97c101 100644
--- a/src/styles/Base/ProgressBarStyle.qml
+++ b/src/styles/Base/ProgressBarStyle.qml
@@ -47,6 +47,7 @@ import QtQuick.Controls.Private 1.0
 
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for ProgressBar
 
     Example:
@@ -94,6 +95,9 @@ Style {
     */
     padding { top: 0 ; left: 0 ; right: 0 ; bottom: 0 }
 
+    /*! \qmlproperty Component ProgressBarStyle::progress
+        The progress component for this style.
+    */
     property Component progress: Rectangle {
         property color progressColor: "#49d"
         anchors.fill: parent
@@ -129,6 +133,9 @@ Style {
         }
     }
 
+    /*! \qmlproperty Component ProgressBarStyle::background
+        The background component for this style.
+    */
     property Component background: Item {
         implicitWidth: 200
         implicitHeight: 24
@@ -145,6 +152,9 @@ Style {
         }
     }
 
+    /*! \qmlproperty Component ProgressBarStyle::panel
+        The panel component for this style.
+    */
     property Component panel: Item{
         property bool horizontal: control.orientation == Qt.Horizontal
         implicitWidth: horizontal ? backgroundLoader.implicitWidth : backgroundLoader.implicitHeight
diff --git a/src/styles/Base/RadioButtonStyle.qml b/src/styles/Base/RadioButtonStyle.qml
index d87f57c7c..b42ac1bda 100644
--- a/src/styles/Base/RadioButtonStyle.qml
+++ b/src/styles/Base/RadioButtonStyle.qml
@@ -45,13 +45,14 @@ import QtQuick.Controls.Private 1.0
     \qmltype RadioButtonStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for RadioButton
 
     Example:
     \qml
     RadioButton {
         text: "Radio Button"
-        style: RadioButtonStyle{
+        style: RadioButtonStyle {
             indicator: Rectangle {
                     implicitWidth: 16
                     implicitHeight: 16
@@ -65,10 +66,9 @@ import QtQuick.Controls.Private 1.0
                         radius: 9
                         anchors.margins: 4
                     }
-                }
             }
         }
-    }
+     }
     \endqml
 */
 
diff --git a/src/styles/Base/ScrollViewStyle.qml b/src/styles/Base/ScrollViewStyle.qml
index 3d1f8d26d..ed7dd171f 100644
--- a/src/styles/Base/ScrollViewStyle.qml
+++ b/src/styles/Base/ScrollViewStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype ScrollViewStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup viewsstyling
     \brief Provides custom styling for ScrollView
 */
 Style {
diff --git a/src/styles/Base/SliderStyle.qml b/src/styles/Base/SliderStyle.qml
index a17de0a1f..e21936a2a 100644
--- a/src/styles/Base/SliderStyle.qml
+++ b/src/styles/Base/SliderStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype SliderStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for Slider
 
     The slider style allows you to create a custom appearance for
diff --git a/src/styles/Base/SpinBoxStyle.qml b/src/styles/Base/SpinBoxStyle.qml
index c239483e2..931db588b 100644
--- a/src/styles/Base/SpinBoxStyle.qml
+++ b/src/styles/Base/SpinBoxStyle.qml
@@ -46,6 +46,7 @@ import QtQuick.Controls.Private 1.0
     \internal
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for SpinBox
 */
 
diff --git a/src/styles/Base/StatusBarStyle.qml b/src/styles/Base/StatusBarStyle.qml
index e8abe19ba..f8ffffd90 100644
--- a/src/styles/Base/StatusBarStyle.qml
+++ b/src/styles/Base/StatusBarStyle.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls.Private 1.0
 /*!
     \qmltype StatusBarStyle
     \internal
+    \ingroup applicationwindowstyling
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
 */
diff --git a/src/styles/Base/TabViewStyle.qml b/src/styles/Base/TabViewStyle.qml
index 04e34d4c9..f5cd1047b 100644
--- a/src/styles/Base/TabViewStyle.qml
+++ b/src/styles/Base/TabViewStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype TabViewStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup viewsstyling
     \brief Provides custom styling for TabView
 
 \qml
diff --git a/src/styles/Base/TableViewStyle.qml b/src/styles/Base/TableViewStyle.qml
index a7b3ba491..1a0605dc1 100644
--- a/src/styles/Base/TableViewStyle.qml
+++ b/src/styles/Base/TableViewStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype TableViewStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup viewsstyling
     \brief Provides custom styling for TableView
 
     Note that this class derives from \l ScrollViewStyle
@@ -73,7 +74,9 @@ ScrollViewStyle {
 
     padding.top: control.headerVisible ? 0 : 1
 
-    /* Delegate for header. This delegate is described in \l TableView::headerDelegate */
+    /*! \qmlproperty Component TableViewStyle::headerDelegate
+    Delegate for header. This delegate is described in \l {TableView::headerDelegate}
+    */
     property Component headerDelegate: BorderImage {
         source: "images/header.png"
         border.left: 4
@@ -97,7 +100,9 @@ ScrollViewStyle {
         }
     }
 
-    /* Delegate for header. This delegate is described in \l TableView::rowDelegate */
+    /*! \qmlproperty Component TableViewStyle::rowDelegate
+    Delegate for header. This delegate is described in \l {TableView::rowDelegate}
+    */
     property Component rowDelegate: Rectangle {
         height: 20
         property color selectedColor: styleData.hasActiveFocus ? "#38d" : "#999"
@@ -126,7 +131,9 @@ ScrollViewStyle {
         }
     }
 
-    /* Delegate for header. This delegate is described in \l TableView::itemDelegate */
+    /*! \qmlproperty Component TableViewStyle::rowDelegate
+    Delegate for item. This delegate is described in \l {TableView::itemDelegate}
+    */
     property Component itemDelegate: Item {
         height: Math.max(16, label.implicitHeight)
         property int implicitWidth: sizehint.paintedWidth + 20
diff --git a/src/styles/Base/TextFieldStyle.qml b/src/styles/Base/TextFieldStyle.qml
index 7b0ba6b2a..16d0fe94c 100644
--- a/src/styles/Base/TextFieldStyle.qml
+++ b/src/styles/Base/TextFieldStyle.qml
@@ -45,6 +45,7 @@ import QtQuick.Controls.Private 1.0
     \qmltype TextFieldStyle
     \inqmlmodule QtQuick.Controls.Styles 1.0
     \since QtQuick.Controls.Styles 1.0
+    \ingroup controlsstyling
     \brief Provides custom styling for TextField.
 
     Example:
diff --git a/src/styles/Base/ToolBarStyle.qml b/src/styles/Base/ToolBarStyle.qml
index 835f82196..a5c03e7a1 100644
--- a/src/styles/Base/ToolBarStyle.qml
+++ b/src/styles/Base/ToolBarStyle.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls.Private 1.0
 /*!
     \qmltype ToolBarStyle
     \internal
+    \ingroup applicationwindowstyling
     \inqmlmodule QtQuick.Controls.Styles 1.0
 */
 Style {
diff --git a/src/styles/Base/ToolButtonStyle.qml b/src/styles/Base/ToolButtonStyle.qml
index e8d05d6ca..0ead07504 100644
--- a/src/styles/Base/ToolButtonStyle.qml
+++ b/src/styles/Base/ToolButtonStyle.qml
@@ -44,6 +44,7 @@ import QtQuick.Controls.Private 1.0
 /*!
     \qmltype ToolButtonStyle
     \internal
+    \ingroup controlsstyling
     \inqmlmodule QtQuick.Controls.Styles 1.0
 */
 Style {
diff --git a/src/styles/doc/qtquickcontrolsstyles.qdocconf b/src/styles/doc/qtquickcontrolsstyles.qdocconf
new file mode 100644
index 000000000..e559dcc48
--- /dev/null
+++ b/src/styles/doc/qtquickcontrolsstyles.qdocconf
@@ -0,0 +1,43 @@
+include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+
+project                 = QtQuickControlsStyles
+description             = Qt Quick Controls Styles Reference Documentation
+url                     = http://qt-project.org/doc/qt-$QT_VER/qtquickcontrolsstyles/
+version                 = $QT_VERSION
+
+qhp.projects            = QtQuickControlsStyles
+
+qhp.QtQuickControlsStyles.file          = qtquickcontrolsstyles.qhp
+qhp.QtQuickControlsStyles.namespace     = org.qt-project.qtquickcontrolsstyles.$QT_VERSION_TAG
+qhp.QtQuickControlsStyles.virtualFolder = qtquickcontrolsstyles
+qhp.QtQuickControlsStyles.indexTitle    = Qt Quick Controls Styles
+qhp.QtQuickControlsStyles.indexRoot     =
+#qhp.QtQuickControlsStyles.extraFiles = style/qtquickcontrolsstyles.css
+
+qhp.QtQuickControlsStyles.filterAttributes    = qtcontrolsstyles $QT_VERSION qtrefdoc
+qhp.QtQuickControlsStyles.customFilters.Qt.name = QtQuickControlsStyles $QT_VERSION
+qhp.QtQuickControlsStyles.customFilters.Qt.filterAttributes = qtquickcontrolsstyles $QT_VERSION
+
+qhp.QtQuickControlsStyles.subprojects = qtquickcontrolsstylesqmltypes
+qhp.QtQuickControlsStyles.subprojects.qtquickcontrolsstylesqmltypes.title = QML Types
+qhp.QtQuickControlsStyles.subprojects.qtquickcontrolsstylesqmltypes.indexTitle = Qt Quick Controls Styles QML Types
+qhp.QtQuickControlsStyles.subprojects.qtquickcontrolsstylesqmltypes.selectors = class fake:qmlclass
+qhp.QtQuickControlsStyles.subprojects.qtquickcontrolsstylesqmltypes.sortPages = true
+
+depends = qtqml qtquick qtwidgets qtdoc qtquicklayouts qtquickcontrols
+
+exampledirs += ../../../examples/quick/controlsstyles
+
+# Specify the install path under QT_INSTALL_EXAMPLES
+examplesinstallpath = quick/controlsstyles
+
+headerdirs += ../Base
+
+sourcedirs += ../Base
+
+sources += ../../private/qquickstyleitem.cpp \
+           ../../private/Style.qml \
+           ../../private/qquickabstractstyle.h \
+           ../../private/qquickabstractstyle.cpp
+
+imagedirs += images
diff --git a/src/controls/doc/src/styles.qdoc b/src/styles/doc/src/qtquickcontrolsstyles-index.qdoc
similarity index 61%
rename from src/controls/doc/src/styles.qdoc
rename to src/styles/doc/src/qtquickcontrolsstyles-index.qdoc
index 408094142..b2205bfcd 100644
--- a/src/controls/doc/src/styles.qdoc
+++ b/src/styles/doc/src/qtquickcontrolsstyles-index.qdoc
@@ -25,6 +25,63 @@
 **
 ****************************************************************************/
 
+
+
+/*!
+    \group applicationwindowstyling
+    \title Styling Application Window
+    \internal
+*/
+
+/*!
+    \group viewsstyling
+    \title Styling Views
+*/
+
+/*!
+    \group controlsstyling
+    \title Styling Controls
+*/
+
+/*!
+    \group menusstyling
+    \title Styling Menus
+    \internal
+*/
+
+
+/*!
+    \page qtquickcontrolsstyles-index.html
+    \title Qt Quick Controls Styles
+    \brief The Qt Quick Controls Styles submodule provides custom styles for Qt Quick Controls.
+
+    The Qt Quick Controls Styles submodule allows custom styling for \l {Qt Quick Controls}.
+
+    The submodule is new in Qt 5.1 and requires \l{Qt Quick} 2.1.
+
+    \section1 Getting started
+
+    The QML types can be imported into your application using the following import statement in your \c {.qml} file.
+
+    \code
+    import QtQuick.Controls.Styles 1.0
+    \endcode
+
+    \section1 Styling Views
+    \annotatedlist viewsstyling
+
+    \section1 Styling Controls
+    \annotatedlist controlsstyling
+
+    \section1 Related information
+
+    \section2 QML Types
+     \list
+      \li \l{Qt Quick Controls Styles QML Types}
+     \endlist
+
+*/
+
 /*!
     \qmlmodule QtQuick.Controls.Styles 1
     \title Qt Quick Controls Styles QML Types
diff --git a/src/styles/styles.pro b/src/styles/styles.pro
index 4c0ee5d38..158c1dd13 100644
--- a/src/styles/styles.pro
+++ b/src/styles/styles.pro
@@ -1,5 +1,7 @@
 TARGETPATH = QtQuick/Controls/Styles
 
+QMAKE_DOCS = $$PWD/doc/qtquickcontrolsstyles.qdocconf
+
 # Base
 QML_FILES = \
     Base/ButtonStyle.qml \
-- 
GitLab