// DO NOT EDIT! Generated from ecm_add_qtdesignerplugin()

#include <QDesignerCustomWidgetCollectionInterface>
#include <QDesignerCustomWidgetInterface>
#include <QObject>
#include <QIcon>
#include <QString>
#include <Akonadi/AgentInstanceWidget>
#include <Akonadi/EntityTreeView>
#include <Akonadi/TagSelectWidget>
#include <Akonadi/ManageAccountWidget>

class Akonadi__AgentInstanceWidgetQtDesignerWidgetFactory
    : public QObject
    , public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES(QDesignerCustomWidgetInterface)

public:
    explicit Akonadi__AgentInstanceWidgetQtDesignerWidgetFactory(QObject *parent = nullptr)
        : QObject(parent)
        , m_initialized(false)
    {}

    ~Akonadi__AgentInstanceWidgetQtDesignerWidgetFactory() override {}
    
public: // QDesignerCustomWidgetInterface API
    bool isInitialized() const override { return m_initialized; }

    bool isContainer() const override { return false; }
    QIcon icon() const override { return QIcon(); }
    QString group() const override { return QStringLiteral("Input (KDE-PIM)"); }
    QString includeFile() const override { return QStringLiteral("Akonadi/AgentInstanceWidget"); }
    QString name() const override { return QStringLiteral("Akonadi::AgentInstanceWidget"); }
    QString toolTip() const override { return QStringLiteral("Akonadi Agent Instance Settings (Akonadi)"); }
    QString whatsThis() const override { return QStringLiteral("A widget to configure akonadi instance."); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new Akonadi::AgentInstanceWidget(parent);
    }

    void initialize(QDesignerFormEditorInterface* core) override 
    {
        Q_UNUSED(core);

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

class Akonadi__EntityTreeViewQtDesignerWidgetFactory
    : public QObject
    , public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES(QDesignerCustomWidgetInterface)

public:
    explicit Akonadi__EntityTreeViewQtDesignerWidgetFactory(QObject *parent = nullptr)
        : QObject(parent)
        , m_initialized(false)
    {}

    ~Akonadi__EntityTreeViewQtDesignerWidgetFactory() override {}
    
public: // QDesignerCustomWidgetInterface API
    bool isInitialized() const override { return m_initialized; }

    bool isContainer() const override { return false; }
    QIcon icon() const override { return QIcon(); }
    QString group() const override { return QStringLiteral("Input (KDE-PIM)"); }
    QString includeFile() const override { return QStringLiteral("Akonadi/EntityTreeView"); }
    QString name() const override { return QStringLiteral("Akonadi::EntityTreeView"); }
    QString toolTip() const override { return QStringLiteral("A view to show an item/collection tree provided by an EntityTreeModel (Akonadi)"); }
    QString whatsThis() const override { return QStringLiteral("A view to show an item/collection tree provided by an EntityTreeModel."); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new Akonadi::EntityTreeView(parent);
    }

    void initialize(QDesignerFormEditorInterface* core) override 
    {
        Q_UNUSED(core);

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

class Akonadi__TagSelectWidgetQtDesignerWidgetFactory
    : public QObject
    , public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES(QDesignerCustomWidgetInterface)

public:
    explicit Akonadi__TagSelectWidgetQtDesignerWidgetFactory(QObject *parent = nullptr)
        : QObject(parent)
        , m_initialized(false)
    {}

    ~Akonadi__TagSelectWidgetQtDesignerWidgetFactory() override {}
    
public: // QDesignerCustomWidgetInterface API
    bool isInitialized() const override { return m_initialized; }

    bool isContainer() const override { return false; }
    QIcon icon() const override { return QIcon(); }
    QString group() const override { return QStringLiteral("Input (KDE-PIM)"); }
    QString includeFile() const override { return QStringLiteral("Akonadi/TagSelectWidget"); }
    QString name() const override { return QStringLiteral("Akonadi::TagSelectWidget"); }
    QString toolTip() const override { return QStringLiteral("A Widget to select tag (Akonadi)"); }
    QString whatsThis() const override { return QStringLiteral("A Widget to select tag."); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new Akonadi::TagSelectWidget(parent);
    }

    void initialize(QDesignerFormEditorInterface* core) override 
    {
        Q_UNUSED(core);

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

class Akonadi__ManageAccountWidgetQtDesignerWidgetFactory
    : public QObject
    , public QDesignerCustomWidgetInterface
{
    Q_OBJECT
    Q_INTERFACES(QDesignerCustomWidgetInterface)

public:
    explicit Akonadi__ManageAccountWidgetQtDesignerWidgetFactory(QObject *parent = nullptr)
        : QObject(parent)
        , m_initialized(false)
    {}

    ~Akonadi__ManageAccountWidgetQtDesignerWidgetFactory() override {}
    
public: // QDesignerCustomWidgetInterface API
    bool isInitialized() const override { return m_initialized; }

    bool isContainer() const override { return false; }
    QIcon icon() const override { return QIcon(); }
    QString group() const override { return QStringLiteral("Input (KDE-PIM)"); }
    QString includeFile() const override { return QStringLiteral("Akonadi/ManageAccountWidget"); }
    QString name() const override { return QStringLiteral("Akonadi::ManageAccountWidget"); }
    QString toolTip() const override { return QStringLiteral("A Widget to Manage Akonadi Account (KDE-PIM)"); }
    QString whatsThis() const override { return QStringLiteral("A Widget to Manage Akonadi Account."); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new Akonadi::ManageAccountWidget(parent);
    }

    void initialize(QDesignerFormEditorInterface* core) override 
    {
        Q_UNUSED(core);

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

class AkonadiWidgetsQtDesignerWidgetCollection
    : public QObject
    , public QDesignerCustomWidgetCollectionInterface
{
    Q_OBJECT
    Q_INTERFACES(
        QDesignerCustomWidgetCollectionInterface
    )

    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetCollectionInterface")

public:
    explicit AkonadiWidgetsQtDesignerWidgetCollection(QObject* parent = nullptr);

public: // QDesignerCustomWidgetCollectionInterface API
    QList<QDesignerCustomWidgetInterface*> customWidgets() const override;

private:
    QList<QDesignerCustomWidgetInterface*> m_widgetFactories;
};

AkonadiWidgetsQtDesignerWidgetCollection::AkonadiWidgetsQtDesignerWidgetCollection(QObject* parent)
    : QObject(parent)
{
    m_widgetFactories = QList<QDesignerCustomWidgetInterface*>{
        new Akonadi__AgentInstanceWidgetQtDesignerWidgetFactory(this),
        new Akonadi__EntityTreeViewQtDesignerWidgetFactory(this),
        new Akonadi__TagSelectWidgetQtDesignerWidgetFactory(this),
        new Akonadi__ManageAccountWidgetQtDesignerWidgetFactory(this),
    };
}

QList<QDesignerCustomWidgetInterface*> AkonadiWidgetsQtDesignerWidgetCollection::customWidgets() const
{
    return m_widgetFactories;
}

#include "designerplugin.moc"
