#ifndef TOOL_H_
#define TOOL_H_
#include "Object.h"
#include "EventHandler.h"
#include "Sidebar.h"
#include "Renderer.h"
#include <gtk/gtk.h>
class Tool : public Object {
public:
virtual ~Tool() {}
virtual void activate() {};
virtual void deactivate() {};
virtual const char* getName() const {
return getType();
}
virtual GtkWidget* getImage() = 0;
virtual bool isSensitive() const {
return true;
virtual bool hoverFilter(const LevelObject &object) const = 0;
virtual EventHandler* getEventHandler() = 0;
virtual Sidebar* getSidebar() = 0;
virtual Renderer* getRenderer() {return NULL;}
};
#endif /*TOOL_H_*/