00001 /*************************************************************************** 00002 File : SetColValuesDialog.h 00003 Project : QtiPlot 00004 -------------------------------------------------------------------- 00005 Copyright : (C) 2006 by Ion Vasilief, 00006 Tilman Hoener zu Siederdissen 00007 Knut Franke 00008 Email (use @ for *) : ion_vasilief*yahoo.fr, thzs*gmx.net, 00009 knut.franke*gmx.de 00010 Description : Set column values dialog 00011 00012 ***************************************************************************/ 00013 00014 /*************************************************************************** 00015 * * 00016 * This program is free software; you can redistribute it and/or modify * 00017 * it under the terms of the GNU General Public License as published by * 00018 * the Free Software Foundation; either version 2 of the License, or * 00019 * (at your option) any later version. * 00020 * * 00021 * This program is distributed in the hope that it will be useful, * 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00024 * GNU General Public License for more details. * 00025 * * 00026 * You should have received a copy of the GNU General Public License * 00027 * along with this program; if not, write to the Free Software * 00028 * Foundation, Inc., 51 Franklin Street, Fifth Floor, * 00029 * Boston, MA 02110-1301 USA * 00030 * * 00031 ***************************************************************************/ 00032 #ifndef VALUESDIALOG_H 00033 #define VALUESDIALOG_H 00034 00035 #include "ScriptingEnv.h" 00036 #include "Script.h" 00037 #include <QDialog> 00038 00039 class QComboBox; 00040 class QTextEdit; 00041 class QSpinBox; 00042 class QPushButton; 00043 class QLabel; 00044 class QCompleter; 00045 #ifdef SCRIPTING_PYTHON 00046 class QCheckBox; 00047 #endif 00048 class Table; 00049 class ScriptingEnv; 00050 class ScriptEdit; 00051 00052 00054 class SetColValuesDialog : public QDialog, public scripted 00055 { 00056 Q_OBJECT 00057 00058 public: 00059 SetColValuesDialog( ScriptingEnv *env, QWidget* parent = 0, Qt::WFlags fl = 0 ); 00060 void setTable(Table* w); 00061 void setCompleter(QCompleter *); 00062 00063 private slots: 00064 bool apply(); 00065 void prevColumn(); 00066 void nextColumn(); 00067 void insertFunction(); 00068 void insertCol(); 00069 void insertCell(); 00070 void insertExplain(int index); 00071 void updateColumn(int sc); 00072 00073 private: 00074 Table* table; 00075 00076 QSize sizeHint() const ; 00077 void customEvent( QEvent *e ); 00078 00079 QComboBox* functions; 00080 QComboBox* boxColumn; 00081 QPushButton* btnAddFunction; 00082 QPushButton* btnAddCol; 00083 QPushButton* btnCancel; 00084 QPushButton *buttonPrev; 00085 QPushButton *buttonNext; 00086 QPushButton *addCellButton; 00087 QPushButton *btnApply; 00088 ScriptEdit* commands; 00089 QTextEdit* explain; 00090 QSpinBox* start, *end; 00091 QLabel *colNameLabel; 00092 #ifdef SCRIPTING_PYTHON 00093 QCheckBox *boxMuParser; 00094 #endif 00095 }; 00096 00097 #endif //