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