diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/diagrams/webkit-domtraversal.png | bin | 0 -> 108725 bytes | |||
-rw-r--r-- | doc/src/diagrams/webkit-simpleselector.png | bin | 0 -> 82564 bytes | |||
-rw-r--r-- | doc/src/examples/domtraversal.qdoc | 139 | ||||
-rw-r--r-- | doc/src/examples/simpleselector.qdoc | 128 | ||||
-rw-r--r-- | doc/src/external-resources.qdoc | 5 | ||||
-rw-r--r-- | doc/src/getting-started/examples.qdoc | 87 | ||||
-rw-r--r-- | doc/src/images/webkit-domtraversal.png | bin | 0 -> 91304 bytes | |||
-rw-r--r-- | doc/src/images/webkit-simpleselector.png | bin | 0 -> 130292 bytes | |||
-rw-r--r-- | doc/src/platforms/emb-fonts.qdoc | 6 | ||||
-rw-r--r-- | doc/src/qt4-intro.qdoc | 8 |
10 files changed, 343 insertions, 30 deletions
diff --git a/doc/src/diagrams/webkit-domtraversal.png b/doc/src/diagrams/webkit-domtraversal.png Binary files differnew file mode 100644 index 0000000..5cd6d1f --- /dev/null +++ b/doc/src/diagrams/webkit-domtraversal.png diff --git a/doc/src/diagrams/webkit-simpleselector.png b/doc/src/diagrams/webkit-simpleselector.png Binary files differnew file mode 100644 index 0000000..e442f97 --- /dev/null +++ b/doc/src/diagrams/webkit-simpleselector.png 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 Binary files differnew file mode 100644 index 0000000..8c7b2bc --- /dev/null +++ b/doc/src/images/webkit-domtraversal.png diff --git a/doc/src/images/webkit-simpleselector.png b/doc/src/images/webkit-simpleselector.png Binary files differnew file mode 100644 index 0000000..2c888ca --- /dev/null +++ b/doc/src/images/webkit-simpleselector.png 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. |