QtiPlot 0.9.7.3
|
00001 /*************************************************************************** 00002 File : PlotWizard.h 00003 Project : QtiPlot 00004 -------------------------------------------------------------------- 00005 Copyright : (C) 2004 - 2010 by Ion Vasilief 00006 Email (use @ for *) : ion_vasilief*yahoo.fr 00007 Description : A wizard type dialog to create new plots 00008 00009 ***************************************************************************/ 00010 00011 /*************************************************************************** 00012 * * 00013 * This program is free software; you can redistribute it and/or modify * 00014 * it under the terms of the GNU General Public License as published by * 00015 * the Free Software Foundation; either version 2 of the License, or * 00016 * (at your option) any later version. * 00017 * * 00018 * This program is distributed in the hope that it will be useful, * 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00021 * GNU General Public License for more details. * 00022 * * 00023 * You should have received a copy of the GNU General Public License * 00024 * along with this program; if not, write to the Free Software * 00025 * Foundation, Inc., 51 Franklin Street, Fifth Floor, * 00026 * Boston, MA 02110-1301 USA * 00027 * * 00028 ***************************************************************************/ 00029 00030 00031 #ifndef PLOTWIZARD_H 00032 #define PLOTWIZARD_H 00033 00034 #include <QDialog> 00035 class QGroupBox; 00036 class QPushButton; 00037 class QListWidget; 00038 class QComboBox; 00039 00041 class PlotWizard : public QDialog 00042 { 00043 Q_OBJECT 00044 00045 public: 00047 00051 PlotWizard( QWidget* parent = 0, Qt::WFlags fl = 0 ); 00052 00053 private: 00055 QPushButton* buttonOk, 00057 *buttonXErr, 00059 *buttonYErr, 00061 *buttonDelete; 00063 QPushButton* buttonCancel, 00065 *buttonX, 00067 *buttonY, 00069 *buttonNew, 00071 *buttonZ; 00073 QGroupBox* groupBox1, 00075 *groupBox2, 00077 *groupBox3; 00079 QComboBox* boxTables; 00081 QListWidget *columnsList, 00083 *plotAssociations; 00084 00086 QStringList columns; 00087 00088 public slots: 00090 void changeColumnsList(const QString &table); 00092 void insertTablesList(const QStringList& tables); 00094 void setColumnsListBoxContents(const QStringList& cols); 00096 void setColumnsList(const QStringList& cols); 00098 void addCurve(); 00100 void removeCurve(); 00102 void addXCol(); 00104 void addYCol(); 00106 void addXErrCol(); 00108 void addYErrCol(); 00110 void accept(); 00112 void addZCol(); 00113 00114 private: 00115 void plot2D(const QStringList&); 00116 void plot3D(const QStringList&); 00117 void plot3DRibbon(const QStringList&); 00119 bool noCurves(); 00120 QSize sizeHint() const; 00121 }; 00122 00123 #endif // PLOTWIZARD_H