diff options
Diffstat (limited to 'lib/util/tdevshellwidget.h')
| -rw-r--r-- | lib/util/tdevshellwidget.h | 101 | 
1 files changed, 101 insertions, 0 deletions
| diff --git a/lib/util/tdevshellwidget.h b/lib/util/tdevshellwidget.h new file mode 100644 index 00000000..f6476814 --- /dev/null +++ b/lib/util/tdevshellwidget.h @@ -0,0 +1,101 @@ +/*************************************************************************** + *   Copyright (C) 2006 by Jens Dagerbo                                    * + *   jens.dagerbo@swipnet.se                                               * + *                                                                         * + *   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 TDEVSHELLWIDGET_H +#define TDEVSHELLWIDGET_H + +#include <tqstrlist.h> +#include <tqvbox.h> +#include <tqguardedptr.h> + +class TDEProcess; +namespace KParts +{ +	class ReadOnlyPart; +} + +class TDevShellWidget : public TQVBox +{ + +Q_OBJECT +   + +public: +	TDevShellWidget(TQWidget *parent = 0, const char *name = 0); +	virtual ~TDevShellWidget(); + +	/** +	 * Stores the shell name and arguments, that will be used in @ref activate() +	 * @param shell The shell name, for example 'irb' or '/bin/bash' +	 * @param arguments Any optional arguments +	 */ +	void setShell( const TQString & shell, const TQStrList & arguments = TQStrList() ); + +	/** +	 * Executes the previously set shell. If @ref setShell wasn't called before +	 * konsolepart will decide what to use. +	 */ +	void activate(); + +	/** +	 * Should we auto launch the shell again if it was terminated? +	 * @param doAutoActivate +	 */ +	void setAutoReactivateOnClose( bool doAutoActivate ); + +	/** +	 * Send text to the running shell +	 * @param text The text to send to the shell +	 */ +	void sendInput( const TQString & text ); + +	/** +	 * Call to check if the shell is currently running +	 * @return true if the shell is currently running +	 */ +	bool isRunning(); + +signals: +	/** +	 * This signal will be emmitted when the started shell exits normally +	 * @param exitcode The return code of the process +	 */ +	void shellExited( int exitcode ); + +	/** +	 * This signal will be emitted when the started shell is terminated by a signal +	 * @param signalcode The signal the process was killed with +	 */ +	void shellSignalled( int signalcode ); + +	/** +	 *  This signal will be emitted when the process receives data +	 * @param text received data +	 */ +	void receivedData( const TQString & ); + +private slots: +	void partDestroyed(); +	void processExited( TDEProcess * ); +	void setAutoReactivateOnCloseDelayed( ); + +private: +	TQGuardedPtr<KParts::ReadOnlyPart> m_konsolePart; +	TQString m_shellName; +	TQStrList m_shellArguments; +	bool m_doAutoActivate; +	bool m_isRunning; +}; + +#endif + +// kate: space-indent off; indent-width 4; tab-width 4; show-tabs off; | 
