khtml Library API Documentation

kjavaapplet.h

00001 // -*- c++ -*-
00002 /* This file is part of the KDE project
00003  *
00004  * Copyright (C) 2000 Richard Moore <rich@kde.org>
00005  *               2000 Wynn Wilkes <wynnw@caldera.com>
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Library General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Library General Public License
00018  * along with this library; see the file COPYING.LIB.  If not, write to
00019  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00020  * Boston, MA 02111-1307, USA.
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     // states describing the life cycle of an applet.
00081     // keep in sync with applet state in KJASAppletStub.java !
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
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:16:37 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001