summaryrefslogtreecommitdiffstats
path: root/Tool.h
blob: 8cabfdff4106f54b3aa562685c11dcf0e8eeb1ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#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() = 0;
    
    virtual EventHandler* getEventHandler() = 0;
    virtual Sidebar* getSidebar() = 0;
    virtual Renderer* getRenderer() {return NULL;}
};

#endif /*TOOL_H_*/