summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-09-29 04:09:01 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-09-29 04:09:01 (GMT)
commit575ad2c60482b279f828cfa87186b5fbb10f76c6 (patch)
tree101df52cd4b769dc8d10ef60714f25d819636e70 /doc
parenta913e326409062bbc1cad4d5898181c7b81cba23 (diff)
parent638f46a96b68d21137c4903c68015752ebdf58dc (diff)
downloadQt-575ad2c60482b279f828cfa87186b5fbb10f76c6.zip
Qt-575ad2c60482b279f828cfa87186b5fbb10f76c6.tar.gz
Qt-575ad2c60482b279f828cfa87186b5fbb10f76c6.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/qt into kinetic-declarativeui
Conflicts: configure.exe mkspecs/features/qt.prf
Diffstat (limited to 'doc')
-rw-r--r--doc/doc.pri2
-rw-r--r--doc/src/development/designer-manual.qdoc122
-rw-r--r--doc/src/development/qmake-manual.qdoc5
-rw-r--r--doc/src/examples/audioinput.qdoc2
-rw-r--r--doc/src/examples/hellogl.qdoc77
-rw-r--r--doc/src/examples/overpainting.qdoc19
-rw-r--r--doc/src/examples/rogue.qdoc2
-rw-r--r--doc/src/external-resources.qdoc10
-rw-r--r--doc/src/frameworks-technologies/containers.qdoc5
-rw-r--r--doc/src/frameworks-technologies/statemachine.qdoc6
-rw-r--r--doc/src/getting-started/examples.qdoc2
-rw-r--r--doc/src/getting-started/how-to-learn-qt.qdoc52
-rw-r--r--doc/src/howtos/appicon.qdoc9
-rw-r--r--doc/src/howtos/openvg.qdoc8
-rw-r--r--doc/src/images/browser-demo.pngbin157205 -> 144715 bytes
-rw-r--r--doc/src/images/gestures-examples.pngbin0 -> 28873 bytes
-rw-r--r--doc/src/index.qdoc18
-rw-r--r--doc/src/modules.qdoc2
-rw-r--r--doc/src/qt-webpages.qdoc2
-rw-r--r--doc/src/qt4-intro.qdoc22
-rw-r--r--doc/src/snippets/audio/main.cpp3
-rw-r--r--doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc78
-rw-r--r--doc/src/snippets/code/src_corelib_global_qglobal.cpp3
-rw-r--r--doc/src/snippets/code/src_qtestlib_qtestcase.cpp6
-rw-r--r--doc/src/snippets/statemachine/eventtest.cpp2
-rw-r--r--doc/src/snippets/widgets-tutorial/template.cpp2
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc11
-rw-r--r--doc/src/tutorials/widgets-tutorial.qdoc2
-rw-r--r--doc/src/xml-processing/xquery-introduction.qdoc40
29 files changed, 206 insertions, 306 deletions
diff --git a/doc/doc.pri b/doc/doc.pri
index b62c0fc..eae0162 100644
--- a/doc/doc.pri
+++ b/doc/doc.pri
@@ -2,7 +2,7 @@
# Qt documentation build
#####################################################################
-DOCS_GENERATION_DEFINES = -Dopensourceedition
+DOCS_GENERATION_DEFINES =
GENERATOR = $$QT_BUILD_TREE/bin/qhelpgenerator
win32:!win32-g++ {
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index 65b6baa..4f4db85 100644
--- a/doc/src/development/designer-manual.qdoc
+++ b/doc/src/development/designer-manual.qdoc
@@ -61,8 +61,8 @@
\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}.
- Qt Designer 4.5 boasts a long list of improvements. For a detailed list of
- what is new, refer \l{What's New in Qt Designer 4.5}.
+ Qt Designer 4.6 boasts a long list of improvements. For a detailed list of
+ what is new, refer \l{What's New in Qt Designer 4.6}.
\image designer-multiple-screenshot.png
@@ -114,124 +114,6 @@
*/
-
-/*!
- \page designer-whats-new.html
- \contentspage {Qt Designer Manual}{Contents}
-
-
- \title What's New in Qt Designer 4.5
-
- \section1 General Changes
-
-
- \table
- \header
- \i Widget Filter Box
- \i Widget Morphing
- \i Disambiguation Field
- \row
- \i \inlineimage designer-widget-filter.png
- \i \inlineimage designer-widget-morph.png
- \i \inlineimage designer-disambiguation.png
- \endtable
-
- \list 1
- \i Displaying only icons in the \gui{Widget Box}: It is now possible
- for the \gui{Widget Box} to display icons only. Simply select
- \gui{Icon View} from the context menu.
- \i Filter for \gui{Widget Box}: A filter is now provided to quickly
- locate the widget you need. If you use a particular widget
- frequently, you can always add it to the
- \l{Getting to Know Qt Designer#WidgetBox}{scratch pad}.
- \i Support for QButtonGroup: It is available via the context
- menu of a selection of QAbstractButton objects.
- \i Improved support for item widgets: The item widgets' (e.g.,
- QListWidget, QTableWidget, and QTreeWidget) contents dialogs have
- been improved. You can now add translation comments and also modify
- the header properties.
- \i Widget morphing: A widget can now be morphed from one type to
- another with its layout and properties preserved. To begin, click
- on your widget and select \gui{Morph into} from the context menu.
- \i Disambiguation field: The property editor now shows this extra
- field under the \gui{accessibleDescription} property. This field
- has been introduced to aid translators in the case of two source
- texts being the same but used for different purposes. For example,
- a dialog could have two \gui{Add} buttons for two different
- reasons. \note To maintain compatibility, comments in UI files
- created prior to Qt 4.5 will be listed in the \gui{Disambiguation}
- field.
- \endlist
-
-
-
- \section1 Improved Shortcuts for the Editing Mode
-
- \list
- \i The \key{Shift+Click} key combination now selects the ancestor for
- nested layouts. This iterates from one ancestor to the other.
-
- \i The \key{Ctrl} key is now used to toggle and copy drag. Previously
- this was done with the \key{Shift} key but is now changed to
- conform to standards.
-
- \i The left mouse button does rubber band selection for form windows;
- the middle mouse button does rubber band selection everywhere.
- \endlist
-
-
- \section1 Layouts
- \list
- \i It is now possible to switch a widget's layout without breaking it
- first. Simply select the existing layout and change it to another
- type using the context menu or the layout buttons on the toolbar.
-
- \i To quickly populate a \gui{Form Layout}, you can now use the
- \gui{Add form layout row...} item available in the context menu or
- double-click on the red layout.
- \endlist
-
-
- \section1 Support for Embedded Design
-
- \table
- \header
- \i Comboboxes to Select a Device Profile
- \row
- \i \inlineimage designer-embedded-preview.png
- \endtable
-
- It is now possible to specify embedded device profiles, e.g., Style, Font,
- Screen DPI, resolution, default font, etc., in \gui{Preferences}. These
- settings will affect the \gui{Form Editor}. The profiles will also be
- visible with \gui{Preview}.
-
-
- \section1 Related Classes
-
- \list
- \i QUiLoader \mdash forms loaded with this class will now react to
- QEvent::LanguageChange if QUiLoader::setLanguageChangeEnabled() or
- QUiLoader::isLanguageChangeEnabled() is set to true.
-
- \i QDesignerCustomWidgetInterface \mdash the
- \l{QDesignerCustomWidgetInterface::}{domXml()} function now has new
- attributes for its \c{<ui>} element. These attributes are
- \c{language} and \c{displayname}. The \c{language} element can be
- one of the following "", "c++", "jambi". If this element is
- specified, it must match the language in which Designer is running.
- Otherwise, this element will not be available. The \c{displayname}
- element represents the name that will be displayed in the
- \gui{Widget Box}. Previously this was hardcoded to be the class
- name.
-
- \i QWizard \mdash QWizard's page now has a string \c{id} attribute that
- can be used to fill in enumeration values to be used by the
- \c{uic}. However, this attribute has no effect on QUiLoader.
- \endlist
-*/
-
-
/*!
\page designer-to-know.html
\contentspage {Qt Designer Manual}{Contents}
diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc
index 1bd85b0..f2cae5b 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -959,7 +959,8 @@
General compiler options can as usual be set using \c QMAKE_CFLAGS and \c QMAKE_CXXFLAGS.
In order to set specific compiler options, \c QMAKE_CFLAGS.<compiler> and
\c QMAKE_CXXFLAGS.<compiler> can be used. \c <compiler> can be either \c CW for the WINSCW
- architecture (emulator), or \c ARMCC for the ARMv5 architecture (hardware).
+ architecture (emulator), or \c ARMCC for the ARMv5 architecture (hardware), or \c GCCE for
+ the ARMv5 architecture (hardware).
Here is an example:
@@ -4055,6 +4056,8 @@
You can test for any other platform-compiler combination as long as a
specification exists for it in the \c mkspecs directory.
+ The scope \c unix is true for the Symbian platform.
+
\section1 Variables
Many of the variables used in project files are special variables that
diff --git a/doc/src/examples/audioinput.qdoc b/doc/src/examples/audioinput.qdoc
index 0b1b551..ac44d75 100644
--- a/doc/src/examples/audioinput.qdoc
+++ b/doc/src/examples/audioinput.qdoc
@@ -49,6 +49,6 @@
Qt provides the QAudioInput class to enable audio functionality within
a standard application user interface.
- This example uses a fast-fourier transform on the input audio from the microphone
+ This example calculates the maximum linear value of the input audio from the microphone
and displays the output.
*/
diff --git a/doc/src/examples/hellogl.qdoc b/doc/src/examples/hellogl.qdoc
index 6dc9e26..5fd2c6f 100644
--- a/doc/src/examples/hellogl.qdoc
+++ b/doc/src/examples/hellogl.qdoc
@@ -65,7 +65,8 @@
\snippet examples/opengl/hellogl/glwidget.h 0
We use a destructor to ensure that any OpenGL-specific data structures
- are deleted when the widget is no longer needed.
+ are deleted when the widget is no longer needed (although in this case nothing
+ needs cleaning up).
\snippet examples/opengl/hellogl/glwidget.h 1
@@ -84,8 +85,8 @@
The rest of the class contains utility functions and variables that are
used to construct and hold orientation information for the scene. The
- \c object variable will be used to hold an identifier for an OpenGL
- display list.
+ \c logo variable will be used to hold a pointer to the QtLogo object which
+ contains all the geometry.
\section1 GLWidget Class Implementation
@@ -95,8 +96,9 @@
\section2 Widget Construction and Sizing
- The constructor provides default rotation angles for the scene, initializes
- the variable used for the display list, and sets up some colors for later use.
+ The constructor provides default rotation angles for the scene, sets
+ the pointer to the QtLogo object to null, and sets up some colors for
+ later use.
\snippet examples/opengl/hellogl/glwidget.cpp 0
@@ -105,7 +107,7 @@
\snippet examples/opengl/hellogl/glwidget.cpp 1
- The destructor ensures that the display list is deleted properly.
+ In this case nothing requires cleaning up.
We provide size hint functions to ensure that the widget is shown at a
reasonable size:
@@ -139,9 +141,9 @@
\snippet examples/opengl/hellogl/glwidget.cpp 6
In this example, we reimplement the function to set the background color,
- create a display list containing information about the object we want to
+ create a QtLogo object instance which will contain all the geometry to
display, and set up the rendering process to use a particular shading model
- and rendering flags:
+ and rendering flags.
\section2 Resizing the Viewport
@@ -172,8 +174,8 @@
In this example, we clear the widget using the background color that
we defined in the \l{QGLWidget::initializeGL()}{initializeGL()} function,
- set up the frame of reference for the object we want to display, and call
- the display list containing the rendering commands for the object.
+ set up the frame of reference for the geometry we want to display, and
+ call the draw method of the QtLogo object to render the scene.
\section2 Mouse Handling
@@ -196,12 +198,57 @@
cursor to rotate the object, the cursor's position is updated every time
a move event is received.
- \section2 Utility Functions
+ \section1 QtLogo Class
- We have omitted the utility functions, \c makeObject(), \c quad(),
- \c extrude(), and \c normalizeAngle() from our discussion. These can be
- viewed in the quoted source for \c glwidget.cpp via the link at the
- start of this document.
+ This class encapsulates the OpenGL geometry data which will be rendered
+ in the basic 3D scene.
+
+ \snippet examples/opengl/shared/qtlogo.h 0
+
+ The geometry is divided into a list of parts which may be rendered in
+ different ways. The data itself is contained in a Geometry structure that
+ includes the vertices, their lighting normals and index values which
+ point into the vertices, grouping them into faces.
+
+ \snippet examples/opengl/shared/qtlogo.cpp 0
+
+ The data in the Geometry class is stored in QVector<QVector3D> members
+ which are convenient for use with OpenGL because they expose raw
+ contiguous floating point values via the constData() method. Methods
+ are included for adding new vertex data, either with smooth normals, or
+ facetted normals; and for enabling the geometry ready for rendering.
+
+ \snippet examples/opengl/shared/qtlogo.cpp 1
+
+ The higher level Patch class has methods for accumulating the geometry
+ one face at a time, and treating collections of faces or "patches" with
+ transformations, applying different colors or smoothing. Although faces
+ may be added as triangles or quads, at the OpenGL level all data is
+ treated as triangles for compatibility with OpenGL/ES.
+
+ \snippet examples/opengl/shared/qtlogo.cpp 2
+
+ Drawing a Patch is simply acheived by applying any transformation,
+ and material effect, then drawing the data using the index range for
+ the patch. The model-view matrix is saved and then restored so that
+ any transformation does not affect other parts of the scene.
+
+ \snippet examples/opengl/shared/qtlogo.cpp 3
+
+ The geometry is built once on construction of the QtLogo, and it is
+ paramaterized on a number of divisions - which controls how "chunky" the
+ curved section of the logo looks - and on a scale, so larger and smaller
+ QtLogo objects can be created without having to use OpenGL scaling
+ (which would force normal recalculation).
+
+ The building process is done by helper classes (read the source for full
+ details) which only exist during the build phase, to assemble the parts
+ of the scene.
+
+ \snippet examples/opengl/shared/qtlogo.cpp 4
+
+ Finally the complete QtLogo scene is simply drawn by enabling the data arrays
+ and then iterating over the parts, calling draw() on each one.
\section1 Window Class Definition
diff --git a/doc/src/examples/overpainting.qdoc b/doc/src/examples/overpainting.qdoc
index 52bb160..e00ec91 100644
--- a/doc/src/examples/overpainting.qdoc
+++ b/doc/src/examples/overpainting.qdoc
@@ -53,7 +53,7 @@
yet also behaves like any other standard Qt widget with support for
signals and slots, properties, and Qt's action system.
- Usually, QGLWidget is subclassed to display a pure 3D scene; the
+ Usually, QGLWidget is subclassed to display a pure 3D scene. The
developer reimplements \l{QGLWidget::initializeGL()}{initializeGL()}
to initialize any required resources, \l{QGLWidget::resizeGL()}{resizeGL()}
to set up the projection and viewport, and
@@ -83,7 +83,7 @@
\snippet examples/opengl/overpainting/glwidget.h 4
As usual, the widget uses \l{QGLWidget::initializeGL()}{initializeGL()}
- to set up objects for our scene and perform other OpenGL initialization tasks.
+ to set up geometry for our scene and perform OpenGL initialization tasks.
The \l{QGLWidget::resizeGL()}{resizeGL()} function is used to ensure that
the 3D graphics in the scene are transformed correctly to the 2D viewport
displayed in the widget.
@@ -100,7 +100,7 @@
\c animationTimer to update the widget; the \c createBubbles() function
initializes the \c bubbles list with instances of a helper class used to
draw the animation; the \c drawInstructions() function is responsible for
- a semi-transparent messages that is also overpainted onto the OpenGL scene.
+ a semi-transparent message that is also overpainted onto the OpenGL scene.
\section1 GLWidget Class Implementation
@@ -119,8 +119,9 @@
\snippet examples/opengl/overpainting/glwidget.cpp 1
- The \c initializeGL() function is fairly minimal, only setting up the display
- list used in the scene.
+ The \c initializeGL() function is fairly minimal, only setting up the QtLogo
+ object used in the scene. See the \l{Hello GL Example}{Hello GL} example
+ for details of the QtLogo class.
\snippet examples/opengl/overpainting/glwidget.cpp 2
@@ -159,7 +160,7 @@
\snippet examples/opengl/overpainting/glwidget.cpp 7
- Once the list containing the object has been executed, the GL
+ Once the QtLogo object's draw method has been executed, the GL
states we changed and the matrix stack needs to be restored to its
original state at the start of this function before we can begin
overpainting:
@@ -176,6 +177,12 @@
When QPainter::end() is called, suitable OpenGL-specific calls are made to
write the scene, and its additional contents, onto the widget.
+ With \l{QGLWidget::paintGL()}{paintGL()} the
+ \l{QGLWidget::swapBuffers()}{swapBuffers()} call is done for us. But an explicit
+ call to swapBuffers() is still not required because in the
+ \l{QWidget::paintEvent()}{paintEvent()} method the QPainter on the OpenGL
+ widget takes care of this for us.
+
The implementation of the \l{QGLWidget::resizeGL()}{resizeGL()} function
sets up the dimensions of the viewport and defines a projection
transformation:
diff --git a/doc/src/examples/rogue.qdoc b/doc/src/examples/rogue.qdoc
index 3eb9249..4f9dc3f 100644
--- a/doc/src/examples/rogue.qdoc
+++ b/doc/src/examples/rogue.qdoc
@@ -194,7 +194,7 @@
\snippet examples/statemachine/rogue/movementtransition.h 1
- The KeyPress events come wrapped in \l{QWrappedEvent}s. \c event
+ The KeyPress events come wrapped in \l{QStateMachine::WrappedEvent}s. \c event
must be confirmed to be a wrapped event because Qt uses other
events internally. After that, it is simply a matter of checking
which key has been pressed.
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index cc5a24f..ad6731b 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -357,3 +357,13 @@
\externalpage http://developers.sun.com/sunstudio/downloads/patches/index.jsp
\title Sun Studio Patches
*/
+
+/*!
+ \externalpage http://www.qtcentre.org
+ \title Qt Centre
+*/
+
+/*!
+ \externalpage http://www.kde.org
+ \title KDE
+*/
diff --git a/doc/src/frameworks-technologies/containers.qdoc b/doc/src/frameworks-technologies/containers.qdoc
index d29ca0e..0ac9732 100644
--- a/doc/src/frameworks-technologies/containers.qdoc
+++ b/doc/src/frameworks-technologies/containers.qdoc
@@ -267,7 +267,10 @@
Iterators provide a uniform means to access items in a container.
Qt's container classes provide two types of iterators: Java-style
- iterators and STL-style iterators.
+ iterators and STL-style iterators. Iterators of both types are
+ invalidated when the data in the container is modified or detached
+ from \l{Implicit Sharing}{implicitly shared copies} due to a call
+ to a non-const member function.
\section2 Java-Style Iterators
diff --git a/doc/src/frameworks-technologies/statemachine.qdoc b/doc/src/frameworks-technologies/statemachine.qdoc
index 904b551..2b137dd 100644
--- a/doc/src/frameworks-technologies/statemachine.qdoc
+++ b/doc/src/frameworks-technologies/statemachine.qdoc
@@ -308,9 +308,9 @@
A QStateMachine runs its own event loop. For signal transitions
(QSignalTransition objects), QStateMachine automatically posts a
- QSignalEvent to itself when it intercepts the corresponding signal;
- similarly, for QObject event transitions (QEventTransition objects) a
- QWrappedEvent is posted.
+ QStateMachine::SignalEvent to itself when it intercepts the corresponding
+ signal; similarly, for QObject event transitions (QEventTransition objects)
+ a QStateMachine::WrappedEvent is posted.
You can post your own events to the state machine using
QStateMachine::postEvent().
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 9e72ab4..543a2e1 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -300,7 +300,7 @@
\o{2,1} \l{Gestures Examples}{\bold{Gestures}}
\o{2,1} \l{D-Bus Examples}{\bold{D-Bus}}
\row
- \o \image gestures.png
+ \o \image gestures-examples.png
\o
Applications can be written to respond to gestures as a natural input method.
These examples show how to enable support for standard and custom gestures in
diff --git a/doc/src/getting-started/how-to-learn-qt.qdoc b/doc/src/getting-started/how-to-learn-qt.qdoc
index 5a83975..9df6f1f 100644
--- a/doc/src/getting-started/how-to-learn-qt.qdoc
+++ b/doc/src/getting-started/how-to-learn-qt.qdoc
@@ -43,22 +43,14 @@
\page how-to-learn-qt.html
\title How to Learn Qt
\brief Links to guides and resources for learning Qt.
-
\nextpage Tutorials
+ \section1 Getting Started
+
We assume that you already know C++ and will be using it for Qt
development. See the \l{Qt website} for more information about
using other programming languages with Qt.
- The best way to learn Qt is to read the official Qt book,
- \l{http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/}{C++
- GUI Programming with Qt 4, Second Edition} (ISBN 0-13-235416-0). This book
- provides comprehensive coverage of Qt programming all the way
- from "Hello Qt" to advanced features such as multithreading, 2D and
- 3D graphics, networking, item view classes, and XML. (The first edition,
- which is based on Qt 4.1, is available
- \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.)
-
If you want to program purely in C++, designing your interfaces
in code without the aid of any design tools, take a look at the
\l{Tutorials}. These are designed to get you into Qt programming,
@@ -73,6 +65,12 @@
overviews to deepen your understanding of Qt: \l{Qt Object Model}
and \l{Signals and Slots}.
+ \beginfloatleft
+ \inlineimage qtdemo-small.png
+ \endfloat
+
+ \section1 Getting an Overview
+
At this point, we recommend looking at the
\l{All Overviews and HOWTOs}{overviews} and reading those that are
relevant to your projects. You may also find it useful to browse the
@@ -80,18 +78,14 @@
common with your projects. You can also read Qt's source code since
this is supplied.
- \table 50%
- \header
- \o {2,1} Getting an Overview
- \row
- \o \inlineimage qtdemo-small.png
- \o
If you run the \l{Examples and Demos Launcher}, you'll see many of Qt's
widgets in action.
The \l{Qt Widget Gallery} also provides overviews of selected Qt
widgets in each of the styles used on various supported platforms.
- \endtable
+ \clearfloat
+
+ \section1 Books and Learning Materials
Qt comes with extensive documentation, with hypertext
cross-references throughout, so you can easily click your way to
@@ -103,16 +97,32 @@
this tool is supplied with Qt and provides access to the entire
Qt API, and it provides a full text search facility.
- There are also a growing number of books about Qt programming; see
- \l{Books about Qt Programming} for a complete list of Qt books,
+ There are also a growing number of books about Qt programming.
+ We recommend the official Qt book,
+ \l{http://www.amazon.com/gp/product/0132354160/ref=ase_trolltech/}{C++
+ GUI Programming with Qt 4, Second Edition} (ISBN 0-13-235416-0). This book
+ provides comprehensive coverage of Qt programming all the way
+ from "Hello Qt" to advanced features such as multithreading, 2D and
+ 3D graphics, networking, item view classes, and XML. (The first edition,
+ which is based on Qt 4.1, is available
+ \l{http://www.qtrac.eu/C++-GUI-Programming-with-Qt-4-1st-ed.zip}{online}.)
+
+ See \l{Books about Qt Programming} for a complete list of Qt books,
including translations to various languages.
Another valuable source of example code and explanations of Qt
- features is the archive of articles from \l {http://qt.nokia.com/doc/qq}
- {Qt Quarterly}, a quarterly newsletter for users of Qt.
+ features is the archive of articles from \l{Qt Quarterly}, a quarterly newsletter for users of Qt.
For documentation on specific Qt modules and other guides, refer to
\l{All Overviews and HOWTOs}.
+ \section1 Further Reading
+
+ Qt has an active and helpful user community who communicate using
+ the \l{Qt Mailing Lists}{qt-interest} mailing list, the \l{Qt Centre}
+ Web site, and a number of other community Web sites and Weblogs.
+ In addition, many Qt developers are active members of the
+ \l{KDE}{KDE community}.
+
Good luck, and have fun!
*/
diff --git a/doc/src/howtos/appicon.qdoc b/doc/src/howtos/appicon.qdoc
index ba567b7..ece2dcf 100644
--- a/doc/src/howtos/appicon.qdoc
+++ b/doc/src/howtos/appicon.qdoc
@@ -215,12 +215,13 @@
\section1 Setting the Application Icon on S60 platforms
- In order to set application icon for S60 application you need SVG-T icon.
- How to create such SVG-T, please refer to
+ In order to set the application icon for S60 applications, you need
+ an SVG-T icon. For information on how to create SVG-T compliant icons,
+ please refer to
\l{http://wiki.forum.nokia.com/index.php/How_to_create_application_icon(SVG)_in_S60_3rd_edition/}
- Once you have icon in correct format and assuming you are using
- \c qmake to generate your makefiles, you only need to add a single
+ Once the icon is available in the correct format and assuming you are
+ using \c qmake to generate your makefiles, you only need to add a single
line to your \c .pro project file. For example, if the name of your
icon file is \c{myapp.svg}, and your project file is \c{myapp.pro},
add this line to \c{myapp.pro}:
diff --git a/doc/src/howtos/openvg.qdoc b/doc/src/howtos/openvg.qdoc
index 0a0724b..42d2357 100644
--- a/doc/src/howtos/openvg.qdoc
+++ b/doc/src/howtos/openvg.qdoc
@@ -191,10 +191,10 @@
\section2 Rectangles, lines, and points
- Rectangles and lines use cached VGPath objects to try to accelerate
- drawing operations. vgModifyPathCoords() is used to modify the
- co-ordinates in the cached VGPath object each time fillRect(),
- drawRects(), or drawLines() is called.
+ Rectangles, lines, and rounded rectangles use cached VGPath objects
+ to try to accelerate drawing operations. vgModifyPathCoords() is used
+ to modify the co-ordinates in the cached VGPath object each time
+ fillRect(), drawRects(), drawLines(), or drawRoundedRect() is called.
If the engine does not implement vgModifyPathCoords() properly, then the
QVG_NO_MODIFY_PATH define can be set to disable path caching. This will
diff --git a/doc/src/images/browser-demo.png b/doc/src/images/browser-demo.png
index 466f218..5e0c0be 100644
--- a/doc/src/images/browser-demo.png
+++ b/doc/src/images/browser-demo.png
Binary files differ
diff --git a/doc/src/images/gestures-examples.png b/doc/src/images/gestures-examples.png
new file mode 100644
index 0000000..d4a006b
--- /dev/null
+++ b/doc/src/images/gestures-examples.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 3e5aad5..480107a 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -43,24 +43,8 @@
\page index.html
\keyword Qt Reference Documentation
- \if defined(opensourceedition)
- \title Qt Reference Documentation (Open Source Edition)
- \endif
-
- \if defined(desktoplightedition)
- \title Qt Reference Documentation (GUI Framework Edition)
- \endif
-
- \if defined(desktopedition)
- \title Qt Reference Documentation (Full Framework Edition)
- \endif
-
- \if !defined(opensourceedition) \
- && !defined(desktoplightedition) \
- && !defined(desktopedition)
\title Qt Reference Documentation
- \endif
-
+
\raw HTML
<table cellpadding="2" cellspacing="1" border="0" width="95%" class="indextable" align="center">
<tr>
diff --git a/doc/src/modules.qdoc b/doc/src/modules.qdoc
index 8fe6f1f..393e983 100644
--- a/doc/src/modules.qdoc
+++ b/doc/src/modules.qdoc
@@ -637,10 +637,8 @@
This module is part of the \l{Qt Full Framework Edition} and the
\l{Open Source Versions of Qt}. Most classes offered by this module are
also part of the \l{Qt GUI Framework Edition}.
-\if defined(opensourceedition) || defined(desktoplightedition)
Classes that are not available for \l{Qt GUI Framework Edition}
users are marked as such in the class documentation.
-\endif
\sa {Porting to Qt 4}
*/
diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc
index 68658ae..e02cd19 100644
--- a/doc/src/qt-webpages.qdoc
+++ b/doc/src/qt-webpages.qdoc
@@ -180,7 +180,7 @@
*/
/*!
- \externalpage http://qt.nokia.com/lists
+ \externalpage http://lists.trolltech.com
\title Qt Mailing Lists
*/
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 1b0ac13..03d9b29 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -578,8 +578,8 @@
primitives for matrix multiplication, vectors, quaternions
(client-side), and API for vertex and fragment shaders, GLSL/ES.
Future research will, among other things include stencils,
-scissors, vertex buffers and arrays, texture manipulation, and
- geometry shaders.
+ scissors, vertex buffers and arrays, texture manipulation, and
+ geometry shaders.
\section1 Performance Optimizations
@@ -605,6 +605,22 @@ scissors, vertex buffers and arrays, texture manipulation, and
functions to query audio devices for which audio formats they
support.
+ \section1 Classes and Functions Introduced in 4.6
+
+ Links to class, function, and macro documentation.
+
+ \section2 Classes
+
+ Classes introduced in Qt 4.6.
+
+ \sincelist classes
+
+ \section2 Functions & Macros
+
+ Fuctions and macros introduced in Qt 4.6.
+
+ \sincelist functions
+
*/
/*
@@ -768,7 +784,7 @@ scissors, vertex buffers and arrays, texture manipulation, and
these settings when you edit forms.
More information about these improvements can be found in the
- \l{What's New in Qt Designer 4.5} overview.
+ \l{What's New in Qt Designer 4.6} overview.
\section1 Qt Linguist Improvements
diff --git a/doc/src/snippets/audio/main.cpp b/doc/src/snippets/audio/main.cpp
index e663115..0910865 100644
--- a/doc/src/snippets/audio/main.cpp
+++ b/doc/src/snippets/audio/main.cpp
@@ -98,8 +98,7 @@ private:
//![2]
format.setSampleType(QAudioFormat::SignedInt);
- QAudioDeviceId id = QAudioDeviceInfo::defaultOutputDevice();
- QAudioDeviceInfo info(id);
+ QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(format))
format = info.nearestFormat(format);
diff --git a/doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc b/doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc
index 7f4c89b..2d5babb 100644
--- a/doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc
+++ b/doc/src/snippets/code/doc_src_qtxmlpatterns.qdoc
@@ -248,8 +248,8 @@ declare variable $insertion := "example";
declare default element namespace "http://cookbook/namespace";
let $docURI := 'cookbook.xml'
return if(doc-available($docURI))
- then doc($docURI)//recipe/<resept>{./node()}</resept>
- else <resept>Failed to load {$docURI}</resept>
+ then doc($docURI)//recipe/<oppskrift>{./node()}</oppskrift>
+ else <oppskrift>Failed to load {$docURI}</oppskrift>
//! [40]
//! [41]
@@ -312,79 +312,5 @@ for $a in doc('doc.txt')//p
<p>f0</p>
//! [49]
-//! [100]
-<?xml version="1.0" encoding="UTF-8"?>
-<cookbook>
- <recipe xml:id="MushroomSoup">
- <title>Quick and Easy Mushroom Soup</title>
- <ingredient name="Fresh mushrooms"
- quantity="7"
- unit="pieces"/>
- <ingredient name="Garlic"
- quantity="1"
- unit="cloves"/>
- <ingredient name="Olive oil"
- quantity="2"
- unit="tablespoons"/>
- <ingredient name="Milk"
- quantity="200"
- unit="milliliters"/>
- <ingredient name="Water"
- quantity="200"
- unit="milliliters"/>
- <ingredient name="Cream"
- quantity="100"
- unit="milliliters"/>
- <ingredient name="Vegetable soup cube"
- quantity="1/2"
- unit="cubes"/>
- <ingredient name="Ground black pepper"
- quantity="1/2"
- unit="teaspoons"/>
- <ingredient name="Dried parsley"
- quantity="1"
- unit="teaspoons"/>
- <time quantity="20"
- unit="minutes"/>
- <method>
- <step>1. Slice mushrooms and garlic.</step>
- <step>2. Fry mushroom slices and garlic with olive oil.</step>
- <step>3. Once mushrooms are cooked, add milk, cream water. Stir.</step>
- <step>4. Add vegetable soup cube.</step>
- <step>5. Reduce heat, add pepper and parsley.</step>
- <step>6. Turn off the stove before the mixture boils.</step>
- <step>7. Blend the mixture.</step>
- </method>
- </recipe>
- <recipe xml:id="CheeseOnToast">
- <title>Cheese on Toast</title>
- <ingredient name="Bread"
- quantity="2"
- unit="slices"/>
- <ingredient name="Cheese"
- quantity="2"
- unit="slices"/>
- <time quantity="3"
- unit="minutes"/>
- <method>
- <step>1. Slice the bread and cheese.</step>
- <step>2. Grill one side of each slice of bread.</step>
- <step>3. Turn over the bread and place a slice of cheese on each piece.</step>
- <step>4. Grill until the cheese has started to melt.</step>
- <step>5. Serve and enjoy!</step>
- </method>
- </recipe>
- <recipe xml:id="HardBoiledEggs">
- <title>Hard-Boiled Eggs</title>
- <ingredient name="Eggs"
- quantity="3"
- unit="eggs"/>
- <time quantity="3"
- unit="minutes"/>
- <method/>
- </recipe>
-</cookbook>
-//! [100]
-
}
diff --git a/doc/src/snippets/code/src_corelib_global_qglobal.cpp b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
index 3c61281..16b1073 100644
--- a/doc/src/snippets/code/src_corelib_global_qglobal.cpp
+++ b/doc/src/snippets/code/src_corelib_global_qglobal.cpp
@@ -529,3 +529,6 @@ class MyClass : public QObject
qFuzzyCompare(1 + 0.0, 1 + 1.0e-200); // This will return true
//! [46]
+//! [47]
+CApaApplication *myApplicationFactory();
+//! [47]
diff --git a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
index bf2a897..951dfbb 100644
--- a/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
+++ b/doc/src/snippets/code/src_qtestlib_qtestcase.cpp
@@ -225,5 +225,11 @@ void MyTestClass::cleanup()
QTest::qSleep(250);
//! [23]
+//! [24]
+QWidget widget;
+widget.show();
+QTest::qWaitForWindowShown(&widget);
+//! [24]
+
}
diff --git a/doc/src/snippets/statemachine/eventtest.cpp b/doc/src/snippets/statemachine/eventtest.cpp
index b6397ba..817dbfc 100644
--- a/doc/src/snippets/statemachine/eventtest.cpp
+++ b/doc/src/snippets/statemachine/eventtest.cpp
@@ -52,7 +52,7 @@ protected:
bool eventTest(QEvent *event)
{
if (event->type() == QEvent::Wrapped) {
- QEvent *wrappedEvent = static_cast<QWrappedEvent *>(event)->event();
+ QEvent *wrappedEvent = static_cast<QStateMachine::WrappedEvent *>(event)->event();
if (wrappedEvent->type() == QEvent::KeyPress) {
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(wrappedEvent);
// Do your event test
diff --git a/doc/src/snippets/widgets-tutorial/template.cpp b/doc/src/snippets/widgets-tutorial/template.cpp
index 19902cc..2ced971 100644
--- a/doc/src/snippets/widgets-tutorial/template.cpp
+++ b/doc/src/snippets/widgets-tutorial/template.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+//! [main.cpp body]
#include <QtGui>
// Include header files for application components.
@@ -53,3 +54,4 @@ int main(int argc, char *argv[])
return app.exec();
}
+//! [main.cpp body]
diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index ea11bfb..84aea6c 100644
--- a/doc/src/sql-programming/sql-driver.qdoc
+++ b/doc/src/sql-programming/sql-driver.qdoc
@@ -77,6 +77,12 @@
\row \o \link #QTDS QTDS\endlink \o Sybase Adaptive Server
\endtable
+ SQLite is the in-process database system with the best test coverage
+ and support on all platforms. Oracle via OCI, and PostreSQL and MySQL
+ through either ODBC or a native driver are well-tested on Windows and
+ Linux. The completeness of the support for other systems depends on the
+ availability and quality of client libraries.
+
\bold{Note:} To build a driver plugin you need to have the appropriate
client library for your Database Management System (DBMS). This provides
access to the API exposed by the DBMS, and is typically shipped with it.
@@ -445,7 +451,7 @@
Sybase client library. Refer to the Sybase documentation for information on how to set up
a Sybase client configuration file to enable connections to databases on non-default ports.
- \section3 How to Build the QDTS Plugin on Unix and Mac OS X
+ \section3 How to Build the QTDS Plugin on Unix and Mac OS X
Under Unix, two libraries are available which support the TDS protocol:
@@ -609,7 +615,8 @@
The Qt InterBase plugin makes it possible to access the InterBase and
Firebird databases. InterBase can either be used as a client/server or
without a server in which case it operates on local files. The
- database file must exist before a connection can be established.
+ database file must exist before a connection can be established. Firebird
+ must be used with a server configuration.
Note that InterBase requires you to specify the full path to the
database file, no matter whether it is stored locally or on another
diff --git a/doc/src/tutorials/widgets-tutorial.qdoc b/doc/src/tutorials/widgets-tutorial.qdoc
index 31e2ba3..1d3ebfe 100644
--- a/doc/src/tutorials/widgets-tutorial.qdoc
+++ b/doc/src/tutorials/widgets-tutorial.qdoc
@@ -80,7 +80,7 @@
A typical \c main() function, written in \c{main.cpp}, looks like this:
- \quotefile doc/src/snippets/widgets-tutorial/template.cpp
+ \snippet doc/src/snippets/widgets-tutorial/template.cpp main.cpp body
We first construct a QApplication object which is configured using any
arguments passed in from the command line. After any widgets have been
diff --git a/doc/src/xml-processing/xquery-introduction.qdoc b/doc/src/xml-processing/xquery-introduction.qdoc
index 93a33c1..25fa13f 100644
--- a/doc/src/xml-processing/xquery-introduction.qdoc
+++ b/doc/src/xml-processing/xquery-introduction.qdoc
@@ -40,11 +40,11 @@
****************************************************************************/
/*!
- \page xquery-introduction.html
- \title A Short Path to XQuery
+\page xquery-introduction.html
+\title A Short Path to XQuery
- \startpage Using XML Technologies
- \target XQuery-introduction
+\startpage Using XML Technologies
+\target XQuery-introduction
XQuery is a language for querying XML data or non-XML data that can be
modeled as XML. XQuery is specified by the \l{http://www.w3.org}{W3C}.
@@ -119,7 +119,7 @@ following XQuery:
\snippet snippets/code/doc_src_qtxmlpatterns.qdoc 18
-The \c{doc()} function loads the file \l{cookbook.xml} and returns the
+The \c{doc()} function loads the \c{cookbook.xml} file and returns the
document node. The document node then becomes the focus for the next
step \c{//recipe}. Here the double slash means select all \c{<recipe>}
elements found below the document node, regardless of where they
@@ -535,7 +535,7 @@ methods is presented in the section on \l{Boolean Predicates}.
There are many more functions and operators defined for XQuery and
XPath. They are all \l{http://www.w3.org/TR/xpath-functions}
-{documented here}.
+{documented in the specification}.
\section2 Positional Predicates
@@ -688,12 +688,12 @@ XQueries wherever expressions are allowed.
\snippet snippets/code/doc_src_qtxmlpatterns.qdoc 40
-If \c{cookbook.xml} is loaded without error, a \c{<resept>} element
-(Norweigian word for recipe) is constructed for each \c{<recipe>}
+If \c{cookbook.xml} is loaded without error, a \c{<oppskrift>} element
+(Norwegian word for recipe) is constructed for each \c{<recipe>}
element in the cookbook, and the child nodes of the \c{<recipe>} are
-copied into the \c{<resept>} element. But if the cookbook document
+copied into the \c{<oppskrift>} element. But if the cookbook document
doesn't exist or does not contain well-formed XML, a single
-\c{<resept>} element is constructed containing an error message.
+\c{<oppskrift>} element is constructed containing an error message.
\section1 Constructing Atomic Values
@@ -727,26 +727,23 @@ Sending this XQuery through xmlpatterns produces:
\snippet snippets/code/doc_src_qtxmlpatterns.qdoc 40
-If \c{cookbook.xml} is loaded without error, a \c{<resept>} element
+If \c{cookbook.xml} is loaded without error, a \c{<oppskrift>} element
(Norweigian word for recipe) is constructed for each \c{<recipe>}
element in the cookbook, and the child nodes of the \c{<recipe>} are
-copied into the \c{<resept>} element. But if the cookbook document
+copied into the \c{<oppskrift>} element. But if the cookbook document
doesn't exist or does not contain well-formed XML, a single
-\c{<resept>} element is constructed containing an error message.
+\c{<oppskrift>} element is constructed containing an error message.
\section1 Running The Cookbook Examples
-Most of the XQuery examples in this document refer to the cookbook
-written in XML shown below. Save it as \c{cookbook.xml}. In the same
-directory, save one of the cookbook XQuery examples in a \c{.xq} file
-(e.g. \c{file.xq}). Run the XQuery using Qt's command line utility:
+Most of the XQuery examples in this document refer to the
+\c{cookbook.xml} example file from the \l{Recipes Example}.
+Copy the \c{cookbook.xml} to your current directory, save one of the
+cookbook XQuery examples in a \c{.xq} file (e.g., \c{file.xq}), and
+run the XQuery using Qt's command line utility:
\snippet snippets/code/doc_src_qtxmlpatterns.qdoc 6
-\section2 cookbook.xml
-
-\snippet snippets/code/doc_src_qtxmlpatterns.qdoc 100
-
\section1 Further Reading
There is much more to the XQuery language than we have presented in
@@ -1019,5 +1016,4 @@ you want to use \c{true} and \c{false}. The other way is to invoke the
boolean constructor:
\quotefile snippets/patternist/xsBooleanTrue.xq
-
*/