summaryrefslogtreecommitdiffstats
path: root/doc/src
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/diagrams/webkit-domtraversal.pngbin0 -> 108725 bytes
-rw-r--r--doc/src/diagrams/webkit-simpleselector.pngbin0 -> 82564 bytes
-rw-r--r--doc/src/examples/domtraversal.qdoc139
-rw-r--r--doc/src/examples/simpleselector.qdoc128
-rw-r--r--doc/src/external-resources.qdoc5
-rw-r--r--doc/src/getting-started/examples.qdoc87
-rw-r--r--doc/src/images/webkit-domtraversal.pngbin0 -> 91304 bytes
-rw-r--r--doc/src/images/webkit-simpleselector.pngbin0 -> 130292 bytes
-rw-r--r--doc/src/platforms/emb-fonts.qdoc6
-rw-r--r--doc/src/qt4-intro.qdoc8
10 files changed, 343 insertions, 30 deletions
diff --git a/doc/src/diagrams/webkit-domtraversal.png b/doc/src/diagrams/webkit-domtraversal.png
new file mode 100644
index 0000000..5cd6d1f
--- /dev/null
+++ b/doc/src/diagrams/webkit-domtraversal.png
Binary files differ
diff --git a/doc/src/diagrams/webkit-simpleselector.png b/doc/src/diagrams/webkit-simpleselector.png
new file mode 100644
index 0000000..e442f97
--- /dev/null
+++ b/doc/src/diagrams/webkit-simpleselector.png
Binary files differ
diff --git a/doc/src/examples/domtraversal.qdoc b/doc/src/examples/domtraversal.qdoc
new file mode 100644
index 0000000..57e61d0
--- /dev/null
+++ b/doc/src/examples/domtraversal.qdoc
@@ -0,0 +1,139 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/domtraversal
+ \title DOM Traversal Example
+
+ The DOM Traversal example shows how to use the QWebElement class to access
+ the structure of a Web page.
+
+ \image webkit-domtraversal.png
+
+ The QWebElement class provides an API that can be used to examine the structure
+ and content of a Web page via a Document Object Model (DOM) interface. It can be
+ used for basic traversal of the document structure, to search for particular
+ elements (see the \l{Simple Selector Example}), and to modify content in-place.
+
+ This example uses a QWebView widget to display the Web page, and a dock widget
+ holds the QTreeWidget that shows the document structure. These widgets are
+ placed in an instance of the \c Window class, which we describe below.
+
+ \section1 Window Class Definition
+
+ The \c Window class is derived from QMainWindow and its user interface is created
+ using \l{Qt Designer}. As a result, the class is also derived from the user
+ interface class created by \l uic:
+
+ \snippet examples/webkit/domtraversal/window.h Window class definition
+
+ Two important functions to note are the \c on_webView_loadFinished() slot and
+ the \c examineChildElements() function. The former is automatically called
+ when the QWebView widget finishes loading a page \mdash see the
+ \l{#Further Reading}{Further Reading} section for more information on this
+ mechanism.
+
+ The \c examineChildElements() function is used to traverse the document structure
+ and add items to the QTreeWidget.
+
+ \section1 Window Class Implementation
+
+ In the \c Window class constructor, we call the \l{QWidget::}{setupUi()} function
+ to set up the user interface described in the \c{window.ui} file:
+
+ \snippet examples/webkit/domtraversal/window.cpp Window constructor
+
+ When the Web page is loaded, the \c on_webView_loadFinished() slot is called. Here,
+ we clear the tree widget and begin inspection of the document by obtaining the
+ document element from the page's main frame:
+
+ \snippet examples/webkit/domtraversal/window.cpp begin document inspection
+
+ At this point, we call the \c examineChildElements() function to traverse the
+ document, starting with the child elements of the document element for which we
+ will create top level items in the tree widget.
+
+ The \c examineChildElements() function accepts a parent element and a parent item.
+ Starting with the first child element, which we obtain with the element's
+ \l{QWebElement::}{firstChild()} function, we examine each child element of the
+ parent item. For each valid (non-null) element, which we check by calling its
+ \l{QWebElement::}{isNull()} function, we create a new QTreeWidgetItem instance with
+ the element name and add it to the parent item.
+
+ \snippet examples/webkit/domtraversal/window.cpp traverse document
+
+ We recursively examine the child elements for each element by calling
+ \c examineChildElements() with the current child element and the newly-created item.
+ To obtain the next element at the same level in the document, we call its
+ \l{QWebElement::}{nextSibling()} function.
+
+ This recursive approach to reading the document makes it easy to create a simple
+ representation of the document structure in a tree widget.
+
+ For completeness, we show the \c setUrl() function, which is provided to allow the
+ document URL to be set from the example's \c main() function.
+
+ \snippet examples/webkit/domtraversal/window.cpp set URL
+
+ \section1 Starting the Example
+
+ We set up the application, create
+ a \c Window instance, set its URL, and show it:
+
+ \snippet examples/webkit/simpleselector/main.cpp main program
+
+ When the application's event loop is run, the Qt home page will load, and the
+ tree widget will be updated to show the document structure. Navigating to another
+ page will cause the tree widget to be updated to show the document structure of
+ the new page.
+
+ \section1 Further Reading
+
+ The QWebElement documentation contains more information about DOM access for the
+ QtWebKit classes.
+
+ In this example, we take advantage of Qt's
+ \l{Using a Designer UI File in Your Application#Automatic Connections}{auto-connection}
+ feature to avoid explicitly connecting signals to slots. The user interface
+ contains a QWebView widget called \c webView whose \l{QWebView::}{loadFinished()}
+ signal is automatically connected to the \c on_webView_loadFinished() slot when
+ we call \l{QWidget::}{setupUi()} in the \c Window constructor.
+*/
diff --git a/doc/src/examples/simpleselector.qdoc b/doc/src/examples/simpleselector.qdoc
new file mode 100644
index 0000000..7db6576
--- /dev/null
+++ b/doc/src/examples/simpleselector.qdoc
@@ -0,0 +1,128 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 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:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \example webkit/simpleselector
+ \title Simple Selector Example
+
+ The Simple Selector example shows how to use QWebElement to access the
+ Document Object Model (DOM) in a Web page.
+
+ \image webkit-simpleselector.png
+
+ The QWebElement class enables access to the document structure and content in a Web page,
+ as represented by a QWebFrame instance. It can be used for basic traversal of the document
+ structure (see the \l{DOM Traversal Example}), to search for particular elements, and to
+ modify any elements found.
+
+ This example uses a QWebView widget to display a Web page. A QLineEdit widget and QPushButton
+ allow the user to enter a query and highlight the results in the page. These widgets are
+ contained in an instance of the \c Window class, which we described below.
+
+ \section1 Window Class Definition
+
+ The \c Window class describes the example's user interface and this is partially described
+ by the \c window.ui file, created using \l{Qt Designer}:
+
+ \snippet examples/webkit/simpleselector/window.h Window class definition
+
+ We use \l{Using a Designer UI File in Your Application#The Multiple Inheritance Approach}
+ {multiple inheritance} to include the user interface description. We define slots that
+ will automatically respond to signals emitted by certain user interface controls.
+
+ \section1 Window Class Implementation
+
+ Since the layout of the user interface is provided by the \c{window.ui} user interface file,
+ we only need to call the \l{QWidget::}{setupUi()} in the constructor:
+
+ \snippet examples/webkit/simpleselector/window.cpp Window class constructor
+
+ This adds all the controls to the window and sets up connections between their signals
+ and suitably-named slots in the \c Window class. The QLineEdit instance was given a name of
+ \c elementLineEdit in Qt Designer, so the \c{on_elementLineEdit_returnPressed()} slot is
+ automatically connected to its \l{QLineEdit::}{returnPressed()} signal.
+
+ This slot performs the main work of this example. We begin by obtaining a QWebFrame
+ instance for the current page shown in the QWebView widget. Each QWebFrame contains
+ a QWebElement instance that represents the document, and we obtain this in order to
+ examine its contents:
+
+ \snippet examples/webkit/simpleselector/window.cpp return pressed
+
+ Taking the contents of the QLineEdit as the query text, we call the element's
+ \l{QWebElement::}{findAll()} function to obtain a list of elements that match the
+ query.
+
+ For each element obtained, we modify its style by setting its \c style attribute
+ to give it a yellow background color.
+
+ Since we also want the query to be performed when the user clicks the \gui Highlight
+ button, we also implement the \c{on_highlightButton_clicked()} slot to simply call
+ the \c{on_elementLineEdit_returnPressed()} slot when it is invoked:
+
+ \snippet examples/webkit/simpleselector/window.cpp button clicked
+
+ For completeness, we also implement a \c setUrl() function which simply passes on
+ a QUrl instance to the equivalent function in the QWebView widget:
+
+ \snippet examples/webkit/simpleselector/window.cpp set URL
+
+ \section1 Starting the Example
+
+ The main function implementation is simple. We set up the application, create
+ a \c Window instance, set its URL, and show it:
+
+ \snippet examples/webkit/simpleselector/main.cpp main program
+
+ When the application's event loop is run, the WebKit home page will load, and the
+ user can then begin to start running queries against the contents of the page.
+ The highlighting can only be removed by reloading the page. To do this, open a
+ context menu over the page and select the \gui Reload menu item.
+
+ \section1 Further Reading
+
+ The QWebElement documentation contains more information about DOM access for the
+ QtWebKit classes.
+
+ In this example, we take advantage of Qt's
+ \l{Using a Designer UI File in Your Application#Automatic Connections}{auto-connection}
+ feature to avoid explicitly connecting signals to slots.
+*/
diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc
index 4e1f3b7..f965869 100644
--- a/doc/src/external-resources.qdoc
+++ b/doc/src/external-resources.qdoc
@@ -412,3 +412,8 @@
\externalpage http://www.directfb.org/docs/DirectFB_Reference_1_4/types.html#DFBSurfaceDescription
\title DirectFB - DFBSurfaceDescription
*/
+
+/*!
+ \externalpage http://www.w3.org/TR/REC-CSS2/selector.html#q1
+ \title Standard CSS2 selector
+*/
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 79cbe89..eec0492 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -336,13 +336,6 @@
features is the archive of the \l {Qt Quarterly}.
\endtable
-
- \omit
- In the list below, examples marked with an asterisk (*) are fully
- documented. Eventually, all the examples will be fully documented,
- but sometimes we include an example before we have time to write
- about it.
- \endomit
*/
/*!
@@ -388,6 +381,8 @@
\o \l{widgets/wiggly}{Wiggly}\raisedaster
\o \l{widgets/windowflags}{Window Flags}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -416,6 +411,8 @@
\o \l{dialogs/tabdialog}{Tab Dialog}\raisedaster
\o \l{dialogs/trivialwizard}{Trivial Wizard}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -442,12 +439,14 @@
\o \l{mainwindows/recentfiles}{Recent Files}
\o \l{mainwindows/sdi}{SDI}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
\page examples-layouts.html
\title Layout Examples
-
+
\previouspage Main Window Examples
\contentspage Qt Examples
\nextpage Item Views Examples
@@ -467,6 +466,8 @@
\o \l{layouts/dynamiclayouts}{Dynamic Layouts}
\o \l{layouts/flowlayout}{Flow Layout}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -503,6 +504,8 @@
\o \l{itemviews/spinboxdelegate}{Spin Box Delegate}\raisedaster
\o \l{itemviews/stardelegate}{Star Delegate}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -529,6 +532,8 @@
\o \l{graphicsview/portedasteroids}{Ported Asteroids}
\o \l{graphicsview/portedcanvas}{Ported Canvas}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -559,6 +564,8 @@
\o \l{painting/svgviewer}{SVG Viewer}
\o \l{painting/transformations}{Transformations}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -631,16 +638,18 @@
\o \l{draganddrop/fridgemagnets}{Fridge Magnets}\raisedaster
\o \l{draganddrop/puzzle}{Drag and Drop Puzzle}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
\page examples-threadandconcurrent.html
\title Threading and Concurrent Programming Examples
-
+
\previouspage Drag and Drop Examples
\contentspage Qt Examples
\nextpage Tools Examples
-
+
\image thread-examples.png
Qt 4 makes it easier than ever to write multithreaded applications. More
@@ -669,6 +678,8 @@
\o \l{qtconcurrent/runfunction}{QtConcurrent Run Function}
\o \l{qtconcurrent/wordcount}{QtConcurrent Word Count}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -704,6 +715,8 @@
\o \l{tools/treemodelcompleter}{Tree Model Completer}\raisedaster
\o \l{tools/undoframework}{Undo Framework}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -736,6 +749,8 @@
\o \l{network/torrent}{Torrent}
\o \l{network/googlesuggest}{Google Suggest}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -745,7 +760,7 @@
\previouspage Network Examples
\contentspage Qt Examples
\nextpage OpenGL Examples
-
+
\image ipc-examples.png
\list
@@ -784,6 +799,8 @@
\o \l{opengl/samplebuffers}{Sample Buffers}
\o \l{opengl/textures}{Textures}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -829,6 +846,8 @@
\o \l{phonon/capabilities}{Capabilities}\raisedaster
\o \l{phonon/qmusicplayer}{Music Player}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -855,6 +874,8 @@
\o \l{sql/tablemodel}{Table Model}
\o \l{sql/sqlwidgetmapper}{SQL Widget Mapper}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
@@ -890,6 +911,8 @@
\o \l{xmlpatterns/trafficinfo}{Traffic Info}\raisedaster
\o \l{xmlpatterns/schema}{XML Schema Validation}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -996,12 +1019,26 @@
from displaying Web pages within a Qt user interface to an implementation of
a basic function Web browser.
- \list
- \o \l{webkit/previewer}{Previewer}\raisedaster
- \o \l{webkit/formextractor}{Form Extractor}
- \o \l{webkit/googlechat}{Google Chat}
- \o \l{webkit/fancybrowser}{Fancy Browser}
- \endlist
+ \table
+ \header \o Example \o Description
+ \row \o \l{webkit/domtraversal}{DOM Traversal}\raisedaster
+ \o Shows how to use QWebElement to inspect the document structure of a Web page.
+ \row \o \l{webkit/fancybrowser}{Fancy Browser}
+ \o A more advanced browser example, showing the use of jQuery to perform effects.
+ \row \o \l{webkit/formextractor}{Form Extractor}
+ \o How to use JavaScript and C++ together to read page content.
+ \row \o \l{webkit/googlechat}{Google Chat}
+ \o A real-world example that shows how an existing Web-based service can be accessed
+ using QtWebKit.
+ \row \o \l{webkit/previewer}{Previewer}\raisedaster
+ \o Shows how to make a simple Web page previewer by using Qt's text input widgets
+ together with a QWebView widget.
+ \row \o \l{webkit/simpleselector}{Simple Selector}\raisedaster
+ \o A basic demonstration, showing how to use QWebElement to select elements in a
+ Web page.
+ \endtable
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -1021,6 +1058,8 @@
\list
\o \l{help/simpletextviewer}{Simple Text Viewer}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -1060,13 +1099,15 @@
\image animation-examples.png Animation
\list
- \o \l{animation/animatedtiles}{Animated Tiles}
- \o \l{animation/appchooser}{Application Chooser}
- \o \l{animation/easing}{Easing Curves}
+ \o \l{animation/animatedtiles}{Animated Tiles}
+ \o \l{animation/appchooser}{Application Chooser}
+ \o \l{animation/easing}{Easing Curves}
\o \l{animation/moveblocks}{Move Blocks}\raisedaster
- \o \l{animation/states}{States}
+ \o \l{animation/states}{States}
\o \l{animation/stickman}{Stick man}\raisedaster
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -1100,6 +1141,8 @@
\o \l{dbus/pingpong}{Ping Pong}
\o \l{dbus/remotecontrolledcar}{Remote Controlled Car}
\endlist
+
+ Examples marked with an asterisk (*) are fully documented.
*/
/*!
@@ -1131,7 +1174,7 @@
\previouspage Qt for Embedded Linux Examples
\contentspage Qt Examples
\nextpage Qt Quarterly
-
+
\image activeqt-examples.png ActiveQt
\list
diff --git a/doc/src/images/webkit-domtraversal.png b/doc/src/images/webkit-domtraversal.png
new file mode 100644
index 0000000..8c7b2bc
--- /dev/null
+++ b/doc/src/images/webkit-domtraversal.png
Binary files differ
diff --git a/doc/src/images/webkit-simpleselector.png b/doc/src/images/webkit-simpleselector.png
new file mode 100644
index 0000000..2c888ca
--- /dev/null
+++ b/doc/src/images/webkit-simpleselector.png
Binary files differ
diff --git a/doc/src/platforms/emb-fonts.qdoc b/doc/src/platforms/emb-fonts.qdoc
index 4df65da..0425285 100644
--- a/doc/src/platforms/emb-fonts.qdoc
+++ b/doc/src/platforms/emb-fonts.qdoc
@@ -60,9 +60,9 @@
prerendered fonts and TrueType fonts. For compatibility, it will also read the
legacy \c lib/fonts/fontdir file.
- Support for other font formats can be added, contact
- \l{mailto:qt-info@nokia.com}{qt-info@nokia.com} for more
- information.
+ Support for other font formats can be added. To make a suggestion,
+ please create a task in our bug tracker at \l
+ {http://bugreports.qt.nokia.com}{http://bugreports.qt.nokia.com}.
\tableofcontents
diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc
index 2f74451..2a1f8ff 100644
--- a/doc/src/qt4-intro.qdoc
+++ b/doc/src/qt4-intro.qdoc
@@ -491,6 +491,8 @@
rich end-user applications for devices running S60 3.1 and
later.
+ See the \l{Symbian Platform - Introduction to Qt} for more information.
+
\section1 Animation Framework
The animation framework helps build highly animated,
@@ -581,11 +583,7 @@
DOM, helps reuse CSS selector knowledge, and gives little
maintenance or footprint overhead.
- \code
- QWebElement document = frame->documentElement();
- QList<QWebElement> allSpans = document.findAll("span");
- QList<QWebElement> introSpans = document.findAll("p.intro span");
- \endcode
+ \snippet webkitsnippets/webelement/main.cpp FindAll
See the QWebElement class documentation for more information.