#ifndef TOOLGRAB_H_ #define TOOLGRAB_H_ #include "Tool.h" #include "EditManager.h" #include "SidebarView.h" class ToolGrab : public Tool, private EventHandler { private: GtkWidget *image; EditManager *editManager; SidebarView sidebar; bool pressed; Vertex grabbedVertex; // prevent shallow copy ToolGrab(const ToolGrab &t); const ToolGrab& operator=(const ToolGrab &t); public: ToolGrab(EditManager *editManager); virtual ~ToolGrab(); virtual void activate(); virtual const char *getType() const { return "ToolGrab"; } virtual const char *getName() const { return "Grab"; } virtual GtkWidget *getImage() { return image; } virtual bool hoverFilter(const LevelObject &object) const { return object.canMove(); } virtual EventHandler* getEventHandler() { return this; } virtual bool buttonPress(unsigned int button, const Vertex *v); virtual bool buttonRelease(unsigned int button, const Vertex *v); virtual bool motion(const Vertex *v); virtual Sidebar* getSidebar() { return &sidebar; } }; #endif /*TOOLGRAB_H_*/