00001 #ifndef MAINWINDOW_H
00002 #define MAINWINDOW_H
00003
00004 #include <QMainWindow>
00005 #include <QtDebug>
00006 #include <QThreadPool>
00007 #include <QTimer>
00008 #include <QPointer>
00009 #include <QFileDialog>
00010
00011 #include "fractal/fractalbuilder.h"
00012
00013 #include "fractal/colorator.h"
00014
00015 namespace Ui {
00016 class MainWindow;
00017 }
00018
00025 class MainWindow : public QMainWindow {
00026 Q_OBJECT
00027
00028 public:
00029 MainWindow(QWidget *parent = 0);
00030 ~MainWindow();
00031
00032 protected:
00033 void changeEvent(QEvent *e);
00034
00035 private:
00036 void initCustomBuilder();
00037 void initDefinedBuilder();
00038
00039 private slots:
00040 void on_gb_frac_create_clicked(bool checked);
00041 void on_gb_fract_defined_toggled(bool );
00042 void on_pb_drawImage_clicked();
00043 void on_pb_new_tab_clicked();
00044
00045 void drawTempImage();
00046 void drawImage();
00047 void updateInfo();
00048
00049 void exportImage();
00050 void closeTab();
00051
00052 private:
00053 QPointer<FractalBuilder> _currentBuilder;
00054 QTimer * _preview;
00055 QTime _counter;
00056 int _tabCounter;
00057
00058 QString _drawHere;
00059 QString _stop;
00060
00061 Ui::MainWindow *ui;
00062 };
00063
00064 #endif // MAINWINDOW_H