My Project  0.0.16
QUCS Mapping
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
octave_window.h
Go to the documentation of this file.
1 /***************************************************************************
2  copyright : (C) 2010 by Michael Margraf
3  email : michael.margraf@alumni.tu-berlin.de
4  ***************************************************************************/
5 
6 #ifndef OCTAVE_WINDOW_H
7 #define OCTAVE_WINDOW_H
8 
9 #include <qwidget.h>
10 #include <qprocess.h>
11 #include <qstringlist.h>
12 
13 class QLineEdit;
14 class QTextEdit;
15 class QVBoxLayout;
16 class QDockWindow;
17 
18 
19 class OctaveWindow : public QWidget {
20  Q_OBJECT
21 public:
22  OctaveWindow(QDockWindow*);
23  ~OctaveWindow();
24 
25  QSize sizeHint();
26  bool startOctave();
27  void runOctaveScript(const QString&);
28  void sendCommand(const QString&);
29  void adjustDirectory();
30 
31 private slots:
32  void slotDisplayMsg();
33  void slotDisplayErr();
34  void slotOctaveEnded();
35  void slotSendCommand();
36 
37 protected:
38  void keyPressEvent(QKeyEvent*);
39 
40 private:
41  QVBoxLayout *vBox;
42  QTextEdit *output;
43  QLineEdit *input;
44 
45  QProcess octProcess;
46 
47  QStringList cmdHistory;
48  QStringList::Iterator histIterator;
49 };
50 
51 #endif