#ifndef MAZESETTER_H
#define MAZESETTER_H

#include "varyingmenu.h"
#include "menuitems.h"
#include "common.h"
#include <string>

class MazeGen;

class MazeSetter: public VaryingMenu<MazeSetter> {
public:
	MazeSetter();
	void draw();

private:
	class Starter: public MenuItem {
	public:
		Starter(MazeSetter& setter):
			m_setter(setter)
			{}
		bool handleKey(SDLKey key);
		void draw() {
		}
	private:
		MazeSetter& m_setter;
	} m_starter;

	menuitems::IntGetter<uint> m_wsize;
	menuitems::IntGetter<uint> m_hsize;
	menuitems::StringPicker m_algo;

	MazeGen* m_generator;
};

#endif
