Qucs-GUI
0.0.19
|
00001 /*************************************************************************** 00002 diagramdialog.h 00003 ----------------- 00004 begin : Sun Oct 5 2003 00005 copyright : (C) 2003 by Michael Margraf 00006 email : michael.margraf@alumni.tu-berlin.de 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 #ifndef DIAGRAMDIALOG_H 00019 #define DIAGRAMDIALOG_H 00020 #include "diagram.h" 00021 #include "node.h" 00022 00023 #ifndef pi 00024 #define pi 3.1415926535897932384626433832795029 00025 #endif 00026 00027 #include <QDialog> 00028 #include <QRegExp> 00029 #include <Q3PtrList> 00030 00031 class QVBoxLayout; 00032 class Cross3D; 00033 class QLabel; 00034 class QLineEdit; 00035 class QCheckBox; 00036 class QComboBox; 00037 class QDoubleValidator; 00038 class QIntValidator; 00039 class QRegExpValidator; 00040 class QSlider; 00041 class QTableWidgetItem; 00042 class QListWidgetItem; 00043 class QTableWidget; 00044 class QListWidget; 00045 00046 00047 class DiagramDialog : public QDialog { 00048 Q_OBJECT 00049 public: 00050 DiagramDialog(Diagram *d, QWidget *parent=0, 00051 Graph *currentGraph=0); 00052 ~DiagramDialog(); 00053 00054 bool loadVarData(const QString&); 00055 void copyDiagramGraphs(); 00056 00057 private slots: 00058 void slotReadVars(int); 00059 void slotTakeVar(QTableWidgetItem *item); 00060 // void slotSelectGraph(int index); 00061 void slotSelectGraph(QListWidgetItem*); 00062 void slotNewGraph(); 00063 void slotDeleteGraph(); 00064 void slotOK(); 00065 void slotApply(); 00066 void slotCancel(); 00067 void slotSetColor(); 00068 void slotSetGridColor(); 00069 void slotResetToTake(const QString&); 00070 void slotSetProp2(const QString&); 00071 void slotSetNumMode(int); 00072 void slotSetGridBox(int); 00073 void slotSetGraphStyle(int); 00074 void slotSetYAxis(int); 00075 void slotManualX(int); 00076 void slotManualY(int); 00077 void slotManualZ(int); 00078 void slotChangeTab(QWidget*); 00079 00080 void slotNewRotX(int); 00081 void slotNewRotY(int); 00082 void slotNewRotZ(int); 00083 void slotEditRotX(const QString&); 00084 void slotEditRotY(const QString&); 00085 void slotEditRotZ(const QString&); 00086 00087 protected slots: 00088 void reject(); 00089 00090 private: 00091 void SelectGraph(Graph*); 00092 00093 Diagram *Diag; 00094 QString defaultDataSet; 00095 00096 QRegExp Expr; 00097 QDoubleValidator *ValDouble; 00098 QIntValidator *ValInteger; 00099 QRegExpValidator *Validator; 00100 00101 QComboBox *ChooseData; 00102 QTableWidget *ChooseVars; 00103 QListWidget *GraphList; 00104 00105 QVBoxLayout *all; // the mother of all widgets 00106 QLineEdit *GraphInput, *Property2, *xLabel, *ylLabel, *yrLabel; 00107 QCheckBox *GridOn, *GridLogX, *GridLogY, *GridLogZ; 00108 QCheckBox *manualX, *manualY, *manualZ, *hideInvisible; 00109 QLineEdit *startX, *stepX, *stopX; 00110 QLineEdit *startY, *stepY, *stopY; 00111 QLineEdit *startZ, *stepZ, *stopZ; 00112 QLineEdit *rotationX, *rotationY, *rotationZ; 00113 QLabel *GridLabel1, *GridLabel2, *Label1, *Label2, *Label3, *Label4; 00114 QComboBox *PropertyBox, *GridStyleBox, *yAxisBox; 00115 QPushButton *ColorButt, *GridColorButt; 00116 QSlider *SliderRotX, *SliderRotY, *SliderRotZ; 00117 Cross3D *DiagCross; 00118 bool changed, transfer, toTake; 00119 Q3PtrList<Graph> Graphs; 00120 }; 00121 00122 #endif