summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMorten Engvoldsen <morten.engvoldsen@nokia.com>2010-09-03 07:43:20 (GMT)
committerMorten Engvoldsen <morten.engvoldsen@nokia.com>2010-09-03 07:43:20 (GMT)
commit044e627d0946df6dc55f616a0596bd43ff043f17 (patch)
tree170b1dc31bb8a899e4e1df1918836f3d48828098 /doc
parentfcf01687c7209f2b4222bd12d8fe4a871380e65b (diff)
parentfc4d386f2cc8984b98957d83d8cdb57c1105890f (diff)
downloadQt-044e627d0946df6dc55f616a0596bd43ff043f17.zip
Qt-044e627d0946df6dc55f616a0596bd43ff043f17.tar.gz
Qt-044e627d0946df6dc55f616a0596bd43ff043f17.tar.bz2
Merge branch '4.7' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7
Diffstat (limited to 'doc')
-rw-r--r--doc/src/declarative/qml-intro.qdoc7
-rw-r--r--doc/src/declarative/qmlruntime.qdoc12
-rw-r--r--doc/src/getting-started/gettingstartedqml.qdoc36
-rw-r--r--doc/src/images/symbian-draw-pixmap-sequence.pngbin0 -> 5724 bytes
-rw-r--r--doc/src/images/symbian-qt-draw-pixmap-sequence.pngbin0 -> 9141 bytes
-rw-r--r--doc/src/images/symbian-qt-rendering-stack-non-screenplay.pngbin0 -> 52802 bytes
-rw-r--r--doc/src/images/symbian-rendering-stack-non-screenplay.pngbin0 -> 44655 bytes
-rw-r--r--doc/src/platforms/platform-notes.qdoc50
-rw-r--r--doc/src/platforms/supported-platforms.qdoc42
-rw-r--r--doc/src/snippets/declarative/qml-intro/basic-syntax.qml48
-rw-r--r--doc/src/snippets/declarative/qml-intro/sequential-animation3.qml2
11 files changed, 99 insertions, 98 deletions
diff --git a/doc/src/declarative/qml-intro.qdoc b/doc/src/declarative/qml-intro.qdoc
index 63d6825..9130be0 100644
--- a/doc/src/declarative/qml-intro.qdoc
+++ b/doc/src/declarative/qml-intro.qdoc
@@ -58,7 +58,12 @@ would be a property.
The basic syntax of an \l{QML Elements}{element} is
-\snippet doc/src/snippets/declarative/qml-intro/basic-syntax.qml basic syntax
+\code
+SomeElement {
+ id: myObject
+ ... some other things here ...
+}
+\endcode
Here we are defining a new object. We specify its 'type' first as SomeElement.
Then within matching braces { ... } we specify the various parts of our
diff --git a/doc/src/declarative/qmlruntime.qdoc b/doc/src/declarative/qmlruntime.qdoc
index d44e774..9a84237 100644
--- a/doc/src/declarative/qmlruntime.qdoc
+++ b/doc/src/declarative/qmlruntime.qdoc
@@ -104,20 +104,22 @@ can be constructed directly instead. In this case, \c application.qml is
loaded as a QDeclarativeComponent instance rather than placed into a view:
\code
- #include <QCoreApplication>
+ #include <QApplication>
#include <QDeclarativeEngine>
+ #include <QDeclarativeContext>
+ #include <QDeclarativeComponent>
int main(int argc, char *argv[])
{
- QCoreApplication app(argc, argv);
+ QApplication app(argc, argv);
QDeclarativeEngine engine;
- QDeclarativeContext *windowContext = new QDeclarativeContext(engine.rootContext());
+ QDeclarativeContext *objectContext = new QDeclarativeContext(engine.rootContext());
QDeclarativeComponent component(&engine, "application.qml");
- QObject *window = component.create(windowContext);
+ QObject *object = component.create(objectContext);
- // ... delete window and windowContext when necessary
+ // ... delete object and objectContext when necessary
return app.exec();
}
diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc
index a19d281..405e791 100644
--- a/doc/src/getting-started/gettingstartedqml.qdoc
+++ b/doc/src/getting-started/gettingstartedqml.qdoc
@@ -404,13 +404,9 @@
\image qml-texteditor2_menubar.png
- */
+ \section1 Building a Text Editor
- /*!
- \page qml-textEditor3.html
- \title Building a Text Editor
-
- \section1 Declaring a TextArea
+ \section2 Declaring a TextArea
Our text editor is not a text editor if it didn't contain an editable text area.
QML's \l {TextEdit}{TextEdit} element allows the declaration of a multi-line
@@ -451,7 +447,7 @@
}
\endcode
- \section1 Combining Components for the Text Editor
+ \section2 Combining Components for the Text Editor
We are now ready to create the layout of our text editor using QML. The text
editor has two components, the menu bar we created and the text area. QML allows
@@ -494,12 +490,8 @@
\image qml-texteditor3_texteditor.png
- */
-
- /*!
- \page qml-textEditor4
- \title Decorating the Text Editor
- \section1 Implementing a Drawer Interface
+ \section1 Decorating the Text Editor
+ \section2 Implementing a Drawer Interface
Our text editor looks simple and we need to decorate it. Using QML, we can declare
transitions and animate our text editor. Our menu bar is occupying one-third of the
@@ -652,7 +644,7 @@
The first color starts at \c 0.0 and the last color is at \c 1.0.
- \section2 Where to Go from Here
+ \section3 Where to Go from Here
We are finished building the user interface of a very simple text editor.
Going forward, the user interface is complete, and we can implement the
@@ -661,7 +653,7 @@
\image qml-texteditor4_texteditor.png
- \section1 Extending QML using Qt C++
+ \section2 Extending QML using Qt C++
Now that we have our text editor layout, we may now implement the text editor
functionalities in C++. Using QML with C++ enables us to create our application
@@ -672,7 +664,7 @@
we shall implement the load and save functions in C++ and export it as a plugin.
This way, we only need to load the QML file directly instead of running an executable.
- \section2 Exposing C++ Classes to QML
+ \section3 Exposing C++ Classes to QML
We will be implementing file loading and saving using Qt and C++. C++ classes
and functions can be used in QML by registering them. The class also needs to be
@@ -687,7 +679,7 @@
\o A \c qmldir file telling the qmlviewer tool where to find the plugin
\endlist
- \section2 Building a Qt Plugin
+ \section3 Building a Qt Plugin
To build a plugin, we need to set the following in a Qt project file. First,
the necessary sources, headers, and Qt modules need to be added into our
@@ -721,7 +713,7 @@
parent's \c plugins directory.
- \section2 Registering a Class into QML
+ \section3 Registering a Class into QML
\code
In dialogPlugin.h:
@@ -771,7 +763,7 @@
file to generate the necessary meta-object code.
- \section2 Creating QML Properties in a C++ class
+ \section3 Creating QML Properties in a C++ class
We can create QML elements and properties using C++ and
\l {The Meta-Object System}{Qt's Meta-Object System}. We can implement
@@ -925,7 +917,7 @@
\c make to build and transfer the plugin to the \c plugins directory.
- \section2 Importing a Plugin in QML
+ \section3 Importing a Plugin in QML
The qmlviewer tool imports files that are in the same directory as the
application. We can also create a \c qmldir file containing the locations of
@@ -948,7 +940,7 @@
\c TARGET field in the project file. The compiled plugin is in the \c plugins directory.
- \section2 Integrating a File Dialog into the File Menu
+ \section3 Integrating a File Dialog into the File Menu
Our \c FileMenu needs to display the \c FileDialog element, containing a list of
the text files in a directory thus allowing the user to select the file by
@@ -1038,7 +1030,7 @@
\image qml-texteditor5_filemenu.png
- \section1 Text Editor Completion
+ \section2 Text Editor Completion
\image qml-texteditor5_newfile.png
diff --git a/doc/src/images/symbian-draw-pixmap-sequence.png b/doc/src/images/symbian-draw-pixmap-sequence.png
new file mode 100644
index 0000000..05e3739
--- /dev/null
+++ b/doc/src/images/symbian-draw-pixmap-sequence.png
Binary files differ
diff --git a/doc/src/images/symbian-qt-draw-pixmap-sequence.png b/doc/src/images/symbian-qt-draw-pixmap-sequence.png
new file mode 100644
index 0000000..f7546f4
--- /dev/null
+++ b/doc/src/images/symbian-qt-draw-pixmap-sequence.png
Binary files differ
diff --git a/doc/src/images/symbian-qt-rendering-stack-non-screenplay.png b/doc/src/images/symbian-qt-rendering-stack-non-screenplay.png
new file mode 100644
index 0000000..9e1997d
--- /dev/null
+++ b/doc/src/images/symbian-qt-rendering-stack-non-screenplay.png
Binary files differ
diff --git a/doc/src/images/symbian-rendering-stack-non-screenplay.png b/doc/src/images/symbian-rendering-stack-non-screenplay.png
new file mode 100644
index 0000000..80cb078
--- /dev/null
+++ b/doc/src/images/symbian-rendering-stack-non-screenplay.png
Binary files differ
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 94b9856..6f533ae 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -526,6 +526,56 @@
platform in use. If available, it is loaded in preference over the MMF
plugin. If the Helix plugin fails to load, the MMF plugin, if present on
the device, will be loaded instead.
+
+ \section1 UI Performance in devices prior to Symbian^3
+
+ Qt uses the QPainter class to perform low-level painting on widgets and
+ other paint devices. QPainter provides functions to draw complex shapes,
+ aligned text and pixmaps. It can also do vector path clipping, coordinate
+ transformations and Porter-Duff composition. If the underlying graphics
+ architecture does not support all of these operations then Qt uses the
+ raster graphics system for rendering.
+
+ Most of the Symbian devices prior to Symbian^3 use a non-ScreenPlay
+ graphics architecture which does not have native support for all functions
+ provided by QPainter. In non-ScreenPlay devices Qt uses the raster
+ graphics system by default which has a performance penalty when compared
+ to native Symbian rendering.
+
+ In order to be able to perform all functions provided by QPainter, the
+ raster graphics system needs to have pixel level framebuffer access. To
+ make this possible in non-ScreenPlay devices Qt has to create an
+ additional offscreen buffer that is the target for all Qt rendering
+ operations. Qt renders the widget tree to the offscreen buffer and the
+ offscreen buffer is blitted to the framebuffer via Symbian Window Server.
+
+ The following table shows the rendering stacks of native Symbian and Qt in
+ non-ScreenPlay devices.
+
+ \table
+ \header \o Symbian
+ \o Qt
+ \row \o \image symbian-rendering-stack-non-screenplay.png
+ \o \image symbian-qt-rendering-stack-non-screenplay.png
+ \endtable
+
+ The following diagrams show a simplified sequence of drawing a pixmap in
+ a non-ScreenPlay device.
+
+ \table
+ \header \o Symbian
+ \row \o \image symbian-draw-pixmap-sequence.png
+ \endtable
+
+ \table
+ \header \o Qt
+ \row \o \image symbian-qt-draw-pixmap-sequence.png
+ \endtable
+
+ When compared to a native Symbian application, Qt does an additional blit
+ to the offscreen buffer before drawing to the framebuffer. That is the
+ performance penalty which needs to be paid to get all functionality
+ provided by QPainter in non-ScreenPlay architecture.
*/
/*!
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index bb80ae5..6e9fb3d 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -64,18 +64,22 @@
\row \o Linux (32 and 64-bit)
\o gcc 4.2
\row \o Microsoft Windows XP
- \o gcc 4.4 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit)
+ \o gcc 4.4 (MinGW) (32-bit), MSVC 2005 (32 and 64-bit)
\row \o Microsoft Windows Vista
\o MSVC 2005, 2008
\row \o Microsoft Windows Vista 64bit
\o MSVC 2008
- \row \o Apple Mac OS X 10.5 "Leopard" x86_64 (Carbon, Cocoa 32 and 64bit)
+ \row \o Microsoft Windows 7
+ \o MSVC 2008
+ \row \o Apple Mac OS X 10.6 "Snow Leopard"
+ \o As provided by Apple
+ \row \o Apple Mac OS X 10.5 "Leopard" x86_64 (Cocoa 32 and 64bit)
\o As provided by Apple
\row \o Embedded Linux QWS (ARM)
\o gcc (\l{http://www.codesourcery.com/}{Codesourcery version)}
\row \o Windows CE 5.0 (ARMv4i, x86, MIPS)
\o MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)
- \row \o Symbian (Symbian/S60 3.1, 3.2 and 5.0)
+ \row \o Symbian (Symbian/S60 5.0)
\o RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build 482 or later], GCCE (for applications)
\endtable
@@ -90,19 +94,15 @@
\table
\header \o Platform
\o Compilers
- \row \o Windows XP, Vista
- \o gcc 3.4.2 (MinGW)
\row \o Windows 7
- \o MSVC 2008
- \row \o Apple Mac OS X 10.6 "Snow Leopard"
+ \o MSVC 2010
+ \row \o Apple Mac OS X 10.4 "Tiger" (Carbon)
\o As provided by Apple
- \row \o Apple Mac OS X 10.4 "Tiger"
+ \row \o Apple Mac OS X 10.5 "Leopard" (Carbon)
\o As provided by Apple
- \row \o HPUXi 11.11
- \o aCC 3.57, gcc 3.4
\row \o HPUXi 11.23
\o aCC 6.10
- \row \o Solaris 10 (UltraSparc, x86)
+ \row \o Solaris 10 UltraSparc
\o Sun Studio 12
\row \o AIX 6
\o Power5 xlC 7
@@ -114,8 +114,14 @@
\o gcc (\l{http://www.codesourcery.com/}{Codesourcery version)}
\row \o Embedded Linux X11 (ARM)
\o gcc (\l{http://www.scratchbox.org/}{Scratchbox)}
+ \row \o Windows CE 5.0 (ARMv4i, x86, MIPS)
+ \o MSVC 2005 WinCE 5.0 Standard (x86, pocket, smart, mipsii)
\row \o Windows CE 6.0 (ARMv4i, x86, MIPS)
\o MSVC 2008 WinCE 6.0 Professional
+ \row \o Maemo 5(Linux, ARM, X11)
+ \o gcc (\l{http://www.scratchbox.org/}{Scratchbox)}
+ \row \o Symbian (Symbian/S60 3.1, 3.2)
+ \o RVCT 2.2 [build 686 or later], WINSCW 3.2.5 [build 482 or later], GCCE (for applications)
\endtable
\section1 Tier 3 Platforms (Not supported by Nokia)
@@ -142,20 +148,12 @@
implied warranties of merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
- \section1 Planned Changes for Qt 4.7
+ \section1 Planned Changes for Qt 4.8
The following changes to the list of supported platforms are at time of publishing
- planned for Qt 4.7:
+ planned for Qt 4.8:
\list
- \o Upgrade Windows 7 to Tier 1
- \o Upgrade Mac OS X 10.6 to Tier 1
- \o Add support for Visual Studio 2010 (Tier 2)
- \o Move support for Carbon implementation of Qt on Mac OS X from Tier 1 to Tier 2
- \o Drop support for MinGW 3.4
- \o Drop support for Visual Studio 2003
- \o Drop support for HP-UX on PA-RISC
- \o Drop support for Windows Mobile 5
- \o Drop support for OpenGL ES Common Lite 1.0
+ \o Plans not yet released
\endlist
*/
diff --git a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml b/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
deleted file mode 100644
index 686a927..0000000
--- a/doc/src/snippets/declarative/qml-intro/basic-syntax.qml
+++ /dev/null
@@ -1,48 +0,0 @@
-/****************************************************************************
-**
-** 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 QtDeclarative module 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 Nokia Corporation 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$
-**
-****************************************************************************/
-
-// Note: this file is not intended to be run.
-
-//! [basic syntax]
-SomeElement {
- id: myObject
- ... some other things here ...
-}
-//! [basic syntax]
diff --git a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
index f83a966..6926f8a 100644
--- a/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
+++ b/doc/src/snippets/declarative/qml-intro/sequential-animation3.qml
@@ -39,6 +39,8 @@
****************************************************************************/
//! [document]
+import Qt 4.7
+
Rectangle {
id: mainRec
width: 600