]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/tool.h
Move common accept/cancel handling to the Tool class
[r2c2.git] / source / designer / tool.h
index bfadfc03feae9154b1ab1215e103add88ed03d7e..137ac5c326e26fd767fd14decc604a26a0eeae65 100644 (file)
@@ -22,6 +22,7 @@ protected:
        R2C2::Vector ground_pointer;
        std::string status;
        bool done;
+       bool accepted;
 
        Tool(Designer &, Msp::Input::Mouse &);
 public:
@@ -29,14 +30,18 @@ public:
 
 protected:
        void set_status(const std::string &);
-       void set_done();
+       void set_done(bool);
 public:
        const std::string &get_status() const { return status; }
        bool is_done() const { return done; }
 
-       virtual void button_press(unsigned) { }
+protected:
+       virtual void button_press(unsigned);
        virtual void axis_motion(unsigned, float, float);
+       virtual void pointer_motion() { }
+       virtual void finish() { }
 
+public:
        virtual void update_selection(Selection &) const { }
 };