summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorFrans Englich <frans.englich@nokia.com>2009-09-29 12:56:05 +0200
committerFrans Englich <frans.englich@nokia.com>2009-09-29 12:56:05 +0200
commit17c17adbd706d32723ecedeb207c7e467f9fa8eb (patch)
tree22d6d314dc7320d0b728578a734d636a1d74d9ae /doc
parent1ff83d2b44fe07d1bc6b243fad270dfa7d860dc7 (diff)
parentdcd185e58face87105f484e98ecb195af0790a22 (diff)
Merge commit 'qt/4.6' into mmfphonon
Diffstat (limited to 'doc')
-rw-r--r--doc/src/development/designer-manual.qdoc122
-rw-r--r--doc/src/development/qmake-manual.qdoc2
-rw-r--r--doc/src/examples/hellogl.qdoc12
-rw-r--r--doc/src/examples/rogue.qdoc2
-rw-r--r--doc/src/frameworks-technologies/containers.qdoc5
-rw-r--r--doc/src/frameworks-technologies/statemachine.qdoc35
-rw-r--r--doc/src/images/browser-demo.pngbin157205 -> 144715 bytes
-rw-r--r--doc/src/platforms/supported-platforms.qdoc8
-rw-r--r--doc/src/qt4-intro.qdoc6
-rw-r--r--doc/src/snippets/statemachine/eventtest.cpp2
-rw-r--r--doc/src/sql-programming/sql-driver.qdoc11
11 files changed, 67 insertions, 138 deletions
diff --git a/doc/src/development/designer-manual.qdoc b/doc/src/development/designer-manual.qdoc
index 65b6baaf74..4f4db85332 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 861c772814..f2cae5bd43 100644
--- a/doc/src/development/qmake-manual.qdoc
+++ b/doc/src/development/qmake-manual.qdoc
@@ -4056,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/hellogl.qdoc b/doc/src/examples/hellogl.qdoc
index 77deefe226..5fd2c6f18e 100644
--- a/doc/src/examples/hellogl.qdoc
+++ b/doc/src/examples/hellogl.qdoc
@@ -203,14 +203,14 @@
This class encapsulates the OpenGL geometry data which will be rendered
in the basic 3D scene.
- \snippet examples/opengl/hellogl/qtlogo.h 0
+ \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/hellogl/qtlogo.cpp 0
+ \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
@@ -218,7 +218,7 @@
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/hellogl/qtlogo.cpp 1
+ \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
@@ -226,14 +226,14 @@
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/hellogl/qtlogo.cpp 2
+ \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/hellogl/qtlogo.cpp 3
+ \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
@@ -245,7 +245,7 @@
details) which only exist during the build phase, to assemble the parts
of the scene.
- \snippet examples/opengl/hellogl/qtlogo.cpp 4
+ \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.
diff --git a/doc/src/examples/rogue.qdoc b/doc/src/examples/rogue.qdoc
index 3eb9249690..4f9dc3f89e 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/frameworks-technologies/containers.qdoc b/doc/src/frameworks-technologies/containers.qdoc
index d29ca0e418..0ac9732086 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 904b551d1a..ed8bc851b2 100644
--- a/doc/src/frameworks-technologies/statemachine.qdoc
+++ b/doc/src/frameworks-technologies/statemachine.qdoc
@@ -304,13 +304,42 @@
For parallel state groups, the QState::finished() signal is emitted when \e
all the child states have entered final states.
+ \section1 Targetless Transitions
+
+ A transition need not have a target state. A transition without a target can
+ be triggered the same way as any other transition; the difference is that
+ when a targetless transition is triggered, it doesn't cause any state
+ changes. This allows you to react to a signal or event when your machine is
+ in a certain state, without having to leave that state. Example:
+
+ \code
+ QStateMachine machine;
+ QState *s1 = new QState(&machine);
+
+ QPushButton button;
+ QSignalTransition *trans = new QSignalTransition(&button, SIGNAL(clicked()));
+ s1->addTransition(trans);
+
+ QMessageBox msgBox;
+ msgBox.setText("The button was clicked; carry on.");
+ QObject::connect(trans, SIGNAL(triggered()), &msgBox, SLOT(exec()));
+
+ machine.setInitialState(s1);
+ \endcode
+
+ The message box will be displayed each time the button is clicked, but the
+ state machine will remain in its current state (s1). If the target state
+ were explicitly set to s1, however, s1 would be exited and re-entered each
+ time (e.g. the QAbstractState::entered() and QAbstractState::exited()
+ signals would be emitted).
+
\section1 Events, Transitions and Guards
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/images/browser-demo.png b/doc/src/images/browser-demo.png
index 466f218862..5e0c0beccc 100644
--- a/doc/src/images/browser-demo.png
+++ b/doc/src/images/browser-demo.png
Binary files differ
diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc
index 61bd779981..5f72ce3abc 100644
--- a/doc/src/platforms/supported-platforms.qdoc
+++ b/doc/src/platforms/supported-platforms.qdoc
@@ -104,6 +104,12 @@
\table
\header \o Platform
\o Compilers
+ \omit
+ \row \o Windows 7
+ \o MSVC 2008
+ \endomit
+ \row \o Apple Mac OS X 10.6 "Snow Leopard"
+ \o As provided by Apple
\row \o Apple Mac OS X 10.4 "Tiger"
\o As provided by Apple
\row \o HPUXi 11.11
@@ -128,7 +134,7 @@
All platforms not specifically listed above are not supported by Nokia. Nokia does
not run its unit test suite or perform any other internal tests on platforms not
- listed above. Qt users should note, however, that there may be various open source
+ listed above. Qt users should note, however, that there may be various open source
projects, community users and/or Qt partners who are able to provide assistance with
platforms not supported by Nokia.
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 558fc89251..03d9b29da4 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
@@ -784,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/statemachine/eventtest.cpp b/doc/src/snippets/statemachine/eventtest.cpp
index b6397ba51a..817dbfc596 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/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc
index ea11bfb84b..84aea6cb3b 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