summaryrefslogtreecommitdiffstats
path: root/tdehtml/java/kjavaapplet.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdehtml/java/kjavaapplet.h')
-rw-r--r--tdehtml/java/kjavaapplet.h251
1 files changed, 251 insertions, 0 deletions
diff --git a/tdehtml/java/kjavaapplet.h b/tdehtml/java/kjavaapplet.h
new file mode 100644
index 000000000..8e02c5ba4
--- /dev/null
+++ b/tdehtml/java/kjavaapplet.h
@@ -0,0 +1,251 @@
+// -*- c++ -*-
+/* This file is part of the KDE project
+ *
+ * Copyright (C) 2000 Richard Moore <rich@kde.org>
+ * 2000 Wynn Wilkes <wynnw@caldera.com>
+ *
+ * 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 KJAVAAPPLET_H
+#define KJAVAAPPLET_H
+
+#include <kurl.h>
+
+#include <tqobject.h>
+#include <tqstringlist.h>
+#include <tqmap.h>
+
+/**
+ * @short A Java applet
+ *
+ * This class encapsulates the data the Applet Server needs to load
+ * the Applet class files, and set the proper size of the Applet. It also
+ * has an interface for applets to resize themselves.
+ *
+ * @author Richard J. Moore, rich@kde.org
+ * @author Wynn Wilkes, wynnw@kde.org
+ */
+
+class KJavaApplet;
+class KJavaAppletWidget;
+class KJavaAppletContext;
+class KJavaAppletPrivate;
+
+
+class KJavaApplet : public TQObject
+{
+Q_OBJECT
+
+public:
+ // states describing the life cycle of an applet.
+ // keep in sync with applet state in KJASAppletStub.java !
+ typedef enum {
+ UNKNOWN = 0,
+ CLASS_LOADED = 1,
+ INSTANCIATED = 2,
+ INITIALIZED = 3,
+ STARTED = 4,
+ STOPPED = 5,
+ DESTROYED = 6
+ } AppletState;
+ KJavaApplet( KJavaAppletWidget* _parent, KJavaAppletContext* _context = 0 );
+ ~KJavaApplet();
+
+ /**
+ * Set the applet context'.
+ */
+ void setAppletContext( KJavaAppletContext* _context );
+
+ /**
+ * Specify the name of the class file to run. For example 'Lake.class'.
+ */
+ void setAppletClass( const TQString& clazzName );
+
+ /**
+ * Get the name of the Class file the applet should run
+ */
+ TQString& appletClass();
+
+ /**
+ * Set the URL of the document embedding the applet.
+ */
+ void setBaseURL( const TQString& base );
+
+ /**
+ * get the Base URL of the document embedding the applet
+ */
+ TQString& baseURL();
+
+ /**
+ * Set the codebase of the applet classes.
+ */
+ void setCodeBase( const TQString& codeBase );
+
+ /**
+ * Get the codebase of the applet classes
+ */
+ TQString& codeBase();
+
+ /**
+ * Set the list of archives at the Applet's codebase to search in for
+ * class files and other resources
+ */
+ void setArchives( const TQString& _archives );
+
+ /**
+ * Get the list of Archives that should be searched for class files
+ * and other resources
+ */
+ TQString& archives();
+
+ /**
+ * Set the name the applet should be called in its context
+ */
+ void setAppletName( const TQString& name );
+
+ /**
+ * Get the name the applet should be called in its context
+ */
+ TQString& appletName();
+
+ /**
+ * Set the size of the applet
+ */
+ void setSize( TQSize size );
+
+ /**
+ * Get the size of the applet
+ */
+ TQSize size();
+
+ /**
+ * Specify a parameter to be passed to the applet.
+ */
+ void setParameter( const TQString& name, const TQString& value );
+
+ /**
+ * Look up the parameter value for the given Parameter. Returns
+ * TQString::null if the name has not been set.
+ */
+ TQString& parameter( const TQString& name );
+
+ /**
+ * Get a reference to the Paramaters and their values
+ */
+ TQMap<TQString,TQString>& getParams();
+
+ /**
+ * Set the window title for swallowing
+ */
+ void setWindowName( const TQString& title );
+
+ /**
+ * Get the window title this applet should use
+ */
+ TQString& getWindowName();
+
+ /**
+ * Interface for applets to resize themselves
+ */
+ void resizeAppletWidget( int width, int height );
+
+ /**
+ * Send message to AppletServer to create this applet's
+ * frame to be swallowed and download the applet classes
+ */
+ void create();
+
+ /**
+ * Send message to AppletServer to Initialize and show
+ * this applet
+ */
+ void init();
+
+ /**
+ * Returns status of applet- whether it's been created or not
+ */
+ bool isCreated();
+
+ /**
+ * Run the applet.
+ */
+ void start();
+
+ /**
+ * Pause the applet.
+ */
+ void stop();
+
+ /**
+ * Returns the unique ID this applet is given
+ */
+ int appletId();
+
+ /**
+ * Set the applet ID.
+ */
+ void setAppletId( int id );
+
+ KJavaAppletContext* getContext() const { return context; }
+
+ /**
+ * Get/Set the user name
+ */
+ void setUser(const TQString & _user) { username = _user; }
+ const TQString & user () const { return username; }
+
+ /**
+ * Get/Set the user password
+ */
+ void setPassword(const TQString & _password) { userpassword = _password; }
+ const TQString & password () const { return userpassword; }
+
+ /**
+ * Get/Set the auth name
+ */
+ void setAuthName(const TQString & _auth) { authname = _auth; }
+ const TQString & authName () const { return authname; }
+
+ /**
+ * called from the protocol engine
+ * changes the status according to the one on the java side.
+ * Do not call this yourself!
+ */
+ void stateChange ( const int newState );
+ void setFailed ();
+ AppletState state() const;
+ bool failed() const;
+ bool isAlive() const;
+ /**
+ * JavaScript coming from Java
+ **/
+ void jsData (const TQStringList & args) { emit jsEvent (args); }
+signals:
+ void jsEvent (const TQStringList & args);
+private:
+ void showStatus( const TQString &msg);
+ KJavaAppletPrivate* d;
+ TQMap<TQString, TQString> params;
+ KJavaAppletContext* context;
+ int id;
+ TQString username;
+ TQString userpassword;
+ TQString authname;
+};
+
+#endif // KJAVAAPPLET_H