Qucs-GUI
0.0.19
|
00001 /*************************************************************************** 00002 copyright : (C) 2010 by Michael Margraf 00003 email : michael.margraf@alumni.tu-berlin.de 00004 ***************************************************************************/ 00005 00006 #ifndef OCTAVE_WINDOW_H 00007 #define OCTAVE_WINDOW_H 00008 00009 #include <QWidget> 00010 #include <QProcess> 00011 #include <QStringList> 00012 00013 class QEvent; 00014 class QDockWidget; 00015 class QTextEdit; 00016 class QLineEdit; 00017 00018 00019 class OctaveWindow : public QWidget { 00020 Q_OBJECT 00021 public: 00022 OctaveWindow(QDockWidget*); 00023 ~OctaveWindow(); 00024 00025 QSize sizeHint() const; 00026 bool startOctave(); 00027 void runOctaveScript(const QString&); 00028 void sendCommand(const QString&); 00029 void adjustDirectory(); 00030 00031 private slots: 00032 void slotDisplayMsg(); 00033 void slotDisplayErr(); 00034 void slotOctaveEnded(int status); 00035 void slotSendCommand(); 00036 00037 protected: 00038 bool eventFilter(QObject *obj, QEvent *event); 00039 00040 private: 00041 QTextEdit *output; 00042 QProcess octProcess; 00043 QLineEdit *input; 00044 QStringList cmdHistory; 00045 int histPosition; 00046 }; 00047 00048 #endif