A data engine meant to test the Plasma data engine explorer.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=804385
This commit is contained in:
parent
a7fd1ce868
commit
08217c3504
24
tests/testengine/CMakeLists.txt
Normal file
24
tests/testengine/CMakeLists.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
project(plasma_testengine_dataengine)
|
||||||
|
|
||||||
|
find_package(KDE4 REQUIRED)
|
||||||
|
find_package(Plasma REQUIRED)
|
||||||
|
|
||||||
|
include(KDE4Defaults)
|
||||||
|
|
||||||
|
include_directories(${CMAKE_SOURCE_DIR}
|
||||||
|
${CMAKE_BINARY_DIR}
|
||||||
|
${KDE4_INCLUDES}
|
||||||
|
${PLASMA_INCLUDE_DIR})
|
||||||
|
|
||||||
|
set(testengine_engine_SRCS
|
||||||
|
testengine.cpp)
|
||||||
|
|
||||||
|
kde4_add_plugin(plasma_engine_testengine
|
||||||
|
${testengine_engine_SRCS})
|
||||||
|
|
||||||
|
target_link_libraries(plasma_engine_testengine
|
||||||
|
${KDE4_KIO_LIBS}
|
||||||
|
plasma)
|
||||||
|
|
||||||
|
install(TARGETS plasma_engine_testengine DESTINATION ${PLUGIN_INSTALL_DIR})
|
||||||
|
install(FILES plasma-dataengine-testengine.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
|
7
tests/testengine/plasma-dataengine-testengine.desktop
Normal file
7
tests/testengine/plasma-dataengine-testengine.desktop
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Test Data Engine
|
||||||
|
X-KDE-ServiceTypes=Plasma/DataEngine
|
||||||
|
Type=Service
|
||||||
|
Icon=unknown
|
||||||
|
X-KDE-Library=plasma_engine_testengine
|
||||||
|
X-Plasma-EngineName=testengine
|
178
tests/testengine/testengine.cpp
Normal file
178
tests/testengine/testengine.cpp
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2008 Gilles CHAUVIN <gcnweb+kde@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License either version 2, or
|
||||||
|
* (at your option) any later version as published by the Free Software
|
||||||
|
* Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public
|
||||||
|
* License along with this program; if not, write to the
|
||||||
|
* Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "testengine.h"
|
||||||
|
|
||||||
|
#include <QtCore/QBitArray>
|
||||||
|
#include <QtCore/QDate>
|
||||||
|
#include <QtCore/QLocale>
|
||||||
|
#include <QtCore/QUrl>
|
||||||
|
#include <QtGui/QBitmap>
|
||||||
|
#include <QtGui/QBrush>
|
||||||
|
#include <QtGui/QCursor>
|
||||||
|
#include <QtGui/QFont>
|
||||||
|
#include <QtGui/QIcon>
|
||||||
|
#include <QtGui/QPalette>
|
||||||
|
#include <QtGui/QPen>
|
||||||
|
#include <QtGui/QSizePolicy>
|
||||||
|
#include <QtGui/QTextFormat>
|
||||||
|
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(TestEngine::MyUserType);
|
||||||
|
|
||||||
|
|
||||||
|
TestEngine::TestEngine(QObject *parent, const QVariantList &args)
|
||||||
|
: Plasma::DataEngine(parent, args)
|
||||||
|
{
|
||||||
|
}; // ctor()
|
||||||
|
|
||||||
|
|
||||||
|
TestEngine::~TestEngine()
|
||||||
|
{
|
||||||
|
}; // dtor()
|
||||||
|
|
||||||
|
|
||||||
|
void TestEngine::init()
|
||||||
|
{
|
||||||
|
QString dsn("TestEngine");
|
||||||
|
|
||||||
|
// QVariant::Invalid
|
||||||
|
// QVariant::BitArray
|
||||||
|
setData(dsn, "QBitArray", QVariant(QBitArray(97, false)));
|
||||||
|
// QVariant::Bitmap
|
||||||
|
setData(dsn, "QBitmap", QVariant(QBitmap(12, 57)));
|
||||||
|
// QVariant::Bool
|
||||||
|
setData(dsn, "bool", QVariant((bool)true));
|
||||||
|
// QVariant::Brush
|
||||||
|
setData(dsn, "QBrush", QVariant(QBrush(Qt::SolidPattern)));
|
||||||
|
// QVariant::ByteArray
|
||||||
|
QByteArray byteArray;
|
||||||
|
for (int i=0; i<256; ++i) {
|
||||||
|
byteArray.append(i);
|
||||||
|
}
|
||||||
|
setData(dsn, "QByteArray1", QVariant(byteArray));
|
||||||
|
setData(dsn, "QByteArray2", QVariant(QByteArray("KDE4")));
|
||||||
|
// QVariant::Char
|
||||||
|
setData(dsn, "QChar", QVariant(QChar(0x4B)));
|
||||||
|
// QVariant::Color
|
||||||
|
setData(dsn, "QColor", QVariant(QColor("#031337")));
|
||||||
|
// QVariant::Cursor
|
||||||
|
setData(dsn, "QCursor", QVariant(QCursor(Qt::ArrowCursor)));
|
||||||
|
// QVariant::Date
|
||||||
|
setData(dsn, "QDate", QVariant(QDate(2008, 1, 11)));
|
||||||
|
// QVariant::DateTime
|
||||||
|
setData(dsn, "QDateTime", QVariant(QDateTime(QDate(2008, 1, 11), QTime(12, 34, 56))));
|
||||||
|
// QVariant::Double
|
||||||
|
setData(dsn, "double", QVariant((double)12.34));
|
||||||
|
// QVariant::Font
|
||||||
|
setData(dsn, "QFont", QVariant(QFont()));
|
||||||
|
// QVariant::Icon
|
||||||
|
setData(dsn, "QIcon", QVariant(QIcon(QPixmap(12, 34))));
|
||||||
|
// QVariant::Image
|
||||||
|
setData(dsn, "QImage", QVariant(QImage(56, 78, QImage::Format_Mono)));
|
||||||
|
// QVariant::Int
|
||||||
|
setData(dsn, "int", QVariant((int)-4321));
|
||||||
|
// QVariant::KeySequence (???)
|
||||||
|
// QVariant::Line
|
||||||
|
setData(dsn, "QLine", QVariant(QLine(12, 34, 56, 78)));
|
||||||
|
// QVariant::LineF
|
||||||
|
setData(dsn, "QLineF", QVariant(QLineF(1.2, 3.4, 5.6, 7.8)));
|
||||||
|
// QVariant::List
|
||||||
|
QList<QVariant> list;
|
||||||
|
list << QString("KDE4") << QBrush() << QPen();
|
||||||
|
setData(dsn, "QList", QVariant(list));
|
||||||
|
// QVariant::Locale
|
||||||
|
setData(dsn, "QLocale", QVariant(QLocale("fr_FR")));
|
||||||
|
// QVariant::LongLong
|
||||||
|
setData(dsn, "qlonglong", QVariant((qlonglong)-4321));
|
||||||
|
// QVariant::Map
|
||||||
|
QMap<QString, QVariant> map;
|
||||||
|
for (int i=0; i<123; ++i) {
|
||||||
|
QString key = QString("key%1").arg(i);
|
||||||
|
QString val = QString("value%1").arg(i);
|
||||||
|
map[key] = val;
|
||||||
|
}
|
||||||
|
setData(dsn, "QMap", QVariant(map));
|
||||||
|
// QVariant::Matrix
|
||||||
|
setData(dsn, "QMatrix", QVariant(QMatrix()));
|
||||||
|
// QVariant::Transform
|
||||||
|
setData(dsn, "QTransform", QVariant(QTransform()));
|
||||||
|
// QVariant::Palette
|
||||||
|
setData(dsn, "QPalette", QVariant(QPalette()));
|
||||||
|
// QVariant::Pen
|
||||||
|
setData(dsn, "QPen", QVariant(QPen(Qt::SolidLine)));
|
||||||
|
// QVariant::Pixmap
|
||||||
|
setData(dsn, "QPixmap", QVariant(QPixmap(12, 34)));
|
||||||
|
// QVariant::Point
|
||||||
|
setData(dsn, "QPoint", QVariant(QPoint(12, 34)));
|
||||||
|
// QVariant::PointArray (obsoloted in Qt4, see QPolygon)
|
||||||
|
// QVariant::PointF
|
||||||
|
setData(dsn, "QPointF", QVariant(QPointF(12.34, 56.78)));
|
||||||
|
// QVariant::Polygon
|
||||||
|
setData(dsn, "QPolygon", QVariant(QPolygon(42)));
|
||||||
|
// QVariant::Rect
|
||||||
|
setData(dsn, "QRect", QVariant(QRect(12, 34, 56, 78)));
|
||||||
|
// QVariant::RectF
|
||||||
|
setData(dsn, "QRectF", QVariant(QRectF(1.2, 3.4, 5.6, 7.8)));
|
||||||
|
// QVariant::RegExp
|
||||||
|
setData(dsn, "QRegExp", QVariant(QRegExp("^KDE4$")));
|
||||||
|
// QVariant::Region
|
||||||
|
setData(dsn, "QRegion", QVariant(QRegion(10, 20, 30, 40)));
|
||||||
|
// QVariant::Size
|
||||||
|
setData(dsn, "QSize", QVariant(QSize(12, 34)));
|
||||||
|
// QVariant::SizeF
|
||||||
|
setData(dsn, "QSizeF", QVariant(QSizeF(12.34, 56.78)));
|
||||||
|
// QVariant::SizePolicy
|
||||||
|
setData(dsn, "QSizePolicy", QVariant(QSizePolicy()));
|
||||||
|
// QVariant::String
|
||||||
|
setData(dsn, "QString", QVariant(QString("KDE4 ROCKS!")));
|
||||||
|
// QVariant::StringList
|
||||||
|
QStringList stringList;
|
||||||
|
stringList << "K" << "D" << "E" << "4";
|
||||||
|
setData(dsn, "QStringList", QVariant(stringList));
|
||||||
|
// QVariant::TextFormat
|
||||||
|
setData(dsn, "QTextFormat", QVariant(QTextFormat()));
|
||||||
|
// QVariant::TextLength
|
||||||
|
setData(dsn, "QTextLength", QVariant(QTextLength()));
|
||||||
|
// QVariant::Time
|
||||||
|
setData(dsn, "QTime", QVariant(QTime(12, 34, 56)));
|
||||||
|
// QVariant::UInt
|
||||||
|
setData(dsn, "uint", QVariant((uint)4321));
|
||||||
|
// QVariant::ULongLong
|
||||||
|
setData(dsn, "qulonglong", QVariant((qulonglong)4321));
|
||||||
|
// QVariant::Url
|
||||||
|
setData(dsn, "QUrl", QVariant(QUrl("http://user:password@example.com:80/test.php?param1=foo¶m2=bar")));
|
||||||
|
// QVariant::UserType
|
||||||
|
MyUserType userType;
|
||||||
|
QVariant v;
|
||||||
|
v.setValue(userType);
|
||||||
|
setData(dsn, "UserType", v);
|
||||||
|
}; // init()
|
||||||
|
|
||||||
|
|
||||||
|
bool TestEngine::sourceRequestEvent(const QString &source)
|
||||||
|
{
|
||||||
|
// Nothing to do...
|
||||||
|
Q_UNUSED(source);
|
||||||
|
return true;
|
||||||
|
}; // sourceRequestEvent()
|
||||||
|
|
||||||
|
|
||||||
|
#include "testengine.moc"
|
53
tests/testengine/testengine.h
Normal file
53
tests/testengine/testengine.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2008 Gilles CHAUVIN <gcnweb+kde@gmail.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License either version 2, or
|
||||||
|
* (at your option) any later version as published by the Free Software
|
||||||
|
* Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public
|
||||||
|
* License along with this program; if not, write to the
|
||||||
|
* Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* A data engine meant to test the Plasma data engine explorer.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __TESTDATAENGINE_H__
|
||||||
|
#define __TESTDATAENGINE_H__
|
||||||
|
|
||||||
|
|
||||||
|
#include "plasma/dataengine.h"
|
||||||
|
|
||||||
|
|
||||||
|
class TestEngine : public Plasma::DataEngine
|
||||||
|
{
|
||||||
|
Q_OBJECT;
|
||||||
|
|
||||||
|
public:
|
||||||
|
struct MyUserType {
|
||||||
|
int a;
|
||||||
|
QString b;
|
||||||
|
};
|
||||||
|
|
||||||
|
TestEngine(QObject *parent, const QVariantList &args);
|
||||||
|
~TestEngine();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void init();
|
||||||
|
bool sourceRequestEvent(const QString &source);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
K_EXPORT_PLASMA_DATAENGINE(testengine, TestEngine)
|
||||||
|
|
||||||
|
|
||||||
|
#endif // __TESTDATAENGINE_H__
|
Loading…
x
Reference in New Issue
Block a user