summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/src/diagrams/webkit-domtraversal.pngbin0 -> 108725 bytes
-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--examples/webkit/domtraversal/domtraversal.pro11
-rw-r--r--examples/webkit/domtraversal/main.cpp52
-rw-r--r--examples/webkit/domtraversal/window.cpp90
-rw-r--r--examples/webkit/domtraversal/window.h71
-rw-r--r--examples/webkit/domtraversal/window.ui89
-rw-r--r--examples/webkit/simpleselector/window.cpp2
-rw-r--r--examples/webkit/simpleselector/window.h2
-rw-r--r--examples/webkit/webkit.pro3
12 files changed, 387 insertions, 25 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/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/examples/webkit/domtraversal/domtraversal.pro b/examples/webkit/domtraversal/domtraversal.pro
new file mode 100644
index 0000000..dda63ba
--- /dev/null
+++ b/examples/webkit/domtraversal/domtraversal.pro
@@ -0,0 +1,11 @@
+QT += webkit
+FORMS = window.ui
+HEADERS = window.h
+SOURCES = main.cpp \
+ window.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/webkit/domtraversal
+sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/webkit/domtraversal
+INSTALLS += target sources
diff --git a/examples/webkit/domtraversal/main.cpp b/examples/webkit/domtraversal/main.cpp
new file mode 100644
index 0000000..c8a1aec
--- /dev/null
+++ b/examples/webkit/domtraversal/main.cpp
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** 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 examples 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$
+**
+****************************************************************************/
+
+#include <QApplication>
+#include "window.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ Window window;
+ window.show();
+ window.setUrl(QUrl("http://qt.nokia.com/"));
+ return app.exec();
+}
diff --git a/examples/webkit/domtraversal/window.cpp b/examples/webkit/domtraversal/window.cpp
new file mode 100644
index 0000000..704a6e1
--- /dev/null
+++ b/examples/webkit/domtraversal/window.cpp
@@ -0,0 +1,90 @@
+/****************************************************************************
+**
+** 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 examples 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$
+**
+****************************************************************************/
+
+#include <QtGui>
+#include <QtWebKit>
+
+#include "window.h"
+
+//! [Window constructor]
+Window::Window(QWidget *parent)
+ : QMainWindow(parent)
+{
+ setupUi(this);
+}
+//! [Window constructor]
+
+//! [set URL]
+void Window::setUrl(const QUrl &url)
+{
+ webView->setUrl(url);
+}
+//! [set URL]
+
+//! [begin document inspection]
+void Window::on_webView_loadFinished()
+{
+ treeWidget->clear();
+
+ QWebFrame *frame = webView->page()->mainFrame();
+ QWebElement document = frame->documentElement();
+
+ examineChildElements(document, treeWidget->invisibleRootItem());
+}
+//! [begin document inspection]
+
+//! [traverse document]
+void Window::examineChildElements(const QWebElement &parentElement,
+ QTreeWidgetItem *parentItem)
+{
+ QWebElement element = parentElement.firstChild();
+ while (!element.isNull()) {
+
+ QTreeWidgetItem *item = new QTreeWidgetItem();
+ item->setText(0, element.tagName());
+ parentItem->addChild(item);
+
+ examineChildElements(element, item);
+
+ element = element.nextSibling();
+ }
+}
+//! [traverse document]
diff --git a/examples/webkit/domtraversal/window.h b/examples/webkit/domtraversal/window.h
new file mode 100644
index 0000000..5988df9
--- /dev/null
+++ b/examples/webkit/domtraversal/window.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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 examples 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$
+**
+****************************************************************************/
+
+#ifndef WINDOW_H
+#define WINDOW_H
+
+#include <QMainWindow>
+#include <QUrl>
+#include <QWebElement>
+
+class QTreeWidgetItem;
+
+//! [Window class definition]
+#include "ui_window.h"
+
+class Window : public QMainWindow, private Ui::Window
+{
+ Q_OBJECT
+
+public:
+ Window(QWidget *parent = 0);
+ void setUrl(const QUrl &url);
+
+public slots:
+ void on_webView_loadFinished();
+
+private:
+ void examineChildElements(const QWebElement &parentElement,
+ QTreeWidgetItem *parentItem);
+};
+//! [Window class definition]
+
+#endif
diff --git a/examples/webkit/domtraversal/window.ui b/examples/webkit/domtraversal/window.ui
new file mode 100644
index 0000000..0fce035
--- /dev/null
+++ b/examples/webkit/domtraversal/window.ui
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Window</class>
+ <widget class="QMainWindow" name="Window">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>600</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Web Element DOM Traversal</string>
+ </property>
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="topMargin">
+ <number>4</number>
+ </property>
+ <property name="bottomMargin">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QWebView" name="webView">
+ <property name="url">
+ <url>
+ <string>http://qt.nokia.com/</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>27</height>
+ </rect>
+ </property>
+ </widget>
+ <widget class="QStatusBar" name="statusbar"/>
+ <widget class="QDockWidget" name="dockWidget">
+ <property name="allowedAreas">
+ <set>Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea</set>
+ </property>
+ <property name="windowTitle">
+ <string>Document Structure</string>
+ </property>
+ <attribute name="dockWidgetArea">
+ <number>1</number>
+ </attribute>
+ <widget class="QWidget" name="dockWidgetContents">
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <item>
+ <widget class="QTreeWidget" name="treeWidget">
+ <attribute name="headerVisible">
+ <bool>false</bool>
+ </attribute>
+ <attribute name="headerVisible">
+ <bool>false</bool>
+ </attribute>
+ <column>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </column>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QWebView</class>
+ <extends>QWidget</extends>
+ <header>QtWebKit/QWebView</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/webkit/simpleselector/window.cpp b/examples/webkit/simpleselector/window.cpp
index 295ab7f..ad54487 100644
--- a/examples/webkit/simpleselector/window.cpp
+++ b/examples/webkit/simpleselector/window.cpp
@@ -58,7 +58,7 @@ void Window::on_elementLineEdit_returnPressed()
//! [select elements]
QWebElement document = frame->documentElement();
- QList<QWebElement> elements = document.findAll(elementLineEdit->text());
+ QWebElementCollection elements = document.findAll(elementLineEdit->text());
//! [select elements]
foreach (QWebElement element, elements)
diff --git a/examples/webkit/simpleselector/window.h b/examples/webkit/simpleselector/window.h
index 437d360..9f9344a 100644
--- a/examples/webkit/simpleselector/window.h
+++ b/examples/webkit/simpleselector/window.h
@@ -44,9 +44,9 @@
#include <QUrl>
#include <QWidget>
+//! [Window class definition]
#include "ui_window.h"
-//! [Window class definition]
class Window : public QWidget, private Ui::Window
{
Q_OBJECT
diff --git a/examples/webkit/webkit.pro b/examples/webkit/webkit.pro
index 47c1443..c985ed5 100644
--- a/examples/webkit/webkit.pro
+++ b/examples/webkit/webkit.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS += formextractor \
+SUBDIRS += domtraversal \
+ formextractor \
previewer \
fancybrowser \
simpleselector