#ifndef TOOLADDRECT_H_
#define TOOLADDRECT_H_
#include "Tool.h"
#include "SidebarAdd.h"
class ToolAddRect : public Tool, public EventHandler, public Renderer {
private:
GtkWidget *image;
EditManager *editManager;
SidebarAdd sidebar;
bool pressed;
Vertex v1;
// prevent shallow copy
ToolAddRect(const ToolAddRect &t);
const ToolAddRect& operator=(const ToolAddRect &t);
Room createRoom();
public:
ToolAddRect(EditManager *editManager);
virtual ~ToolAddRect();
virtual void activate();
virtual const char *getType() const {
return "ToolAddRect";
}
virtual const char *getName() const {
return "Add rectangular 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 bool buttonRelease(unsigned int button, const Vertex *v);
virtual Sidebar* getSidebar() {
return &sidebar;
};
#endif /*TOOLADDRECT_H_*/