#ifndef TOOLADDPOLYGON_H_
#define TOOLADDPOLYGON_H_
#include "Tool.h"
#include "EditManager.h"
#include "SidebarAdd.h"
class ToolAddPolygon : public Tool, private EventHandler, private Renderer {
private:
GtkWidget *image;
EditManager *editManager;
SidebarAdd sidebar;
Room newRoom;
// prevent shallow copy
ToolAddPolygon(const ToolAddPolygon &t);
const ToolAddPolygon& operator=(const ToolAddPolygon &t);
public:
ToolAddPolygon(EditManager *editManager);
virtual ~ToolAddPolygon();
virtual void activate();
virtual void deactivate();
virtual const char *getType() const {
return "ToolAddPolygon";
}
virtual const char *getName() const {
return "Add polygonal room";
virtual bool isSensitive() {
return TRUE;
virtual GtkWidget *getImage() {
return image;
virtual EventHandler* getEventHandler() {
return this;
virtual Renderer *getRenderer() {
virtual void render(const Level &level, const Rectangle &rect, float scale);
virtual bool buttonPress(unsigned int button, const Vertex *v);
virtual Sidebar* getSidebar() {
return &sidebar;
};
#endif /*TOOLADDPOLYGON_H_*/