kjavaapplet.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KJAVAAPPLET_H
00025 #define KJAVAAPPLET_H
00026
00027 #include <kurl.h>
00028 #include <kparts/browserextension.h>
00029
00030 #include <qobject.h>
00031 #include <qmap.h>
00032
00045 class KJavaApplet;
00046 class KJavaAppletWidget;
00047 class KJavaAppletContext;
00048 class KJavaAppletPrivate;
00049
00050 class KJavaLiveConnect : public KParts::LiveConnectExtension
00051 {
00052 Q_OBJECT
00053
00054 public:
00055 KJavaLiveConnect(KJavaAppletContext*, KJavaApplet*);
00056
00057 bool get( const unsigned long objid, const QString & field, KParts::LiveConnectExtension::Type & type, unsigned long & retobjid, QString & value );
00058 bool put( const unsigned long, const QString & field, const QString & value );
00059 bool call( const unsigned long , const QString & func, const QStringList & args, KParts::LiveConnectExtension::Type & type, unsigned long & retobjid, QString & value );
00060 void unregister( const unsigned long objid );
00061
00062 void sendEvent(const unsigned long objid, const QString & event, const KParts::LiveConnectExtension::ArgList & args ) {
00063 emit partEvent(objid, event, args);
00064 }
00065 signals:
00066
00067 virtual void partEvent( const unsigned long objid, const QString & event, const KParts::LiveConnectExtension::ArgList & args );
00068
00069 private:
00070
00071 KJavaAppletContext *context;
00072 KJavaApplet *applet;
00073 };
00074
00075 class KJavaApplet : public QObject
00076 {
00077 Q_OBJECT
00078
00079 public:
00080
00081
00082 typedef enum {
00083 UNKNOWN = 0,
00084 CLASS_LOADED = 1,
00085 INSTANCIATED = 2,
00086 INITIALIZED = 3,
00087 STARTED = 4,
00088 STOPPED = 5,
00089 DESTROYED = 6
00090 } AppletState;
00091 KJavaApplet( KJavaAppletWidget* _parent, KJavaAppletContext* _context = 0 );
00092 ~KJavaApplet();
00093
00097 void setAppletContext( KJavaAppletContext* _context );
00098
00102 void setAppletClass( const QString& clazzName );
00103
00107 QString& appletClass();
00108
00112 void setBaseURL( const QString& base );
00113
00117 QString& baseURL();
00118
00122 void setCodeBase( const QString& codeBase );
00123
00127 QString& codeBase();
00128
00133 void setArchives( const QString& _archives );
00134
00139 QString& archives();
00140
00144 void setAppletName( const QString& name );
00145
00149 QString& appletName();
00150
00154 void setSize( QSize size );
00155
00159 QSize size();
00160
00164 void setParameter( const QString& name, const QString& value );
00165
00170 QString& parameter( const QString& name );
00171
00175 QMap<QString,QString>& getParams();
00176
00180 KParts::LiveConnectExtension * getLiveConnectExtension() {
00181 return liveconnect;
00182 }
00183
00187 void setWindowName( const QString& title );
00188
00192 QString& getWindowName();
00193
00197 void resizeAppletWidget( int width, int height );
00198
00203 void create();
00204
00209 void init();
00210
00214 bool isCreated();
00215
00219 void start();
00220
00224 void stop();
00225
00229 int appletId();
00230
00234 void setAppletId( int id );
00235
00236 KJavaAppletContext* getContext() const { return context; }
00237
00241 void setUser(const QString & _user) { username = _user; }
00242 const QString & user () const { return username; }
00243
00247 void setPassword(const QString & _password) { userpassword = _password; }
00248 const QString & password () const { return userpassword; }
00249
00253 void setAuthName(const QString & _auth) { authname = _auth; }
00254 const QString & authName () const { return authname; }
00255
00261 void stateChange ( const int newState );
00262 void setFailed ();
00263 AppletState state() const;
00264 bool failed() const;
00265 bool isAlive() const;
00266
00267 private:
00268 void showStatus( const QString &msg);
00269 KJavaAppletPrivate* d;
00270 QMap<QString, QString> params;
00271 KJavaAppletContext* context;
00272 KJavaLiveConnect* liveconnect;
00273 int id;
00274 QString username;
00275 QString userpassword;
00276 QString authname;
00277 };
00278
00279 #endif // KJAVAAPPLET_H
This file is part of the documentation for kdelibs Version 3.1.4.