Qucs-GUI  0.0.19
/home/travis/build/Qucs/qucs/qucs/qucs/diagrams/diagramdialog.h
Go to the documentation of this file.
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
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines