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

libs/libkipi/libkipi

  • sources
  • kde-4.12
  • kdegraphics
  • libs
  • libkipi
  • libkipi
plugin.h
Go to the documentation of this file.
1 
34 #ifndef KIPI_PLUGIN_H
35 #define KIPI_PLUGIN_H
36 
37 // Qt includes
38 
39 #include <QtCore/QObject>
40 #include <QtCore/QList>
41 #include <QtCore/QHash>
42 #include <QtXml/QDomElement>
43 #include <QtXml/QDomNode>
44 #include <QtXml/QDomDocument>
45 
46 // KDE includes
47 
48 #include <kxmlguiclient.h>
49 
50 // Local includes
51 
52 #include "libkipi_export.h"
53 
54 class KAction;
55 class KActionCollection;
56 class KComponentData;
57 
58 namespace KIPI
59 {
60 
61 class Interface;
62 
63 enum Category
64 {
65  InvalidCategory = -1,
66  ImagesPlugin = 0,
67  ToolsPlugin,
68  ImportPlugin,
69  ExportPlugin,
70  BatchPlugin,
71  CollectionsPlugin
72 };
73 
79 class LIBKIPI_EXPORT Plugin : public QObject, public KXMLGUIClient
80 {
81  Q_OBJECT
82 
83  typedef QList<QDomElement> QDomElemList;
84  typedef QHash<QString, QDomElemList> QHashPath;
85  typedef QMap<QWidget*, QMap<KAction*, Category> > ActionCategoryMap;
86 
87 public:
88 
96  Plugin(const KComponentData& instance, QObject* const parent, const char* name);
97 
104  virtual ~Plugin();
105 
111  QList<KAction*> actions(QWidget* const widget = 0) const;
112 
116  Interface* interface() const;
117 
124  virtual void setup(QWidget* const widget) = 0;
125 
130  Category category(KAction* const action) const;
131 
135  void rebuild();
136 
137 protected:
138 
151  void addAction(const QString& name, KAction* const action);
152 
163  void addAction(const QString& name, KAction* const action, Category cat);
164 
170  void setDefaultCategory(Category cat);
171 
177  Category defaultCategory() const;
178 
188  void setUiBaseName(const char* name);
189 
195  QString uiBaseName() const;
196 
203  void setupXML();
204 
205 private:
206 
209  void addAction(KAction* const action);
210  void addAction(KAction* const action, Category cat);
211 
212  void mergeXMLFile(KXMLGUIClient* const host);
213  void clearActions();
214 
215 private:
216 
217  class Private;
218  Private* const d;
219 };
220 
221 } // namespace KIPI
222 
223 #endif // KIPI_PLUGIN_H
KIPI::ImagesPlugin
Definition: plugin.h:66
KXMLGUIClient
KIPI::InvalidCategory
Definition: plugin.h:65
QWidget
KIPI::Interface
Definition: interface.h:158
LIBKIPI_EXPORT
#define LIBKIPI_EXPORT
Definition: libkipi_export.h:39
KIPI::Plugin
Base class for the KIPI plugins.
Definition: plugin.h:79
QObject
libkipi_export.h
===========================================================This file is part of the KDE project ...
KIPI::CollectionsPlugin
Definition: plugin.h:71
KIPI::BatchPlugin
Definition: plugin.h:70
KIPI::ExportPlugin
Definition: plugin.h:69
KIPI::ToolsPlugin
Definition: plugin.h:67
KIPI::Category
Category
Definition: plugin.h:63
KIPI::ImportPlugin
Definition: plugin.h:68
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:45:21 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

libs/libkipi/libkipi

Skip menu "libs/libkipi/libkipi"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdegraphics API Reference

Skip menu "kdegraphics API Reference"
  •     libkdcraw
  •     libkexiv2
  •     libkipi
  •     libksane
  • okular

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