/* * This file is part of the PySide project. * * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). * * Contact: PySide team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef TESTOBJECT_H #define TESTOBJECT_H #include #include #include #include #ifdef pysidetest_EXPORTS #define PYSIDE_EXPORTS 1 #endif #include "pysidemacros.h" class IntValue { public: IntValue(int val): value(val){}; IntValue() : value(0) {}; int value; }; typedef IntValue TypedefValue; class PYSIDE_API TestObject : public QObject { Q_OBJECT public: static void createApp() { int argc=0; new QApplication(argc, 0); }; static int checkType(const QVariant& var) { return (int)var.type(); } TestObject(int idValue, QObject* parent = 0) : QObject(parent), m_idValue(idValue) {} int idValue() const { return m_idValue; } static int staticMethodDouble(int value) { return value * 2; } void addChild(QObject* c) { m_children.append(c); emit childrenChanged(m_children); } void emitIdValueSignal(); void emitStaticMethodDoubleSignal(); void emitSignalWithDefaultValue_void(); void emitSignalWithDefaultValue_bool(); void emitSignalWithTypedefValue(int value); signals: void idValue(int newValue); void justASignal(); void staticMethodDouble(); void childrenChanged(const QList&); void signalWithDefaultValue(bool value = false); void signalWithTypedefValue(TypedefValue value); private: int m_idValue; QList m_children; }; typedef int PySideInt; namespace PySideCPP { class PYSIDE_API TestObjectWithNamespace : public QObject { Q_OBJECT public: TestObjectWithNamespace(QObject* parent) : QObject(parent) {} QString name() { return "TestObjectWithNamespace"; } void callSignal(TestObjectWithNamespace* obj) { emitSignal(obj); } void callSignalWithNamespace(TestObjectWithNamespace* obj) { emitSignalWithNamespace(obj); } void callSignalWithTypedef(int val) { emitSignalWithTypedef(val); } signals: void emitSignal(TestObjectWithNamespace* obj); void emitSignalWithNamespace(PySideCPP::TestObjectWithNamespace* obj); void emitSignalWithTypedef(PySideInt val); }; } // Namespace PySideCPP namespace PySideCPP2 { enum Enum1 { Option1 = 1, Option2 = 2 }; typedef long PySideLong; class PYSIDE_API TestObjectWithoutNamespace : public QObject { Q_OBJECT public: enum Enum2 { Option3 = 3, Option4 = 4}; TestObjectWithoutNamespace(QObject* parent) : QObject(parent) {} QString name() { return "TestObjectWithoutNamespace"; } void callSignal(TestObjectWithoutNamespace* obj) { emitSignal(obj); } void callSignalWithNamespace(TestObjectWithoutNamespace* obj) { emitSignalWithNamespace(obj); } void callSignalWithTypedef(long val) { emitSignalWithTypedef(val); } signals: void emitSignal(TestObjectWithoutNamespace* obj); void emitSignalWithNamespace(PySideCPP2::TestObjectWithoutNamespace* obj); void emitSignalWithTypedef(PySideLong val); }; } // Namespace PySideCPP2 #endif // TESTOBJECT_H