00001
00002
00003 #ifndef DATADIALOG_H
00004 #define DATADIALOG_H
00005
00006 #include <qtoolbutton.h>
00007 #include <qcheckbox.h>
00008 #include "Dialog.h"
00009 #include "GraphListDialog.h"
00010 #include "RichTextWidget.h"
00011 #include "FilterNETCDF.h"
00012 #include "FilterCDF.h"
00013 #include "FilterHDF5.h"
00014 #include "FilterAUDIOFILE.h"
00015
00017 class DataDialog: public Dialog
00018 {
00019 Q_OBJECT
00020 public:
00021 DataDialog(MainWin *mw, const char *name,class ListDialog *l,int it, PType newtype);
00022 public slots:
00023 void applyStyle();
00024 void setDataFile(QString name=0) {
00025 if(name!=0) filele->setText(name);
00026 updateLabel();
00027 }
00028 void setLabel(QString name=0) { setDataFile(name); }
00029 void updateLabel() { rtw->getLabel()->setTitle(filele->text()); rtw->update(); }
00030 void setReadAs(int i) { cbi->setCurrentItem(i); }
00031 void setX(QString i) { readxle->setText(i); }
00032 void setX(int i) { readxle->setText(QString::number(i)); }
00033 void setY(QString i) { readyle->setText(i); }
00034 void setY(int i) { readyle->setText(QString::number(i)); }
00035 void setZ(QString i) { readzle->setText(i); }
00036 void setZ(int i) { readzle->setText(QString::number(i)); }
00037 void setT(QString i) { readtle->setText(i); }
00038 void setT(int i) { readtle->setText(QString::number(i)); }
00039 void setInterpretX(int i) { interpretxcb->setCurrentItem(i); }
00040 void setInterpretY(int i) { interpretycb->setCurrentItem(i); }
00041 void setInterpretZ(int i) { interpretzcb->setCurrentItem(i); }
00042 void setInterpretT(int i) { interprettcb->setCurrentItem(i); }
00043 int Apply() { return apply_clicked(); }
00044 private slots :
00045 void checkData();
00046 void updateRead();
00047 int addData();
00048 int addDataIMAGEXY(QImage image, QString filename);
00049 int addDataIMAGEXYZ(QImage image, QString filename);
00050 int addDataIMAGEMATRIX(QImage image, QString filename);
00051 int addDataIMAGEIMAGE(QImage image, QPixmap pm, QString filename);
00052 int addDataXY(QIODevice *file, QTextStream *t, QDataStream *d, QString filename,int startRow,int endRow);
00053 int addDataXYZ(QIODevice *file, QTextStream *t, QDataStream *d, QString filename,int startRow,int endRow);
00054 int addDataXYZT(QIODevice *file, QTextStream *t, QDataStream *d, QString filename,int startRow,int endRow);
00055 int addDataMATRIX(QIODevice *file, QTextStream *t, QDataStream *d, QString filename,int startRow,int endRow);
00056 void ok_clicked() { if (!apply_clicked()) accept(); }
00057 int apply_clicked();
00058 void saveSettings();
00059 private:
00060 void findPlot();
00061 double getValue(FilterAUDIOFILE auf,int var, int i, double *data, int startRow);
00062 double *new_double(double *ptr, int max, int number);
00063 Point *new_Point(Point *ptr, int max, int number);
00064 Point3D *new_Point3D(Point3D *ptr, int max, int number);
00065 Point4D *new_Point4D(Point4D *ptr, int max, int number);
00066 PType type;
00067 QLabel *readx, *ready, *readz, *readt;
00068 KLineEdit *readxle, *readyle, *readzle, *readtle;
00069 KComboBox *interpretxcb, *interpretycb, *interpretzcb, *interprettcb;
00070 KComboBox *cbi;
00071 QCheckBox *reread, *indexed;
00072 ListDialog *l;
00073 int item;
00074 Graph *graph;
00075 RichTextWidget *rtw;
00076 };
00077 #endif //DATADIALOG_H