summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2009-11-13 09:51:04 (GMT)
committerOlivier Goffart <ogoffart@trolltech.com>2009-11-13 09:51:11 (GMT)
commit63856f13721bce420fe94dab31c36329af976276 (patch)
tree5a2c1d5d49a76a7794fcfd46a6fa664f657ae0fe /examples
parentf5c5cc585cef8d2d2f77e7d83d7a07c6d70f0d09 (diff)
parent6e209bb09f3feef210bc65f94cf8f58dd8e3b4a9 (diff)
downloadQt-63856f13721bce420fe94dab31c36329af976276.zip
Qt-63856f13721bce420fe94dab31c36329af976276.tar.gz
Qt-63856f13721bce420fe94dab31c36329af976276.tar.bz2
Merge commit upstream/4.6 into oslo-staging-2/4.6
Diffstat (limited to 'examples')
-rw-r--r--examples/effects/fademessage/fademessage.cpp10
-rw-r--r--examples/effects/fademessage/fademessage.pro3
-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/main.cpp54
-rw-r--r--examples/webkit/simpleselector/simpleselector.pro11
-rw-r--r--examples/webkit/simpleselector/window.cpp81
-rw-r--r--examples/webkit/simpleselector/window.h64
-rw-r--r--examples/webkit/simpleselector/window.ui72
-rw-r--r--examples/webkit/webkit.pro6
13 files changed, 609 insertions, 5 deletions
diff --git a/examples/effects/fademessage/fademessage.cpp b/examples/effects/fademessage/fademessage.cpp
index a65c748..4128a59 100644
--- a/examples/effects/fademessage/fademessage.cpp
+++ b/examples/effects/fademessage/fademessage.cpp
@@ -96,13 +96,17 @@ void FadeMessage::setupScene()
QFont font;
font.setPointSize(font.pointSize() * 2);
font.setBold(true);
- int fh = QFontMetrics(font).height();
+ QFontMetrics fontMetrics(font);
+ int fh = fontMetrics.height();
- QGraphicsRectItem *block = m_scene.addRect(50, 300, 300, fh + 3);
+ QString sceneText = "Qt Everywhere!";
+ int sceneTextWidth = fontMetrics.width(sceneText);
+
+ QGraphicsRectItem *block = m_scene.addRect(50, 300, sceneTextWidth, fh + 3);
block->setPen(Qt::NoPen);
block->setBrush(QColor(102, 153, 51));
- QGraphicsTextItem *text = m_scene.addText("Qt Everywhere!", font);
+ QGraphicsTextItem *text = m_scene.addText(sceneText, font);
text->setDefaultTextColor(Qt::white);
text->setPos(50, 300);
block->setZValue(2);
diff --git a/examples/effects/fademessage/fademessage.pro b/examples/effects/fademessage/fademessage.pro
index ed9e53d..cb1fda7 100644
--- a/examples/effects/fademessage/fademessage.pro
+++ b/examples/effects/fademessage/fademessage.pro
@@ -11,3 +11,6 @@ sources.files = $$SOURCES \
$$FORMS \
fademessage.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/effects/fademessage
+
+DEPLOYMENT_PLUGIN += qjpeg
+
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/main.cpp b/examples/webkit/simpleselector/main.cpp
new file mode 100644
index 0000000..74c5469
--- /dev/null
+++ b/examples/webkit/simpleselector/main.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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$
+**
+****************************************************************************/
+
+//! [main program]
+#include <QtGui>
+#include "window.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ Window window;
+ window.setUrl(QUrl("http://www.webkit.org"));
+ window.show();
+ return app.exec();
+}
+//! [main program]
diff --git a/examples/webkit/simpleselector/simpleselector.pro b/examples/webkit/simpleselector/simpleselector.pro
new file mode 100644
index 0000000..3f3037f
--- /dev/null
+++ b/examples/webkit/simpleselector/simpleselector.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/simpleselector
+sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/webkit/simpleselector
+INSTALLS += target sources
diff --git a/examples/webkit/simpleselector/window.cpp b/examples/webkit/simpleselector/window.cpp
new file mode 100644
index 0000000..ad54487
--- /dev/null
+++ b/examples/webkit/simpleselector/window.cpp
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** 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 <QWebElement>
+#include <QWebFrame>
+#include "window.h"
+
+//! [Window class constructor]
+Window::Window(QWidget *parent)
+ : QWidget(parent)
+{
+ setupUi(this);
+}
+//! [Window class constructor]
+
+//! [return pressed]
+void Window::on_elementLineEdit_returnPressed()
+{
+ QWebFrame *frame = webView->page()->mainFrame();
+
+//! [select elements]
+ QWebElement document = frame->documentElement();
+ QWebElementCollection elements = document.findAll(elementLineEdit->text());
+//! [select elements]
+
+ foreach (QWebElement element, elements)
+ element.setAttribute("style", "background-color: #f0f090");
+}
+//! [return pressed]
+
+//! [button clicked]
+void Window::on_highlightButton_clicked()
+{
+ on_elementLineEdit_returnPressed();
+}
+//! [button clicked]
+
+//! [set URL]
+void Window::setUrl(const QUrl &url)
+{
+ webView->setUrl(url);
+}
+//! [set URL]
diff --git a/examples/webkit/simpleselector/window.h b/examples/webkit/simpleselector/window.h
new file mode 100644
index 0000000..9f9344a
--- /dev/null
+++ b/examples/webkit/simpleselector/window.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** 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 <QUrl>
+#include <QWidget>
+//! [Window class definition]
+#include "ui_window.h"
+
+class Window : public QWidget, private Ui::Window
+{
+ Q_OBJECT
+
+public:
+ Window(QWidget *parent = 0);
+ void setUrl(const QUrl &url);
+
+public slots:
+ void on_elementLineEdit_returnPressed();
+ void on_highlightButton_clicked();
+};
+//! [Window class definition]
+
+#endif
diff --git a/examples/webkit/simpleselector/window.ui b/examples/webkit/simpleselector/window.ui
new file mode 100644
index 0000000..aa824df
--- /dev/null
+++ b/examples/webkit/simpleselector/window.ui
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Window</class>
+ <widget class="QWidget" name="Window">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>640</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Web Element Selector</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QWebView" name="webView">
+ <property name="url">
+ <url>
+ <string>http://webkit.org/</string>
+ </url>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::ExpandingFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="elementLabel">
+ <property name="text">
+ <string>&amp;Element:</string>
+ </property>
+ <property name="buddy">
+ <cstring>elementLineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="elementLineEdit">
+ <property name="text">
+ <string>li a</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QPushButton" name="highlightButton">
+ <property name="text">
+ <string>&amp;Highlight</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>QWebView</class>
+ <extends>QWidget</extends>
+ <header>QtWebKit/QWebView</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/examples/webkit/webkit.pro b/examples/webkit/webkit.pro
index 0a1d6bd..c985ed5 100644
--- a/examples/webkit/webkit.pro
+++ b/examples/webkit/webkit.pro
@@ -1,7 +1,9 @@
TEMPLATE = subdirs
-SUBDIRS += formextractor \
+SUBDIRS += domtraversal \
+ formextractor \
previewer \
- fancybrowser
+ fancybrowser \
+ simpleselector
contains(QT_CONFIG, openssl):SUBDIRS += googlechat