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:
00030 static FractalFactory * instance(QObject * parent = 0);
00031
00032
00033 private:
00034 QStringList _fractaleNames;
00035
00036 explicit FractalFactory(QObject *parent = 0);
00037
00038 public:
00040 QStringList names() { return _fractaleNames; }
00046 Fractal * fractal(QString name, int limit, bool autoParam = true);
00047 };
00048
00049 #endif // FRACTALEFACTORY_H