// DO NOT EDIT! Generated from ecm_add_qtdesignerplugin()

#include <QDesignerCustomWidgetCollectionInterface>
#include <QDesignerCustomWidgetInterface>
#include <QObject>
#include <QIcon>
#include <QString>
#include <kcategorizedview.h>
#include <klistwidgetsearchline.h>
#include <ktreewidgetsearchline.h>
#include <ktreewidgetsearchlinewidget.h>
#include <kfilterproxysearchline.h>

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

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

    ~KCategorizedViewQtDesignerWidgetFactory() 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("Views (KF5)"); }
    QString includeFile() const override { return QStringLiteral("kcategorizedview.h"); }
    QString name() const override { return QStringLiteral("KCategorizedView"); }
    QString toolTip() const override { return QStringLiteral("Categorized Item View (KF5)"); }
    QString whatsThis() const override { return QStringLiteral("Item view for listing items in a categorized fashion optionally."); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new KCategorizedView(parent);
    }

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

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

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

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

    ~KListWidgetSearchLineQtDesignerWidgetFactory() 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 (KF5)"); }
    QString includeFile() const override { return QStringLiteral("klistwidgetsearchline.h"); }
    QString name() const override { return QStringLiteral("KListWidgetSearchLine"); }
    QString toolTip() const override { return QStringLiteral("QListWidget Search Line (KF5)"); }
    QString whatsThis() const override { return QStringLiteral("QListWidget Search Line (KF5)"); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new KListWidgetSearchLine(parent);
    }

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

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

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

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

    ~KTreeWidgetSearchLineQtDesignerWidgetFactory() 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 (KF5)"); }
    QString includeFile() const override { return QStringLiteral("ktreewidgetsearchline.h"); }
    QString name() const override { return QStringLiteral("KTreeWidgetSearchLine"); }
    QString toolTip() const override { return QStringLiteral("QTreeWidget Search Line (KF5)"); }
    QString whatsThis() const override { return QStringLiteral("QTreeWidget Search Line (KF5)"); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new KTreeWidgetSearchLine(parent);
    }

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

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

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

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

    ~KTreeWidgetSearchLineWidgetQtDesignerWidgetFactory() 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 (KF5)"); }
    QString includeFile() const override { return QStringLiteral("ktreewidgetsearchlinewidget.h"); }
    QString name() const override { return QStringLiteral("KTreeWidgetSearchLineWidget"); }
    QString toolTip() const override { return QStringLiteral("QTreeWidget Search Line Widget (KF5)"); }
    QString whatsThis() const override { return QStringLiteral("QTreeWidget Search Line Widget (KF5)"); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new KTreeWidgetSearchLineWidget(parent);
    }

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

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

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

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

    ~KFilterProxySearchLineQtDesignerWidgetFactory() 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 (KF5 - Deprecated)"); }
    QString includeFile() const override { return QStringLiteral("kfilterproxysearchline.h"); }
    QString name() const override { return QStringLiteral("KFilterProxySearchLine"); }
    QString toolTip() const override { return QStringLiteral("Filter proxy search line"); }
    QString whatsThis() const override { return QStringLiteral("A search line widget which works on a QSortFilterProxyModel"); }

    QWidget* createWidget(QWidget* parent) override
    {
        return new KFilterProxySearchLine(parent);
    }

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

        if (m_initialized) return;

        m_initialized = true;
    }

private:
    bool m_initialized;
};

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

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

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

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

private:
    QList<QDesignerCustomWidgetInterface*> m_widgetFactories;
};

KItemViewsWidgetsQtDesignerWidgetCollection::KItemViewsWidgetsQtDesignerWidgetCollection(QObject* parent)
    : QObject(parent)
{
    m_widgetFactories = QList<QDesignerCustomWidgetInterface*>{
        new KCategorizedViewQtDesignerWidgetFactory(this),
        new KListWidgetSearchLineQtDesignerWidgetFactory(this),
        new KTreeWidgetSearchLineQtDesignerWidgetFactory(this),
        new KTreeWidgetSearchLineWidgetQtDesignerWidgetFactory(this),
        new KFilterProxySearchLineQtDesignerWidgetFactory(this),
    };
}

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

#include "designerplugin.moc"
