summaryrefslogtreecommitdiffstats
path: root/khtml/java/kjavaappletviewer.h
diff options
context:
space:
mode:
Diffstat (limited to 'khtml/java/kjavaappletviewer.h')
-rw-r--r--khtml/java/kjavaappletviewer.h145
1 files changed, 145 insertions, 0 deletions
diff --git a/khtml/java/kjavaappletviewer.h b/khtml/java/kjavaappletviewer.h
new file mode 100644
index 000000000..4d8b676cd
--- /dev/null
+++ b/khtml/java/kjavaappletviewer.h
@@ -0,0 +1,145 @@
+// -*- c++ -*-
+
+/* This file is part of the KDE project
+ *
+ * Copyright (C) 2003 Koos Vriezen <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * 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 KJAVAAPPLETVIEWER_H
+#define KJAVAAPPLETVIEWER_H
+
+#include <kparts/part.h>
+#include <kparts/browserextension.h>
+#include <kparts/statusbarextension.h>
+#include <kparts/factory.h>
+#include <kdialogbase.h>
+#include <kurl.h>
+#include <qobject.h>
+#include <qstringlist.h>
+#include <qguardedptr.h>
+
+#include "kjavaappletwidget.h"
+
+class QTable;
+class QLabel;
+class KJavaProcess;
+class KJavaAppletViewer;
+class KAboutData;
+class KInstance;
+class KConfig;
+class CoverWidget;
+
+class KJavaAppletViewerBrowserExtension : public KParts::BrowserExtension {
+ Q_OBJECT
+public:
+ KJavaAppletViewerBrowserExtension (KJavaAppletViewer *parent);
+ void urlChanged (const QString & url);
+ void setLoadingProgress (int percentage);
+
+ void setURLArgs (const KParts::URLArgs & args);
+ void saveState (QDataStream & stream);
+ void restoreState (QDataStream & stream);
+public slots:
+ void showDocument (const QString & doc, const QString & frame);
+};
+
+class KJavaAppletViewerLiveConnectExtension : public KParts::LiveConnectExtension {
+ Q_OBJECT
+public:
+ KJavaAppletViewerLiveConnectExtension(KJavaAppletViewer * parent);
+
+ bool get (const unsigned long objid, const QString & field, KParts::LiveConnectExtension::Type & type, unsigned long & retobjid, QString & value);
+ bool put(const unsigned long, const QString & field, const QString & value);
+ bool call (const unsigned long , const QString & func, const QStringList & args, KParts::LiveConnectExtension::Type & type, unsigned long & retobjid, QString & value);
+ void unregister (const unsigned long objid);
+
+ int jsSessions () const { return m_jssessions; }
+public slots:
+ void jsEvent (const QStringList & args);
+signals:
+ virtual void partEvent (const unsigned long objid, const QString & event, const KParts::LiveConnectExtension::ArgList & args);
+
+private:
+ KJavaAppletViewer * m_viewer;
+ static int m_jssessions;
+};
+
+class KJavaAppletViewer : public KParts::ReadOnlyPart {
+ Q_OBJECT
+public:
+ KJavaAppletViewer (QWidget * wparent, const char * wname,
+ QObject * parent, const char * name, const QStringList &args);
+ ~KJavaAppletViewer ();
+ CoverWidget * view () const { return m_view; }
+ static KAboutData* createAboutData ();
+
+ KJavaAppletViewerBrowserExtension * browserextension() const
+ { return m_browserextension; }
+ KParts::LiveConnectExtension * liveConnectExtension () const
+ { return m_liveconnect; }
+
+ bool eventFilter (QObject *o, QEvent *e);
+
+ bool appletAlive () const;
+public slots:
+ virtual bool openURL (const KURL & url);
+ virtual bool closeURL ();
+ void appletLoaded ();
+ void infoMessage (const QString &);
+protected:
+ bool openFile();
+private slots:
+ void delayedCreateTimeOut ();
+private:
+ QGuardedPtr <CoverWidget> m_view;
+ KConfig * m_config;
+ KJavaProcess * process;
+ KJavaAppletViewerBrowserExtension * m_browserextension;
+ KJavaAppletViewerLiveConnectExtension * m_liveconnect;
+ KParts::StatusBarExtension * m_statusbar;
+ QGuardedPtr <QLabel> m_statusbar_icon;
+ QString baseurl;
+ bool m_closed;
+};
+
+class KJavaAppletViewerFactory : public KParts::Factory {
+ Q_OBJECT
+public:
+ KJavaAppletViewerFactory ();
+ virtual ~KJavaAppletViewerFactory ();
+ virtual KParts::Part *createPartObject
+ (QWidget *wparent, const char *wname,
+ QObject *parent, const char *name,
+ const char *className, const QStringList &args);
+ static KInstance * instance () { return s_instance; }
+private:
+ static KInstance * s_instance;
+};
+
+class AppletParameterDialog : public KDialogBase {
+ Q_OBJECT
+public:
+ AppletParameterDialog (KJavaAppletWidget * parent);
+protected slots:
+ void slotClose ();
+private:
+ KJavaAppletWidget * m_appletWidget;
+ QTable * table;
+};
+
+#endif