My Project  0.0.16
QUCS Mapping
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
simmessage.h
Go to the documentation of this file.
1 /***************************************************************************
2  simmessage.h
3  --------------
4  begin : Sat Sep 6 2003
5  copyright : (C) 2003 by Michael Margraf
6  email : michael.margraf@alumni.tu-berlin.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SIMMESSAGE_H
19 #define SIMMESSAGE_H
20 
21 #include <qdialog.h>
22 #include <qprocess.h>
23 #include <qstringlist.h>
24 #include <qfile.h>
25 
26 class QTextEdit;
27 class QVBoxLayout;
28 class QPushButton;
29 class QProgressBar;
30 
31 class Component;
32 class Schematic;
33 
34 // #define SPEEDUP_PROGRESSBAR
35 
36 
37 class SimMessage : public QDialog {
38 Q_OBJECT
39 public:
40  SimMessage(QWidget*, QWidget *parent=0);
41  ~SimMessage();
42 
43  bool startProcess();
44 
45 signals:
46  void SimulationEnded(int, SimMessage*);
47  void displayDataPage(QString&, QString&);
48 
49 public slots:
50  void slotClose();
51 
52 private slots:
53  void slotDisplayMsg();
54  void slotDisplayErr();
55  void slotCloseStdin();
56  void slotSimEnded();
57  void slotDisplayButton();
58 
59  void slotReadSpiceNetlist();
60  void slotFinishSpiceNetlist();
61 
62 /* #ifdef SPEEDUP_PROGRESSBAR
63  void slotUpdateProgressBar();
64 private:
65  int iProgress;
66  bool waitForUpdate;
67 #endif
68 */
69 
70 private:
71  void FinishSimulation(int);
72  void nextSPICE();
73  void startSimulator();
74  Component * findOptimization(Schematic *);
75 
76 public:
77  QWidget *DocWidget;
78  int showBias;
79  bool SimOpenDpl;
82 
83  QProcess SimProcess;
84  QTextEdit *ProgText, *ErrText;
85  bool wasLF; // linefeed for "ProgText"
86  QPushButton *Display, *Abort;
87  QProgressBar *SimProgress;
88  QString ProgressText;
89 
91  int SimPorts;
93  QStringList Collect;
94  QFile NetlistFile;
95  QTextStream Stream;
96 
97  QVBoxLayout *all;
98 };
99 
100 #endif