00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __CUTESHELL_H__
00019 #define __CUTESHELL_H__
00020
00021 #include <qtextedit.h>
00022 #include <qprocess.h>
00023 #include <qpopupmenu.h>
00024 #include <qstringlist.h>
00025
00026 class CUTEShell : public QTextEdit
00027 {
00028 Q_OBJECT
00029 public:
00030 CUTEShell( QWidget *parent = 0, const char *name = 0 );
00031 protected:
00032 QPopupMenu *createPopupMenu( const QPoint & pos );
00034 void keyPressEvent( QKeyEvent *e );
00035 protected slots:
00036 void readStdout();
00037 void readStderr();
00038 void processExited();
00040 void runCommand();
00042 void setCursorPos();
00043 private:
00045 QProcess *proc;
00047 QPopupMenu *contextMenu;
00049 QStringList history;
00051 QStringList::iterator curr_cmd;
00053 QString prompt;
00054 };
00055
00056 #endif
00057