00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
#ifndef KJAVAAPPLETVIEWER_H
00024
#define KJAVAAPPLETVIEWER_H
00025
00026
#include <kparts/part.h>
00027
#include <kparts/browserextension.h>
00028
#include <kparts/factory.h>
00029
#include <kdialogbase.h>
00030
#include <kurl.h>
00031
#include <qobject.h>
00032
#include <qstringlist.h>
00033
#include <qguardedptr.h>
00034
00035
#include "kjavaappletwidget.h"
00036
00037
class QTable;
00038
class KJavaProcess;
00039
class KJavaAppletViewer;
00040
class KAboutData;
00041
class KInstance;
00042
class KConfig;
00043
class CoverWidget;
00044
00045
class KJavaAppletViewerBrowserExtension :
public KParts::BrowserExtension {
00046 Q_OBJECT
00047
public:
00048 KJavaAppletViewerBrowserExtension (KJavaAppletViewer *parent);
00049
void urlChanged (
const QString & url);
00050
void setLoadingProgress (
int percentage);
00051
00052
void setURLArgs (
const KParts::URLArgs & args);
00053
void saveState (
QDataStream & stream);
00054
void restoreState (
QDataStream & stream);
00055
public slots:
00056
void showDocument (
const QString & doc,
const QString & frame);
00057 };
00058
00059
class KJavaAppletViewerLiveConnectExtension :
public KParts::
LiveConnectExtension {
00060 Q_OBJECT
00061
public:
00062 KJavaAppletViewerLiveConnectExtension(KJavaAppletViewer * parent);
00063
00064
bool get (
const unsigned long objid,
const QString & field, KParts::LiveConnectExtension::Type & type,
unsigned long & retobjid,
QString & value);
00065
bool put(
const unsigned long,
const QString & field,
const QString & value);
00066
bool call (
const unsigned long ,
const QString & func,
const QStringList & args, KParts::LiveConnectExtension::Type & type,
unsigned long & retobjid,
QString & value);
00067
void unregister (
const unsigned long objid);
00068
00069
int jsSessions ()
const {
return m_jssessions; }
00070
public slots:
00071
void jsEvent (
const QStringList & args);
00072 signals:
00073
virtual void partEvent (
const unsigned long objid,
const QString & event,
const KParts::LiveConnectExtension::ArgList & args);
00074
00075
private:
00076 KJavaAppletViewer * m_viewer;
00077
static int m_jssessions;
00078 };
00079
00080
class KJavaAppletViewer :
public KParts::ReadOnlyPart {
00081 Q_OBJECT
00082
public:
00083 KJavaAppletViewer (
QWidget * wparent,
const char * wname,
00084
QObject * parent,
const char * name,
const QStringList &args);
00085 ~KJavaAppletViewer ();
00086 CoverWidget * view ()
const {
return m_view; }
00087
static KAboutData* createAboutData ();
00088
00089 KJavaAppletViewerBrowserExtension * browserextension()
const
00090
{
return m_browserextension; }
00091
KParts::LiveConnectExtension * liveConnectExtension ()
const
00092
{
return m_liveconnect; }
00093
00094
bool eventFilter (
QObject *o,
QEvent *e);
00095
00096
bool appletAlive () const;
00097 public slots:
00098 virtual
bool openURL (const
KURL & url);
00099 virtual
bool closeURL ();
00100
void appletLoaded ();
00101
void infoMessage (const
QString &);
00102 protected:
00103
bool openFile();
00104 private:
00105
QGuardedPtr <CoverWidget> m_view;
00106
KConfig * m_config;
00107 KJavaProcess * process;
00108 KJavaAppletViewerBrowserExtension * m_browserextension;
00109 KJavaAppletViewerLiveConnectExtension * m_liveconnect;
00110 QString baseurl;
00111
bool m_closed;
00112 };
00113
00114 class KJavaAppletViewerFactory : public KParts::Factory {
00115 Q_OBJECT
00116
public:
00117 KJavaAppletViewerFactory ();
00118
virtual ~KJavaAppletViewerFactory ();
00119
virtual KParts::Part *createPartObject
00120 (
QWidget *wparent,
const char *wname,
00121
QObject *
parent,
const char *
name,
00122
const char *
className,
const QStringList &args);
00123
static KInstance *
instance () {
return s_instance; }
00124
private:
00125
static KInstance * s_instance;
00126 };
00127
00128
class AppletParameterDialog :
public KDialogBase {
00129 Q_OBJECT
00130
public:
00131 AppletParameterDialog (KJavaAppletWidget * parent);
00132
protected slots:
00133
void slotClose ();
00134
private:
00135 KJavaAppletWidget * m_appletWidget;
00136
QTable * table;
00137 };
00138
00139
#endif