summaryrefslogtreecommitdiffstats
path: root/kommander/executor/instance.h
diff options
context:
space:
mode:
Diffstat (limited to 'kommander/executor/instance.h')
-rw-r--r--kommander/executor/instance.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/kommander/executor/instance.h b/kommander/executor/instance.h
new file mode 100644
index 00000000..66b97455
--- /dev/null
+++ b/kommander/executor/instance.h
@@ -0,0 +1,137 @@
+/***************************************************************************
+ instance.h - description
+ -------------------
+ begin : Tue Aug 13 2002
+ copyright : (C) 2002 by Marc Britton <[email protected]>
+ (C) 2004 by Andras Mantia <[email protected]>
+ (C) 2004 by Michal Rudolf <[email protected]>
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef INSTANCE_H
+#define INSTANCE_H
+
+/* QT INCLUDES */
+#include <qstring.h>
+#include <qstringlist.h>
+#include <qobject.h>
+#include <qmap.h>
+#include <qguardedptr.h>
+
+/* KDE INCLUDES */
+#include <kurl.h>
+
+/* OTHER INCLUDES */
+#include "dcopkommanderif.h"
+
+/* FORWARD DECLARATIONS */
+class QWidget;
+class QDialog;
+class QFile;
+class KommanderWidget;
+
+
+
+class Instance : public QObject, virtual public DCOPKommanderIf
+{
+ Q_OBJECT
+
+public:
+ Instance();
+ Instance(QWidget*);
+ ~Instance();
+ /* passing global variables: two forms are accepted.
+ kdmr-executor file.kmdr COUNT=45 PATH=/tmp - this adds global variables 45 and PATH
+ kmdr-executor file.kmdr 45 /tmp - this adds global variables ARG1 and ARG2
+ ARGS holds space-separated list of all second-type variables (like Bash $@)
+ ARGCOUNT holds number of second-type arguments
+ */
+ virtual void addCmdlineArguments(const QStringList& args);
+
+ //DCOP methods. The documentation is in the widgets/specials.cpp file.
+ virtual void setEnabled(const QString& widgetName, bool enable);
+ virtual void enableWidget(const QString& widgetName, bool enable); /* DEPRECATED */
+ virtual void setVisible(const QString& widgetName, bool enable);
+ virtual void setText(const QString& widgetName, const QString& text);
+ virtual void changeWidgetText(const QString& widgetName, const QString& text); /* DEPRECATED */
+ virtual QString text(const QString& widgetName);
+ virtual void setSelection(const QString& widgetName, const QString& text);
+ virtual void setCurrentListItem(const QString& widgetName, const QString& text); /* DEPRECATED */
+ virtual QString selection(const QString& widgetName);
+ virtual int currentItem(const QString &widgetName);
+ virtual QString item(const QString &widgetName, int index);
+ virtual int itemDepth(const QString &widgetName, int index);
+ virtual QString itemPath(const QString &widgetName, int index);
+ virtual void removeItem(const QString &widgetName, int index);
+ virtual void removeListItem(const QString &widgetName, int index); /* DEPRECATED */
+ virtual void insertItem(const QString &widgetName, const QString &item, int index);
+ virtual void addListItem(const QString &widgetName, const QString &item, int index); /* DEPRECATED */
+ virtual void setPixmap(const QString &widgetName, const QString &iconName, int index);
+ virtual void insertItems(const QString &widgetName, const QStringList &items, int index);
+ virtual void addListItems(const QString &widgetName, const QStringList &items, int index);/*DEPRECATED*/
+ virtual void addUniqueItem(const QString &widgetName, const QString &item);
+ virtual int findItem(const QString &widgetName, const QString &item);
+ virtual void clear(const QString &widgetName);
+ virtual void clearList(const QString &widgetName); /* DEPRECATED */
+ virtual void setCurrentItem(const QString &widgetName, int index);
+ virtual void setCurrentTab(const QString &widgetName, int index); /* DEPRECATED */
+ virtual void insertTab(const QString &widgetName, const QString &label, int index);
+ virtual void setChecked(const QString &widgetName, bool checked);
+ virtual bool checked(const QString &widgetName);
+ virtual void setAssociatedText(const QString &widgetName, const QString &text);
+ virtual QStringList associatedText(const QString &widgetName);
+ virtual QString type(const QString& widget);
+ virtual QStringList children(const QString& parent, bool recursive);
+ virtual QString global(const QString& variableName);
+ virtual void setGlobal(const QString& variableName, const QString& value);
+ virtual void setMaximum(const QString &widgetName, int value);
+ virtual QString execute(const QString &widgetName);
+ virtual void cancel(const QString &widgetName);
+ virtual int count(const QString &widgetName);
+ virtual int currentColumn(const QString &widgetName);
+ virtual int currentRow(const QString &widgetName);
+ virtual void insertRow(const QString &widgetName, int row, int count);
+ virtual void insertColumn(const QString &widgetName, int column, int count);
+ virtual void setCellText(const QString &widgetName, int row, int column, const QString& text);
+ virtual QString cellText(const QString &widgetName, int row, int column);
+ virtual void removeRow(const QString &widgetName, int row, int count);
+ virtual void removeColumn(const QString &widgetName, int column, int count);
+ virtual void setRowCaption(const QString &widgetName, int row, const QString& text);
+ virtual void setColumnCaption(const QString &widgetName, int column, const QString& text);
+ virtual int getWinID();
+ virtual void setBusyCursor(bool busy);
+ QWidget *widget() { return m_instance;}
+
+public slots:
+ /** Sets the instance's parent */
+ void setParent(QWidget*);
+ /** Returns whether the instance is built */
+ bool isBuilt() const;
+ /** Builds the instance. Uses stdin if no filename is given */
+ bool build(const KURL& fname);
+ /** Executes the instance which was built before */
+ bool run();
+private:
+ /** Check if the file exists, has correct extension and is not in a temporary (insecure) directory */
+ bool isFileValid(const KURL& fname) const;
+ /* Dialog Instance */
+ QGuardedPtr<QWidget> m_instance;
+ /* Associated Text Instance */
+ KommanderWidget *m_textInstance;
+ /** The parent widget */
+ QWidget *m_parent;
+ /* Get object by name */
+ QObject* stringToWidget(const QString& name);
+ /* Cast to Kommander widget if possible */
+ KommanderWidget* kommanderWidget(QObject* object);
+};
+
+#endif