NEURON
ocpicker.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include <InterViews/input.h>
6 #include <InterViews/event.h>
7 #include <InterViews/handler.h>
8 #include "rubband.h"
9 
10 class Canvas;
11 class Allocation;
12 class Hit;
13 class ButtonHandler;
14 
15 /* steer to the right method in response to a mouse action */
16 
18  public:
20  virtual ~StandardPicker();
21 
22  virtual bool pick(Canvas*, Glyph*, int depth, Hit& h);
23 
24  void bind_select(Rubberband* rb) {
25  bind_press(Event::left, rb);
26  }
27  void bind_adjust(Rubberband* rb) {
28  bind_press(Event::middle, rb);
29  }
30  void bind_menu(Rubberband* rb) {
31  bind_press(Event::right, rb);
32  }
34 
36  bind_press(Event::left, h);
37  }
39  bind_press(Event::middle, h);
40  }
41  void bind_menu(OcHandler* h) {
42  bind_press(Event::right, h);
43  }
44 
45  void bind_move(OcHandler* h) {
46  bind(0, 0, h);
47  }
49  bind(1, eb, h);
50  }
52  bind(2, eb, h);
53  }
55  bind(3, eb, h);
56  }
57  void bind(int, EventButton eb, OcHandler* h);
58 
59  void unbind(int, EventButton);
61 
62  private:
63  void event(const Event&);
64 
65  private:
66  typedef int State;
70  std::vector<ButtonHandler*>* handlers_[unknown];
71 };
#define Canvas
Definition: _defines.h:63
#define Hit
Definition: _defines.h:145
#define Event
Definition: _defines.h:105
#define EventButton
Definition: _defines.h:19
#define Glyph
Definition: _defines.h:130
void bind_press(EventButton eb, Rubberband *)
void bind_release(EventButton eb, OcHandler *h)
Definition: ocpicker.h:54
virtual bool pick(Canvas *, Glyph *, int depth, Hit &h)
void bind_drag(EventButton eb, OcHandler *h)
Definition: ocpicker.h:51
std::vector< ButtonHandler * > * handlers_[unknown]
Definition: ocpicker.h:70
void remove_all(EventButton)
void bind_menu(OcHandler *h)
Definition: ocpicker.h:41
void bind_move(OcHandler *h)
Definition: ocpicker.h:45
void bind_adjust(OcHandler *h)
Definition: ocpicker.h:38
void bind_select(OcHandler *h)
Definition: ocpicker.h:35
void event(const Event &)
void bind_press(EventButton eb, OcHandler *h)
Definition: ocpicker.h:48
void bind_menu(Rubberband *rb)
Definition: ocpicker.h:30
virtual ~StandardPicker()
void bind_select(Rubberband *rb)
Definition: ocpicker.h:24
EventButton mb_
Definition: ocpicker.h:69
void bind_adjust(Rubberband *rb)
Definition: ocpicker.h:27
void unbind(int, EventButton)
void bind(int, EventButton eb, OcHandler *h)