From: Charles Yin Date: Tue, 6 Mar 2012 02:13:44 +0000 (+1000) Subject: Refactor XMLHttpRequest example. X-Git-Url: http://git.silmor.de/gitweb/?a=commitdiff_plain;h=656d1a147db433518236ad886074d27ed20e70ec;p=konrad%2Fqtdeclarative.git Refactor XMLHttpRequest example. Change-Id: I4fd4fa4fb190814e1e32ce847d05ab0015ad4ca0 Reviewed-by: Alan Alpert --- diff --git a/examples/qml/xmlhttprequest/xmlhttprequest-example.qml b/examples/qml/xmlhttprequest/get.qml similarity index 100% copy from examples/qml/xmlhttprequest/xmlhttprequest-example.qml copy to examples/qml/xmlhttprequest/get.qml diff --git a/examples/qml/xmlhttprequest/main.cpp b/examples/qml/xmlhttprequest/main.cpp new file mode 100644 index 0000000..8768dd1 --- /dev/null +++ b/examples/qml/xmlhttprequest/main.cpp @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/ +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "../../shared/shared.h" +DECLARATIVE_EXAMPLE_MAIN(xmlhttprequest) \ No newline at end of file diff --git a/examples/qml/xmlhttprequest/xmlhttprequest.pro b/examples/qml/xmlhttprequest/xmlhttprequest.pro new file mode 100644 index 0000000..468afdf --- /dev/null +++ b/examples/qml/xmlhttprequest/xmlhttprequest.pro @@ -0,0 +1,9 @@ +TEMPLATE = app + +QT += quick qml +SOURCES += main.cpp + +target.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qtquick/xmlhttprequest +qml.files = xmlhttprequest.qml get.qml +qml.path = $$[QT_INSTALL_EXAMPLES]/qtdeclarative/qtquick/xmlhttprequest +INSTALLS += target qml \ No newline at end of file diff --git a/examples/qml/xmlhttprequest/xmlhttprequest-example.qml b/examples/qml/xmlhttprequest/xmlhttprequest.qml similarity index 51% rename from examples/qml/xmlhttprequest/xmlhttprequest-example.qml rename to examples/qml/xmlhttprequest/xmlhttprequest.qml index 28ba078..efe7d42 100644 --- a/examples/qml/xmlhttprequest/xmlhttprequest-example.qml +++ b/examples/qml/xmlhttprequest/xmlhttprequest.qml @@ -39,57 +39,28 @@ ****************************************************************************/ import QtQuick 2.0 +import "../../shared" as Examples -Rectangle { - width: 350; height: 400 +/*! + \title QtQuick Examples - XMLHttpRequst + \example qtquick/xmlhttprequest + \brief This is a collection of XMLHttpRequest examples + \image qml-xmlhttprequest-example.png - function showRequestInfo(text) { - log.text = log.text + "\n" + text - console.log(text) - } - - Text { id: log; anchors.fill: parent; anchors.margins: 10 } - - Rectangle { - id: button - anchors.horizontalCenter: parent.horizontalCenter; anchors.bottom: parent.bottom; anchors.margins: 10 - width: buttonText.width + 10; height: buttonText.height + 10 - border.width: mouseArea.pressed ? 2 : 1 - radius : 5; smooth: true + This is a collection of small QML examples relating to XML HTTP request functionality. - Text { id: buttonText; anchors.centerIn: parent; text: "Request data.xml" } + Get data demos sending get XML request and showing the received header and XML body. - MouseArea { - id: mouseArea - anchors.fill: parent - onClicked: { - log.text = "" - console.log("\n") +*/ - var doc = new XMLHttpRequest(); - doc.onreadystatechange = function() { - if (doc.readyState == XMLHttpRequest.HEADERS_RECEIVED) { - showRequestInfo("Headers -->"); - showRequestInfo(doc.getAllResponseHeaders ()); - showRequestInfo("Last modified -->"); - showRequestInfo(doc.getResponseHeader ("Last-Modified")); - - } else if (doc.readyState == XMLHttpRequest.DONE) { - var a = doc.responseXML.documentElement; - for (var ii = 0; ii < a.childNodes.length; ++ii) { - showRequestInfo(a.childNodes[ii].nodeName); - } - showRequestInfo("Headers -->"); - showRequestInfo(doc.getAllResponseHeaders ()); - showRequestInfo("Last modified -->"); - showRequestInfo(doc.getResponseHeader ("Last-Modified")); - } - } - - doc.open("GET", "data.xml"); - doc.send(); - } +Item { + height: 480 + width: 320 + Examples.LauncherList { + id: ll + anchors.fill: parent + Component.onCompleted: { + addExample("Get data", "Send get request and show received header and body", Qt.resolvedUrl("get.qml")); } } -} - +} \ No newline at end of file diff --git a/examples/qml/xmlhttprequest/xmlhttprequest.qmlproject b/examples/qml/xmlhttprequest/xmlhttprequest.qmlproject new file mode 100644 index 0000000..088042a --- /dev/null +++ b/examples/qml/xmlhttprequest/xmlhttprequest.qmlproject @@ -0,0 +1,16 @@ +import QmlProject 1.0 + +Project { + mainFile: "xmlhttprequest.qml" + /* Include .qml, .js, and image files from current directory and subdirectories */ + + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } +} \ No newline at end of file