summaryrefslogtreecommitdiffstats
path: root/kate/interfaces/pluginconfiginterfaceextension.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit4aed2c8219774f5d797760606b8489a92ddc5163 (patch)
tree3f8c130f7d269626bf6a9447407ef6c35954426a /kate/interfaces/pluginconfiginterfaceextension.h
downloadtdebase-4aed2c8219774f5d797760606b8489a92ddc5163.tar.gz
tdebase-4aed2c8219774f5d797760606b8489a92ddc5163.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kate/interfaces/pluginconfiginterfaceextension.h')
-rw-r--r--kate/interfaces/pluginconfiginterfaceextension.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/kate/interfaces/pluginconfiginterfaceextension.h b/kate/interfaces/pluginconfiginterfaceextension.h
new file mode 100644
index 000000000..4c4169179
--- /dev/null
+++ b/kate/interfaces/pluginconfiginterfaceextension.h
@@ -0,0 +1,104 @@
+/* This file is part of the KDE project
+ Copyright (C) 2001 Christoph Cullmann <cullmann@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License version 2 as published by the Free Software Foundation.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef __kate_pluginconfiginterfaceextension_h__
+#define __kate_pluginconfiginterfaceextension_h__
+
+#include <qwidget.h>
+#include <qpixmap.h>
+#include <kicontheme.h>
+
+namespace Kate
+{
+
+class KDE_EXPORT PluginConfigPage : public QWidget
+{
+ Q_OBJECT
+
+ public:
+ PluginConfigPage ( QWidget *parent=0, const char *name=0 );
+ virtual ~PluginConfigPage ();
+
+ //
+ // slots !!!
+ //
+ public:
+ /**
+ Applies the changes to the document
+ */
+ virtual void apply () = 0;
+
+ /**
+ Reset the changes
+ */
+ virtual void reset () = 0;
+
+ /**
+ Sets default options
+ */
+ virtual void defaults () = 0;
+
+ signals:
+ void changed();
+};
+
+/*
+* This is an interface for the KTextEditor::Document/Plugin/ViewPlugin classes !!!
+*/
+class KDE_EXPORT PluginConfigInterfaceExtension
+{
+ friend class PrivatePluginConfigInterfaceExtension;
+
+ public:
+ PluginConfigInterfaceExtension();
+ virtual ~PluginConfigInterfaceExtension();
+
+ unsigned int pluginConfigInterfaceExtensionNumber () const;
+
+ //
+ // slots !!!
+ //
+ public:
+ /**
+ Number of available config pages
+ */
+ virtual uint configPages () const = 0;
+
+ /**
+ returns config page with the given number,
+ config pages from 0 to configPages()-1 are available
+ if configPages() > 0
+ */
+ virtual PluginConfigPage *configPage (uint number = 0, QWidget *parent = 0, const char *name=0 ) = 0;
+
+ virtual QString configPageName (uint number = 0) const = 0;
+ virtual QString configPageFullName (uint number = 0) const = 0;
+ virtual QPixmap configPagePixmap (uint number = 0, int size = KIcon::SizeSmall) const = 0;
+
+ private:
+ class PrivatePluginConfigInterfaceExtension *d;
+ static unsigned int globalPluginConfigInterfaceExtensionNumber;
+ unsigned int myPluginConfigInterfaceExtensionNumber;
+};
+
+class Plugin;
+KDE_EXPORT PluginConfigInterfaceExtension *pluginConfigInterfaceExtension (Plugin *plugin);
+
+}
+
+#endif