You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdewebdev/kommander/executor/instance.h

139 lines
6.6 KiB

/***************************************************************************
instance.h - description
-------------------
begin : Tue Aug 13 2002
copyright : (C) 2002 by Marc Britton <consume@optushome.com.au>
(C) 2004 by Andras Mantia <amantia@kde.org>
(C) 2004 by Michal Rudolf <mrudolf@tdewebdev.org>
***************************************************************************/
/***************************************************************************
* *
* 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 <tqstring.h>
#include <tqstringlist.h>
#include <tqobject.h>
#include <tqmap.h>
#include <tqguardedptr.h>
/* KDE INCLUDES */
#include <kurl.h>
/* OTHER INCLUDES */
#include "dcopkommanderif.h"
/* FORWARD DECLARATIONS */
class TQWidget;
class TQDialog;
class TQFile;
class KommanderWidget;
class Instance : public TQObject, virtual public DCOPKommanderIf
{
Q_OBJECT
TQ_OBJECT
public:
Instance();
Instance(TQWidget*);
~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 TQStringList& args);
//DCOP methods. The documentation is in the widgets/specials.cpp file.
virtual void setEnabled(const TQString& widgetName, bool enable);
virtual void enableWidget(const TQString& widgetName, bool enable); /* DEPRECATED */
virtual void setVisible(const TQString& widgetName, bool enable);
virtual void setText(const TQString& widgetName, const TQString& text);
virtual void changeWidgetText(const TQString& widgetName, const TQString& text); /* DEPRECATED */
virtual TQString text(const TQString& widgetName);
virtual void setSelection(const TQString& widgetName, const TQString& text);
virtual void setCurrentListItem(const TQString& widgetName, const TQString& text); /* DEPRECATED */
virtual TQString selection(const TQString& widgetName);
virtual int currentItem(const TQString &widgetName);
virtual TQString item(const TQString &widgetName, int index);
virtual int itemDepth(const TQString &widgetName, int index);
virtual TQString itemPath(const TQString &widgetName, int index);
virtual void removeItem(const TQString &widgetName, int index);
virtual void removeListItem(const TQString &widgetName, int index); /* DEPRECATED */
virtual void insertItem(const TQString &widgetName, const TQString &item, int index);
virtual void addListItem(const TQString &widgetName, const TQString &item, int index); /* DEPRECATED */
virtual void setPixmap(const TQString &widgetName, const TQString &iconName, int index);
virtual void insertItems(const TQString &widgetName, const TQStringList &items, int index);
virtual void addListItems(const TQString &widgetName, const TQStringList &items, int index);/*DEPRECATED*/
virtual void addUniqueItem(const TQString &widgetName, const TQString &item);
virtual int findItem(const TQString &widgetName, const TQString &item);
virtual void clear(const TQString &widgetName);
virtual void clearList(const TQString &widgetName); /* DEPRECATED */
virtual void setCurrentItem(const TQString &widgetName, int index);
virtual void setCurrentTab(const TQString &widgetName, int index); /* DEPRECATED */
virtual void insertTab(const TQString &widgetName, const TQString &label, int index);
virtual void setChecked(const TQString &widgetName, bool checked);
virtual bool checked(const TQString &widgetName);
virtual void setAssociatedText(const TQString &widgetName, const TQString &text);
virtual TQStringList associatedText(const TQString &widgetName);
virtual TQString type(const TQString& widget);
virtual TQStringList tqchildren(const TQString& parent, bool recursive);
virtual TQString global(const TQString& variableName);
virtual void setGlobal(const TQString& variableName, const TQString& value);
virtual void setMaximum(const TQString &widgetName, int value);
virtual TQString execute(const TQString &widgetName);
virtual void cancel(const TQString &widgetName);
virtual int count(const TQString &widgetName);
virtual int currentColumn(const TQString &widgetName);
virtual int currentRow(const TQString &widgetName);
virtual void insertRow(const TQString &widgetName, int row, int count);
virtual void insertColumn(const TQString &widgetName, int column, int count);
virtual void setCellText(const TQString &widgetName, int row, int column, const TQString& text);
virtual TQString cellText(const TQString &widgetName, int row, int column);
virtual void removeRow(const TQString &widgetName, int row, int count);
virtual void removeColumn(const TQString &widgetName, int column, int count);
virtual void setRowCaption(const TQString &widgetName, int row, const TQString& text);
virtual void setColumnCaption(const TQString &widgetName, int column, const TQString& text);
virtual int getWinID();
virtual void setBusyCursor(bool busy);
TQWidget *widget() { return m_instance;}
public slots:
/** Sets the instance's parent */
void setParent(TQWidget*);
/** 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 */
TQGuardedPtr<TQWidget> m_instance;
/* Associated Text Instance */
KommanderWidget *m_textInstance;
/** The parent widget */
TQWidget *m_parent;
/* Get object by name */
TQObject* stringToWidget(const TQString& name);
/* Cast to Kommander widget if possible */
KommanderWidget* kommanderWidget(TQObject* object);
};
#endif