diff options
Diffstat (limited to 'sources/shiboken6/tests/libsample/objecttype.h')
-rw-r--r-- | sources/shiboken6/tests/libsample/objecttype.h | 127 |
1 files changed, 53 insertions, 74 deletions
diff --git a/sources/shiboken6/tests/libsample/objecttype.h b/sources/shiboken6/tests/libsample/objecttype.h index caa50f02e..498556459 100644 --- a/sources/shiboken6/tests/libsample/objecttype.h +++ b/sources/shiboken6/tests/libsample/objecttype.h @@ -1,41 +1,15 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of Qt for Python. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef OBJECTTYPE_H #define OBJECTTYPE_H -#include <list> #include "str.h" #include "null.h" #include "libsamplemacros.h" -#include <stddef.h> +#include <list> struct Event { @@ -51,11 +25,12 @@ struct Event Value2 }; - Event(EventType eventType) : m_eventType(eventType) {} - EventType eventType() { return m_eventType; } + explicit Event(EventType eventType) : m_eventType(eventType) {} + EventType eventType() const { return m_eventType; } void setEventType(EventType et) { m_eventType = et; } void setEventTypeByConstRef(const EventType &et) { m_eventType = et; } + void setEventTypeByConstPtr(const EventType *etPtr) { m_eventType = *etPtr; } private: EventType m_eventType; @@ -73,67 +48,72 @@ public: explicit ObjectType(ObjectType *parent = nullptr); virtual ~ObjectType(); + ObjectType(const ObjectType &) = delete; + ObjectType &operator=(const ObjectType &) = delete; + ObjectType(ObjectType &&) noexcept; + ObjectType &operator=(ObjectType &&) noexcept; // factory method - inline static ObjectType* create() { return new ObjectType(); } - static ObjectType* createWithChild(); - - static const ObjectType *defaultInstance(); - - void setParent(ObjectType* parent); - inline ObjectType* parent() const { return m_parent; } - inline const ObjectTypeList& children() const { return m_children; } - void killChild(const Str& name); - void removeChild(ObjectType* child); - ObjectType* takeChild(ObjectType* child); - virtual ObjectType* takeChild(const Str& name); - ObjectType* findChild(const Str& name); + inline static ObjectType *create() { return new ObjectType(); } + static ObjectType *createWithChild(); + + void setParent(ObjectType *parent); + inline ObjectType *parent() const { return m_parent; } + inline const ObjectTypeList &children() const { return m_children; } + void killChild(const Str &name); + void removeChild(ObjectType *child); + ObjectType *takeChild(ObjectType *child); + virtual ObjectType *takeChild(const Str &name); + ObjectType *findChild(const Str &name); Str objectName() const; - void setObjectName(const Str& name); + void setObjectName(const Str &name); inline Identifier identifier() const { return reinterpret_cast<Identifier>(this); } bool causeEvent(Event::EventType eventType); // Returns true if the event is processed. - virtual bool event(Event* event); + virtual bool event(Event *event); static int processEvent(ObjectTypeList objects, Event *event); - void callInvalidateEvent(Event* event); - virtual void invalidateEvent(Event* event) {} + void callInvalidateEvent(Event *event); + virtual void invalidateEvent(Event *event); // This nonsense method emulate QWidget.setLayout method // All layout objects will became children of this object. - void setLayout(ObjectTypeLayout* layout); - inline ObjectTypeLayout* layout() const { return m_layout; } + void setLayout(ObjectTypeLayout *layout); + inline ObjectTypeLayout *layout() const { return m_layout; } // This method should be reimplemented by ObjectTypeLayout. virtual bool isLayoutType() { return false; } - unsigned char callWithEnum(const Str& prefix, Event::EventType type, unsigned char value=80); - unsigned char callWithEnum(const Str& prefix, unsigned char value=0); + unsigned char callWithEnum(const Str &prefix, Event::EventType type, + unsigned char value=80); + unsigned char callWithEnum(const Str &prefix, unsigned char value=0); //Functions used in test with named arguments - void setObjectSplittedName(const char*, const Str& prefix = Str("<unk"), const Str& suffix = Str("nown>")); - void setObjectNameWithSize(const char*, int size=9, const Str& name = Str("<unknown>")); - void setObjectNameWithSize(const Str& name = Str("<unknown>"), int size=9); + void setObjectSplittedName(const char *, const Str &prefix = Str("<unk"), + const Str &suffix = Str("nown>")); + void setObjectNameWithSize(const char *, int size=9, + const Str &name = Str("<unknown>")); + void setObjectNameWithSize(const Str &name = Str("<unknown>"), int size = 9); //Function used to confuse the generator when two values accept Null as arg void setObject(ObjectType *); - void setObject(const Null&); + void setObject(const Null &); int callId() const; //Function used to create a parent from C++ virtual bool isPython() { return false; } void callVirtualCreateChild(); - virtual ObjectType* createChild(ObjectType* parent); + virtual ObjectType *createChild(ObjectType *parent); static std::size_t createObjectType(); //return a parent from C++ - ObjectType* getCppParent() { + ObjectType *getCppParent() { if (!m_parent) { - ObjectType* parent = new ObjectType(); + ObjectType *parent = new ObjectType(); setParent(parent); } return m_parent; @@ -148,40 +128,39 @@ public: // nextInFocusChain simply returns the parent to test object cycles; the parent // may be returned by the QWidget's implementation but isn't always returned - ObjectType* nextInFocusChain() { return m_parent; } + ObjectType *nextInFocusChain() { return m_parent; } private: - ObjectType(const ObjectType&); - ObjectType& operator=(const ObjectType&); - - ObjectTypeLayout* takeLayout(); + ObjectTypeLayout *takeLayout(); + ObjectTypeList::iterator findChildByName(const Str &name); Str m_objectName; - ObjectType* m_parent; + ObjectType *m_parent = nullptr; ObjectTypeList m_children; - ObjectTypeLayout* m_layout; - - + ObjectTypeLayout *m_layout = nullptr; //used on overload null test - int m_call_id; + int m_call_id = -1; }; -LIBSAMPLE_API unsigned int objectTypeHash(const ObjectType* objectType); +LIBSAMPLE_API unsigned int objectTypeHash(const ObjectType *objectType); class LIBSAMPLE_API OtherBase { public: - OtherBase() {}; + LIBMINIMAL_DISABLE_COPY_MOVE(OtherBase) + + OtherBase() noexcept = default; virtual ~OtherBase(); }; class LIBSAMPLE_API ObjectTypeDerived: public ObjectType, public OtherBase { public: - ObjectTypeDerived(): ObjectType(), OtherBase() {}; + LIBMINIMAL_DISABLE_COPY_MOVE(ObjectTypeDerived) - bool event(Event* event) override; + ObjectTypeDerived() noexcept = default; + + bool event(Event *event) override; ~ObjectTypeDerived() override; }; #endif // OBJECTTYPE_H - |