00001 #ifndef FRACTALEFACTORY_H
00002 #define FRACTALEFACTORY_H
00003
00004 #include <QObject>
00005 #include <QStringList>
00006 #include <QDebug>
00007
00008 #include "fractal.h"
00009
00010 #include "mandelbrot.h"
00011 #include "nova.h"
00012 #include "boat.h"
00013 #include "tricorn.h"
00014 #include "julian.h"
00015 #include "newton.h"
00016 #include <QInputDialog>
00017
00024 class FractalFactory : public QObject
00025 {
00026
00027 static FractalFactory * _instance;
00028 public:
00029 static FractalFactory * instance(QObject * parent = 0);
00030
00031
00032 private:
00033 QStringList _fractaleNames;
00034
00035 explicit FractalFactory(QObject *parent = 0);
00036
00037 public:
00038 QStringList names() { return _fractaleNames; }
00039 Fractal * fractal(QString name, int limit, bool autoParam = true);
00040 };
00041
00042 #endif // FRACTALEFACTORY_H