00001
00002
00003 #ifndef EXPORTDIALOG_H
00004 #define EXPORTDIALOG_H
00005
00006 #include <qfont.h>
00007 #include <qcheckbox.h>
00008 #include "Worksheet.h"
00009 #include "Dialog.h"
00010 #include "FilterKexiDB.h"
00011
00012 class ExportDialog: public Dialog
00013 {
00014 Q_OBJECT
00015 public:
00016 ExportDialog(MainWin *mw, const char *name, int item);
00017 public slots:
00018 void selectFile();
00019
00020 void setFilename(QString fn) { filele->setText(fn); }
00021 void exportHeader(bool b=true) { headercb->setChecked(b); }
00022 void setStartRow(int row) { startrow->setText(QString::number(row)); }
00023 void setEndRow(int row) { endrow->setText(QString::number(row)); }
00024 void setFileType(int t) { exportcb->setCurrentItem(t); }
00025 void setSeparator(QString s) { slabel->setText(s); }
00026 void setImageFormat(int i) { ic->setCurrentItem(i); }
00027 void setImageFormat(QString f) { ic->setCurrentText(f); }
00028 void setCDFCompression(int c) { cdfcomcb->setCurrentItem(c); }
00029 void setCDFEncoding(int c) { cdfenccb->setCurrentItem(c); }
00030 void setAudioFormat(int f) { audioformatcb->setCurrentItem(f); }
00031 void setSampleRate(int s) { samplele->setText(QString::number(s)); }
00032 void setBinaryType(int t) { binarytypecb->setCurrentItem(t); }
00033
00034 int Apply() { return apply_clicked(); accept(); }
00035 private slots:
00036 void ok_clicked() { if(!apply_clicked()) accept(); }
00037 void saveSettings();
00038 int apply_clicked();
00039 void updateOptions(int item);
00040 void updateAudioFormat(int) { updateOptions(3); }
00041 void updateImageFormat(int) { updateOptions(4); }
00042 void wizardKexiDB(const QString &name);
00043 void finishKexiDB();
00044 private:
00045 void dumpASCII(QTextStream *t, QString sep);
00046 void dumpCDF(QString filename);
00047 void dumpNETCDF(QString filename);
00048 void dumpAUDIOFILE(QString filename);
00049 void dumpIMAGE(QString filename);
00050 void dumpBINARY(QDataStream *d);
00051 void dumpKexiDB();
00052 Plot *plot;
00053 int item;
00054 KLineEdit *startrow, *endrow, *samplele;
00055 QLabel *slabel, *flabel, *cdfcomlabel, *cdfenclabel, *audioformatlabel, *samplelabel;
00056 KComboBox *sc, *ic, *exportcb, *cdfcomcb, *cdfenccb, *audioformatcb;
00057 QCheckBox *imagecb, *compresscb, *headercb;
00058 KComboBox *binarytypecb;
00059 FilterKexiDB *kexi;
00060 KComboBox *driver, *databases, *tables;
00061 QLabel *connectionlabel, *tablelabel;
00062 KLineEdit *host, *user, *password;
00063 };
00064
00065 #endif // EXPORTDIALOG_H