• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

Kate

  • kde-4.14
  • applications
  • kate
  • part
  • utils
katepartpluginmanager.h
Go to the documentation of this file.
1 /* This file is part of the KDE libraries and the Kate part.
2  *
3  * Copyright (C) 2001-2010 Christoph Cullmann <cullmann@kde.org>
4  * Copyright (C) 2001 Joseph Wenninger <jowenn@kde.org>
5  * Copyright (C) 2001 Anders Lund <anders.lund@lund.tdcadsl.dk>
6  * Copyright (C) 2007 Dominik Haumann <dhaumann kde org>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public License
19  * along with this library; see the file COPYING.LIB. If not, write to
20  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21  * Boston, MA 02110-1301, USA.
22  */
23 
24 #ifndef KATEPARTPLUGINMANAGER_H
25 #define KATEPARTPLUGINMANAGER_H
26 
27 #include <kplugininfo.h>
28 #include <kservice.h>
29 
30 #include <QObject>
31 #include <QList>
32 
33 namespace KTextEditor {
34  class Plugin;
35  class Document;
36  class View;
37 }
38 
39 class KatePartPluginInfo
40 {
41  public:
42  KatePartPluginInfo(KService::Ptr service);
43  mutable bool load;
44  KTextEditor::Plugin *plugin;
45  QString saveName() const;
46  KService::Ptr service() const { return m_pluginInfo.service(); }
47  QStringList dependencies() const { return m_pluginInfo.dependencies(); }
48  bool isEnabledByDefault() const { return m_pluginInfo.isPluginEnabledByDefault(); }
49  private:
50  KPluginInfo m_pluginInfo;
51  QString m_saveName;
52 };
53 
54 typedef QList<KatePartPluginInfo> KatePartPluginList;
55 
56 class KatePartPluginManager : public QObject
57 {
58  Q_OBJECT
59 
60  public:
61  KatePartPluginManager();
62  ~KatePartPluginManager();
63 
64  static KatePartPluginManager *self();
65 
66  void loadConfig ();
67  void writeConfig ();
68 
69  void addDocument(KTextEditor::Document *doc);
70  void removeDocument(KTextEditor::Document *doc);
71 
72  void addView(KTextEditor::View *view);
73  void removeView(KTextEditor::View *view);
74 
75  void loadAllPlugins ();
76  void unloadAllPlugins ();
77 
78  void loadPlugin (KatePartPluginInfo &item);
79  void unloadPlugin (KatePartPluginInfo &item);
80 
81  void enablePlugin (KatePartPluginInfo &item);
82  void disablePlugin (KatePartPluginInfo &item);
83 
84  inline KatePartPluginList & pluginList ()
85  {
86  return m_pluginList;
87  }
88 
89  private:
90  void setupPluginList ();
91 
92  KConfig *m_config;
93  KatePartPluginList m_pluginList;
94 };
95 
96 #endif // KATEPARTPLUGINMANAGER_H
97 
98 // kate: space-indent on; indent-width 2; replace-tabs on;
KatePartPluginInfo
Definition: katepartpluginmanager.h:39
KatePartPluginManager::~KatePartPluginManager
~KatePartPluginManager()
Definition: katepartpluginmanager.cpp:61
KatePartPluginInfo::dependencies
QStringList dependencies() const
Definition: katepartpluginmanager.h:47
KatePartPluginList
QList< KatePartPluginInfo > KatePartPluginList
Definition: katepartpluginmanager.h:54
KatePartPluginInfo::service
KService::Ptr service() const
Definition: katepartpluginmanager.h:46
KatePartPluginManager::removeView
void removeView(KTextEditor::View *view)
Definition: katepartpluginmanager.cpp:136
KatePartPluginManager::enablePlugin
void enablePlugin(KatePartPluginInfo &item)
Definition: katepartpluginmanager.cpp:247
KatePartPluginManager::unloadPlugin
void unloadPlugin(KatePartPluginInfo &item)
Definition: katepartpluginmanager.cpp:226
KatePartPluginManager::writeConfig
void writeConfig()
Definition: katepartpluginmanager.cpp:164
KatePartPluginManager::removeDocument
void removeDocument(KTextEditor::Document *doc)
Definition: katepartpluginmanager.cpp:112
KatePartPluginManager::pluginList
KatePartPluginList & pluginList()
Definition: katepartpluginmanager.h:84
QObject
KatePartPluginInfo::isEnabledByDefault
bool isEnabledByDefault() const
Definition: katepartpluginmanager.h:48
KatePartPluginInfo::plugin
KTextEditor::Plugin * plugin
Definition: katepartpluginmanager.h:44
QString
QList< KatePartPluginInfo >
KatePartPluginInfo::KatePartPluginInfo
KatePartPluginInfo(KService::Ptr service)
Definition: katepartpluginmanager.cpp:40
QStringList
KatePartPluginManager::disablePlugin
void disablePlugin(KatePartPluginInfo &item)
Definition: katepartpluginmanager.cpp:274
KatePartPluginManager::unloadAllPlugins
void unloadAllPlugins()
Definition: katepartpluginmanager.cpp:186
KatePartPluginManager::loadAllPlugins
void loadAllPlugins()
Definition: katepartpluginmanager.cpp:173
KatePartPluginManager::addDocument
void addDocument(KTextEditor::Document *doc)
Definition: katepartpluginmanager.cpp:100
KatePartPluginInfo::saveName
QString saveName() const
Definition: katepartpluginmanager.cpp:45
KatePartPluginManager::addView
void addView(KTextEditor::View *view)
Definition: katepartpluginmanager.cpp:124
KatePartPluginManager
Definition: katepartpluginmanager.h:56
KatePartPluginInfo::load
bool load
Definition: katepartpluginmanager.h:43
KatePartPluginManager::loadConfig
void loadConfig()
Definition: katepartpluginmanager.cpp:148
KatePartPluginManager::KatePartPluginManager
KatePartPluginManager()
Definition: katepartpluginmanager.cpp:53
KatePartPluginManager::loadPlugin
void loadPlugin(KatePartPluginInfo &item)
Definition: katepartpluginmanager.cpp:198
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:58 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Kate

Skip menu "Kate"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal