kdatatool.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KDATATOOL_H
00022 #define KDATATOOL_H
00023
00024 #include <qobject.h>
00025 #include <qvaluelist.h>
00026
00027 #include <kaction.h>
00028 #include <kservice.h>
00029 #include <kdemacros.h>
00030
00031 class KDataTool;
00032 class QPixmap;
00033 class QStringList;
00034 class KInstance;
00035
00036
00037
00038
00048 class KDataToolInfo
00049 {
00050 public:
00054 KDataToolInfo();
00060 KDataToolInfo( const KService::Ptr& service, KInstance* instance );
00064 KDataToolInfo( const KDataToolInfo& info );
00068 KDataToolInfo& operator= ( const KDataToolInfo& info );
00069
00076 QString dataType() const;
00088 QStringList mimeTypes() const;
00089
00094 bool isReadOnly() const;
00095
00101 QPixmap icon() const KDE_DEPRECATED;
00107 QPixmap miniIcon() const KDE_DEPRECATED;
00112 QString iconName() const;
00126 QStringList userCommands() const;
00138 QStringList commands() const;
00139
00146 KDataTool* createTool( QObject* parent = 0, const char* name = 0 ) const;
00147
00152 KService::Ptr service() const;
00153
00158 KInstance* instance() const { return m_instance; }
00159
00165 bool isValid() const;
00166
00175 static QValueList<KDataToolInfo> query( const QString& datatype, const QString& mimetype, KInstance * instance );
00176
00177 private:
00178 KService::Ptr m_service;
00179 KInstance* m_instance;
00180 private:
00181 class KDataToolInfoPrivate* d;
00182 };
00183
00184
00195 class KDataToolAction : public KAction
00196 {
00197 Q_OBJECT
00198 public:
00208 KDataToolAction( const QString & text, const KDataToolInfo & info, const QString & command, QObject * parent = 0, const char * name = 0);
00209
00220 static QPtrList<KAction> dataToolActionList( const QValueList<KDataToolInfo> & tools, const QObject *receiver, const char* slot );
00221
00222 signals:
00228 void toolActivated( const KDataToolInfo & info, const QString & command );
00229
00230 protected:
00231 virtual void slotActivated();
00232
00233 private:
00234 QString m_command;
00235 KDataToolInfo m_info;
00236 protected:
00237 virtual void virtual_hook( int id, void* data );
00238 private:
00239 class KDataToolActionPrivate* d;
00240
00241 };
00242
00254 class KDataTool : public QObject
00255 {
00256 Q_OBJECT
00257 public:
00264 KDataTool( QObject* parent = 0, const char* name = 0 );
00265
00269 void setInstance( KInstance* instance ) { m_instance = instance; }
00270
00276 KInstance* instance() const;
00277
00291 virtual bool run( const QString& command, void* data, const QString& datatype, const QString& mimetype) = 0;
00292
00293 private:
00294 KInstance * m_instance;
00295 protected:
00296 virtual void virtual_hook( int id, void* data );
00297 private:
00298 class KDataToolPrivate;
00299 KDataToolPrivate * d;
00300 };
00301
00302 #endif
This file is part of the documentation for kio Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Mar 4 22:44:21 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003