/*************************************************************************** instance.h - description ------------------- begin : Tue Aug 13 2002 copyright : (C) 2002 by Marc Britton (C) 2004 by Andras Mantia (C) 2004 by Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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 #include #include #include #include /* KDE INCLUDES */ #include /* OTHER INCLUDES */ #include "dcopkommanderif.h" /* FORWARD DECLARATIONS */ class TQWidget; class TQDialog; class TQFile; class KommanderWidget; class Instance : public TQObject, virtual public DCOPKommanderIf { Q_OBJECT public: Instance(); Instance(TQWidget*); ~Instance(); /* passing global variables: two forms are accepted. tdmr-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 children(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 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