Pimcommon

abstractgenericplugin.h
1/*
2 SPDX-FileCopyrightText: 2016-2024 Laurent Montel <montel@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include "pimcommon_export.h"
10#include <QObject>
11namespace PimCommon
12{
13class AbstractGenericPluginInterface;
14/**
15 * @brief The AbstractGenericPlugin class
16 * @author Laurent Montel <montel@kde.org>
17 */
18class PIMCOMMON_EXPORT AbstractGenericPlugin : public QObject
19{
20 Q_OBJECT
21public:
22 explicit AbstractGenericPlugin(QObject *parent = nullptr);
23 ~AbstractGenericPlugin() override;
24
25 virtual PimCommon::AbstractGenericPluginInterface *createInterface(QObject *parent = nullptr) = 0;
26 [[nodiscard]] virtual bool hasPopupMenuSupport() const;
27 [[nodiscard]] virtual bool hasToolBarSupport() const;
28 [[nodiscard]] virtual bool hasConfigureDialog() const;
29 [[nodiscard]] virtual bool hasStatusBarSupport() const;
30
31 virtual void showConfigureDialog(QWidget *parent = nullptr);
32
33 void setIsEnabled(bool enabled);
34 [[nodiscard]] bool isEnabled() const;
35
36Q_SIGNALS:
37 void configChanged();
38
39private:
40 bool mIsEnabled = true;
41};
42}
The AbstractGenericPlugin class.
folderdialogacltab.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 22 2024 12:12:05 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.