summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@nokia.com>2010-10-04 11:40:45 (GMT)
committerMartin Smith <martin.smith@nokia.com>2010-10-04 11:40:45 (GMT)
commit6f811c74237c4c4b3618fa879253435f1bb5b7a6 (patch)
treeb10925754df0608beb5de941b5c1ea4da1f3bd55 /doc/src/declarative
parentf7be8a1ccd69c34c1f2406be625e2c60901d8e9e (diff)
parent9d0317c91dbbe660af2ed2aa8ea47446049467d2 (diff)
downloadQt-6f811c74237c4c4b3618fa879253435f1bb5b7a6.zip
Qt-6f811c74237c4c4b3618fa879253435f1bb5b7a6.tar.gz
Qt-6f811c74237c4c4b3618fa879253435f1bb5b7a6.tar.bz2
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/qt-doc-team into 4.7
Diffstat (limited to 'doc/src/declarative')
-rw-r--r--doc/src/declarative/declarativeui.qdoc2
-rw-r--r--doc/src/declarative/examples.qdoc2
-rw-r--r--doc/src/declarative/modules.qdoc8
-rw-r--r--doc/src/declarative/pics/qml-gradient.png (renamed from doc/src/declarative/pics/gradient.png)bin364 -> 364 bytes
-rw-r--r--doc/src/declarative/pics/rect-border-width.pngbin356 -> 374 bytes
-rw-r--r--doc/src/declarative/pics/rect-color.pngbin0 -> 570 bytes
-rw-r--r--doc/src/declarative/positioners.qdoc193
-rw-r--r--doc/src/declarative/qdeclarativedebugging.qdoc20
-rw-r--r--doc/src/declarative/qdeclarativedocument.qdoc2
-rw-r--r--doc/src/declarative/qdeclarativei18n.qdoc2
-rw-r--r--doc/src/declarative/qdeclarativeintro.qdoc2
-rw-r--r--doc/src/declarative/qmlruntime.qdoc2
-rw-r--r--doc/src/declarative/qmlviewer.qdoc8
-rw-r--r--doc/src/declarative/qtbinding.qdoc2
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc12
-rw-r--r--doc/src/declarative/scope.qdoc10
-rw-r--r--doc/src/declarative/whatsnew.qdoc55
17 files changed, 278 insertions, 42 deletions
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index 2f43682..a8df4b1 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -30,7 +30,6 @@
\page qtquick.html
\ingroup qt-gui-concepts
-
\brief Qt Quick provides a declarative framework for building highly
dynamic, custom user interfaces.
@@ -74,6 +73,7 @@ Module.
\section1 Getting Started
\list
+\o \l{What's new in Qt Quick}
\o \l{Introduction to the QML language}
\o \l{QML for Qt Programmers}
\o \l{Getting Started Programming with QML}
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index 9929cfe..3f075bb 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -28,7 +28,7 @@
/*!
\page qdeclarativeexamples.html
\title QML Examples and Demos
- \brief Building UI's with QML
+ \brief Building UIs with QML
\ingroup all-examples
diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc
index 467b7d0..044c1e7 100644
--- a/doc/src/declarative/modules.qdoc
+++ b/doc/src/declarative/modules.qdoc
@@ -52,7 +52,7 @@ An \c import statement includes the module name, and possibly a version number.
This can be seen in the snippet commonly found at the top of QML files:
\qml
- import Qt 4.7
+ import QtQuick 1.0
\endqml
This imports version 4.7 of the "Qt" module into the global namespace. (The QML
@@ -126,7 +126,7 @@ application code. When importing an installed module, an un-quoted URI is
used, with a mandatory version number:
\code
- import Qt 4.7
+ import QtQuick 1.0
import com.nokia.qml.mymodule 1.0
\endcode
@@ -181,7 +181,7 @@ By default, when a module is imported, its contents are imported into the global
To import a module into a specific namespace, use the \e as keyword:
\qml
- import Qt 4.7 as QtLibrary
+ import QtQuick 1.0 as QtLibrary
import "../MyComponents" as MyComponents
import com.nokia.qml.mymodule 1.0 as MyModule
\endqml
@@ -199,7 +199,7 @@ Types from these modules can then only be used when qualified by the namespace:
Multiple modules can be imported into the same namespace in the same way that multiple modules can be imported into the global namespace:
\qml
- import Qt 4.7 as Nokia
+ import QtQuick 1.0 as Nokia
import Ovi 1.0 as Nokia
\endqml
diff --git a/doc/src/declarative/pics/gradient.png b/doc/src/declarative/pics/qml-gradient.png
index 5eefdd2..5eefdd2 100644
--- a/doc/src/declarative/pics/gradient.png
+++ b/doc/src/declarative/pics/qml-gradient.png
Binary files differ
diff --git a/doc/src/declarative/pics/rect-border-width.png b/doc/src/declarative/pics/rect-border-width.png
index c3c6c2c..e232cf3 100644
--- a/doc/src/declarative/pics/rect-border-width.png
+++ b/doc/src/declarative/pics/rect-border-width.png
Binary files differ
diff --git a/doc/src/declarative/pics/rect-color.png b/doc/src/declarative/pics/rect-color.png
new file mode 100644
index 0000000..b258ba9
--- /dev/null
+++ b/doc/src/declarative/pics/rect-color.png
Binary files differ
diff --git a/doc/src/declarative/positioners.qdoc b/doc/src/declarative/positioners.qdoc
new file mode 100644
index 0000000..8c9b8b7
--- /dev/null
+++ b/doc/src/declarative/positioners.qdoc
@@ -0,0 +1,193 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in a
+** written agreement between you and Nokia.
+**
+** GNU Free Documentation License
+** 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\page qml-positioners.html
+\title Using QML Positioner and Repeater Items
+
+\section1 Introduction
+
+Positioner items are container items that manage the positions and sizes of
+items in a declarative user interface. Positioners behave in a similar way to
+the \l{Widgets and Layouts}{layout managers} used with standard Qt widgets,
+except that they are also containers in their own right.
+
+Positioners and repeaters make it easier to work with many items when they need
+to be arranged in a regular layout.
+
+\section1 Positioners
+
+A set of standard positioners are provided in the basic set of Qt Quick
+graphical elements:
+
+\list
+\o \l{#Column}{Column} arranges its children in a column
+\o \l{#Row}{Row} arranges its children in a row
+\o \l{#Grid}{Grid} arranges its children in a grid
+\o \l{#Flow}{Flow} arranges its children like words on a page
+\endlist
+
+\section2 Column
+
+\beginfloatright
+\image qml-column.png
+\endfloat
+
+\l Column items are used to vertically arrange items. The following example
+uses a Column item to arrange three \l Rectangle items in an area defined
+by an outer \l Item. The \l{Column::spacing}{spacing} property is set to
+include a small amount of space between the rectangles.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/column/column.qml document
+
+Note that, since Column inherits directly from Item, any background color
+must be added to a parent Rectangle, if desired.
+
+\section2 Row
+
+\beginfloatright
+\image qml-row.png
+\endfloat
+
+\l Row items are used to horizontally arrange items. The following example
+uses a Row item to arrange three rounded \l Rectangle items in an area defined
+by an outer colored Rectangle. The \l{Row::spacing}{spacing} property is set to
+include a small amount of space between the rectangles.
+
+We ensure that the parent Rectangle is large enough so that there is some space
+left around the edges of the horizontally centered Row item.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/row.qml document
+
+\section2 Grid
+
+\beginfloatright
+\image qml-grid-spacing.png
+\endfloat
+
+\l Grid items are used to place items in a grid or table arrangement.
+The following example uses a Grid item to place four \l Rectangle items
+in a 2-by-2 grid. As with the other positioners, the spacing between items
+can be specified using the \l{Grid::spacing}{spacing} property.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/grid/grid-spacing.qml document
+
+There is no difference between horizontal and vertical spacing inserted
+between items, so any additional space must be added within the items
+themselves.
+
+Any empty cells in the grid must be created by defining placeholder items
+at the appropriate places in the Grid definition.
+
+\section2 Flow
+
+\beginfloatright
+\image qml-flow-text1.png
+\image qml-flow-text2.png
+\endfloat
+
+\l Flow items are used to place items like words on a page, with rows or
+columns of non-overlapping items.
+
+Flow items arrange items in a similar way to \l Grid items, with items
+arranged in lines along one axis (the minor axis), and lines of items
+placed next to each other along another axis (the major axis). The
+direction of flow, as well as the spacing between items, are controlled
+by the \l{Flow::}{flow} and \l{Flow::}{spacing} properties.
+
+The following example shows a Flow item containing a number of \l Text
+child items. These are arranged in a similar way to those shown in the
+screenshots.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/flow.qml document
+
+The main differences between the Grid and Flow positioners are that items
+inside a Flow will wrap when they run out of space on the minor axis, and
+items on one line may not be aligned with items on another line if the
+items do not have uniform sizes. As with Grid items, there is no independent
+control of spacing between items and between lines of items.
+
+\section1 Repeaters
+
+\beginfloatright
+\image qml-repeater-grid-index.png
+\endfloat
+
+Repeaters create items from a template for use with positioners, using data
+from a model. Combining repeaters and positioners is an easy way to lay out
+lots of items. A \l Repeater item is placed inside a positioner, and generates
+items that the enclosing positioner arranges.
+
+Each Repeater creates a number of items by combining each element of data
+from a model, specified using the \l{Repeater::model}{model} property, with
+the template item, defined as a child item within the Repeater.
+The total number of items is determined by the amount of data in the model.
+
+The following example shows a repeater used with a \l{#Grid}{Grid} item to
+arrange a set of Rectangle items. The Repeater item creates a series of 24
+rectangles for the Grid item to position in a 5 by 5 arrangement.
+
+\clearfloat
+\snippet doc/src/snippets/declarative/repeaters/repeater-grid-index.qml document
+
+The number of items created by a Repeater is held by its \l{Repeater::}{count}
+property. It is not possible to set this property to determine the number of
+items to be created. Instead, as in the above example, we use an integer as
+the model. This is explained in the \l{QML Data Models#An Integer}{QML Data Models}
+document.
+
+It is also possible to use a delegate as the template for the items created
+by a Repeater. This is specified using the \l{Repeater::}{delegate} property.
+
+\section1 Using Transitions
+
+Transitions can be used to animate items that are added to, moved within,
+or removed from a positioner.
+
+Transitions for adding items apply to items that are created as part of a
+positioner, as well as those that are reparented to become children of a
+positioner.
+Transitions for removing items apply to items within a positioner that are
+deleted, as well as those that are removed from a positioner and given new
+parents in a document.
+
+Additionally, changing the opacity of items to zero will cause them to
+disappear using the remove transition, and making the opacity non-zero will
+cause them to appear using the add transition.
+
+\section1 Other Ways to Position Items
+
+There are several other ways to position items in a user interface. In addition
+to the basic technique of specifying their coordinates directly, they can be
+positioned relative to other items with \l{anchor-layout}{anchors}, or used
+with \l{QML Data Models} such as
+\l{QML Data Models#VisualItemModel}{VisualItemModel}.
+*/
diff --git a/doc/src/declarative/qdeclarativedebugging.qdoc b/doc/src/declarative/qdeclarativedebugging.qdoc
index ea21852..26d3b38 100644
--- a/doc/src/declarative/qdeclarativedebugging.qdoc
+++ b/doc/src/declarative/qdeclarativedebugging.qdoc
@@ -59,7 +59,7 @@ from QML's import loading mechanisms.
For example, for a simple QML file like this:
\qml
-import Qt 4.7
+import QtQuick 1.0
Rectangle { width: 100; height: 100 }
\endqml
@@ -79,20 +79,8 @@ QDeclarativeImportDatabase::resolveType "Rectangle" = "QDeclarativeRectangle"
\section1 Debugging with Qt Creator
\l{http://qt.nokia.com/products/developer-tools}{Qt Creator} provides built-in
-support for QML debugging. Open a QML project in Creator and enter Debug mode,
-or click the "Start Debugging" option from the menu, and Creator will
-show QML debugging information and options for your application, including
-object inspection, property monitoring and application frame-rate analysis.
-
-Creator can be used to debug both local and remote QML applications. To
-enable remote debugging, start the \l {QML Viewer}
-on the remote device with a debugging port defined, like this:
-
-\code
- QML_DEBUG_SERVER_PORT=3768 qmlviewer myqmlfile.qml
-\endcode
-
-In Creator, open the project settings pane and set the server and port
-details for the remote device, then start debugging.
+support for QML debugging. QML projects and standalone C++ applications that
+utilize QML can be debugged on desktops as well as on remote devices.
+For more information, see the Qt Creator Manual.
*/
diff --git a/doc/src/declarative/qdeclarativedocument.qdoc b/doc/src/declarative/qdeclarativedocument.qdoc
index 8ca6c11..b6af90b 100644
--- a/doc/src/declarative/qdeclarativedocument.qdoc
+++ b/doc/src/declarative/qdeclarativedocument.qdoc
@@ -82,7 +82,7 @@ Each instance is created with a different value for its \c text property:
\o \snippet doc/src/snippets/declarative/qml-documents/qmldocuments.qml document
\o
\qml
-import Qt 4.7
+import QtQuick 1.0
Column {
spacing: 10
diff --git a/doc/src/declarative/qdeclarativei18n.qdoc b/doc/src/declarative/qdeclarativei18n.qdoc
index 70a3587..620b902 100644
--- a/doc/src/declarative/qdeclarativei18n.qdoc
+++ b/doc/src/declarative/qdeclarativei18n.qdoc
@@ -58,7 +58,7 @@ that needs to be translated is enclosed in a call to \c qsTr().
hello.qml:
\qml
-import Qt 4.7
+import QtQuick 1.0
Rectangle {
width: 200; height: 200
diff --git a/doc/src/declarative/qdeclarativeintro.qdoc b/doc/src/declarative/qdeclarativeintro.qdoc
index fa42f59..9d89edf 100644
--- a/doc/src/declarative/qdeclarativeintro.qdoc
+++ b/doc/src/declarative/qdeclarativeintro.qdoc
@@ -46,7 +46,7 @@ technologies like HTML and CSS, but it's not required.
QML looks like this:
\code
-import Qt 4.7
+import QtQuick 1.0
Rectangle {
width: 200
diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc
index 9a84237..51f9e4d 100644
--- a/doc/src/declarative/qmlruntime.qdoc
+++ b/doc/src/declarative/qmlruntime.qdoc
@@ -60,7 +60,7 @@ QDeclarativeView is a QWidget-based class that is able to load QML files.
For example, if there is a QML file, \c application.qml, like this:
\qml
- import Qt 4.7
+ import QtQuick 1.0
Rectangle { width: 100; height: 100; color: "red" }
\endqml
diff --git a/doc/src/declarative/qmlviewer.qdoc b/doc/src/declarative/qmlviewer.qdoc
index 41c4c80..81ad218 100644
--- a/doc/src/declarative/qmlviewer.qdoc
+++ b/doc/src/declarative/qmlviewer.qdoc
@@ -118,7 +118,7 @@ For example, this QML document refers to a \c lottoNumbers property which does
not actually exist within the document:
\qml
-import Qt 4.7
+import QtQuick 1.0
ListView {
width: 200; height: 300
@@ -131,7 +131,7 @@ If within the document's directory, there is a "dummydata" directory which
contains a \c lottoNumbers.qml file like this:
\qml
-import Qt 4.7
+import QtQuick 1.0
ListModel {
ListElement { number: 23 }
@@ -146,7 +146,7 @@ Child properties are included when loaded from dummy data. The following documen
refers to a \c clock.time property:
\qml
-import Qt 4.7
+import QtQuick 1.0
Text { text: clock.time }
\endqml
@@ -154,7 +154,7 @@ The text value could be filled by a \c dummydata/clock.qml file with a \c time
property in the root context:
\qml
-import Qt 4.7
+import QtQuick 1.0
QtObject { property int time: 54321 }
\endqml
diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index 6eade18..35a05d2 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -188,7 +188,7 @@ is to have a "running" property in \c main.qml. This leads to much nicer QML co
\o
\code
// main.qml
-import Qt 4.7
+import QtQuick 1.0
Rectangle {
MouseArea {
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index f163a66..5232841 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -56,17 +56,18 @@
\macro QML_DECLARE_TYPE()
\relates QDeclarativeEngine
- Equivalent to Q_DECLARE_METATYPE(TYPE) and Q_DECLARE_METATYPE(QDeclarativeListProperty<TYPE>)
+ Equivalent to \c Q_DECLARE_METATYPE(TYPE) and \c Q_DECLARE_METATYPE(QDeclarativeListProperty<TYPE>)
*/
/*!
\macro QML_DECLARE_TYPEINFO(Type,Flags)
\relates QDeclarativeEngine
- Declares additional properties of a type.
+ Declares additional properties of the given \a Type as described by the
+ specified \a Flags.
Current the only supported type info is \c QML_HAS_ATTACHED_PROPERTIES which
- declares that the \c Type supports \l {Attached Properties}.
+ declares that the \a Type supports \l {Attached Properties}.
*/
@@ -92,7 +93,7 @@
specified module name and version number:
\qml
- imoprt com.mycompany.qmlcomponents 1.0
+ import com.mycompany.qmlcomponents 1.0
Slider { ... }
\endqml
@@ -146,7 +147,7 @@
This will cause any QML which uses this module and attempts to use the type to produce an error message:
\code
-fun.qml: Get back to work, slacker!
+ fun.qml: Get back to work, slacker!
Game {
^
\endcode
@@ -175,6 +176,5 @@ fun.qml: Get back to work, slacker!
This template function registers the C++ type in the QML system
under the name \a typeName.
-
Returns the QML type id.
*/
diff --git a/doc/src/declarative/scope.qdoc b/doc/src/declarative/scope.qdoc
index 363ba8d..5501242 100644
--- a/doc/src/declarative/scope.qdoc
+++ b/doc/src/declarative/scope.qdoc
@@ -112,7 +112,7 @@ following example shows a simple QML file that accesses some enumeration
values and calls an imported JavaScript function.
\code
-import Qt 4.7
+import QtQuick 1.0
import "code.js" as Code
ListView {
@@ -253,7 +253,7 @@ is used, the \c title property may resolve differently.
\code
// TitlePage.qml
-import Qt 4.7
+import QtQuick 1.0
Item {
property string title
@@ -269,7 +269,7 @@ Item {
}
// TitleText.qml
-import Qt 4.7
+import QtQuick 1.0
Text {
property int size
text: "<b>" + title + "</b>"
@@ -285,7 +285,7 @@ to use property interfaces, like this:
\code
// TitlePage.qml
-import Qt 4.7
+import QtQuick 1.0
Item {
id: root
property string title
@@ -304,7 +304,7 @@ Item {
}
// TitleText.qml
-import Qt 4.7
+import QtQuick 1.0
Text {
property string title
property int size
diff --git a/doc/src/declarative/whatsnew.qdoc b/doc/src/declarative/whatsnew.qdoc
new file mode 100644
index 0000000..f8d1d0e
--- /dev/null
+++ b/doc/src/declarative/whatsnew.qdoc
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in a
+** written agreement between you and Nokia.
+**
+** GNU Free Documentation License
+** 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.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+\title What's new in Qt Quick
+\page qtquick-whatsnew.html
+
+\section1 4.7.1
+
+\section2 QtQuick namespace
+
+In prior Qt releases, all the Qt Quick elements were available in the \e Qt namespace.
+Starting with Qt 4.7.1, the elements are also available in the \e QtQuick namespace,
+which improves naming consistency, and allows the development of Qt Quick to occur at
+a faster rate than Qt's usual minor release schedule.
+
+The change for developers is very simple - where you previously wrote \e {import Qt 4.7},
+just replace it with \e {import QtQuick 1.0}, like this:
+
+\code
+import QtQuick 1.0
+
+Text {
+ text: "Welcome to QtQuick 1.0!"
+}
+\endcode
+
+\e {import Qt 4.7} continues to work so existing applications wont break even if they
+aren't updated, but it is recommended that all import statements be modified to the new
+form.
+*/