Pimcommon

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

KDE's Doxygen guidelines are available online.