paysages3d/gui_qt/dialognoise.h
2012-02-21 13:41:02 +00:00

48 lines
992 B
C++

#ifndef _PAYSAGES_QT_DIALOGNOISE_H_
#define _PAYSAGES_QT_DIALOGNOISE_H_
#include <QDialog>
#include <QListWidget>
#include "basepreview.h"
#include "../lib_paysages/noise.h"
class DialogNoise : public QDialog
{
Q_OBJECT
public:
explicit DialogNoise(QWidget* parent, NoiseGenerator* noise);
~DialogNoise();
static bool getNoise(QWidget* parent, NoiseGenerator* noise);
public slots:
virtual void accept();
void revert();
protected:
virtual void closeEvent(QCloseEvent* e);
private:
void revertToCurrent();
private slots:
void addLevel();
void removeLevel();
void levelChanged(int row);
void heightChanged(int value);
void scalingChanged(int value);
private:
NoiseGenerator* _base;
NoiseGenerator* _current;
int _current_level;
NoiseLevel _current_level_params;
BasePreview* previewLevel;
BasePreview* previewTotal;
QListWidget* levels;
QSlider* slider_height;
QSlider* slider_scaling;
};
#endif