diff options
Diffstat (limited to 'kparts/browserinterface.h')
-rw-r--r-- | kparts/browserinterface.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/kparts/browserinterface.h b/kparts/browserinterface.h new file mode 100644 index 000000000..d74b64bb2 --- /dev/null +++ b/kparts/browserinterface.h @@ -0,0 +1,54 @@ +#ifndef __browserinterface_h__ +#define __browserinterface_h__ + +#include <qobject.h> +#include <qvariant.h> + +#include <kdelibs_export.h> + +namespace KParts +{ + +/** + * The purpose of this interface is to allow a direct communication between + * a KPart and the hosting browser shell (for example Konqueror) . A + * shell implementing this interface can propagate it to embedded kpart + * components by using the setBrowserInterface call of the part's + * KParts::BrowserExtension object. + * + * This interface looks not very rich, but the main functionality is + * implemented using the callMethod method for part->shell + * communication and using Qt properties for allowing a part to + * to explicitly query information from the shell. + * + * Konqueror in particular, as 'reference' implementation, provides + * the following functionality through this interface: + * + * Qt properties: + * <code> + * Q_PROPERTY( uint historyLength READ historyLength ); + * </code> + * + * Callable methods: + * <code> + * void goHistory( int ); + * </code> + * + */ +class KPARTS_EXPORT BrowserInterface : public QObject +{ + Q_OBJECT +public: + BrowserInterface( QObject *parent, const char *name = 0 ); + virtual ~BrowserInterface(); + + /** + * Perform a dynamic invocation of a method in the BrowserInterface + * implementation. Methods are to be implemented as simple Qt slots. + */ + void callMethod( const char *name, const QVariant &argument ); +}; + +} + +#endif |