summaryrefslogtreecommitdiffstats
path: root/lib/util/tdevshellwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/util/tdevshellwidget.h')
-rw-r--r--lib/util/tdevshellwidget.h101
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;