1 #include <../../nrnconf.h>
6 #include <InterViews/hit.h>
35 ButtonHandler::~ButtonHandler() {
43 handlers_[
i] =
new std::vector<ButtonHandler*>();
58 const Event& e = *h.event();
60 h.target(depth, glyph, 0, e.grabber());
66 if (b->eb_ == Event::any || b->eb_ ==
mb_) {
68 h.target(depth, glyph, 0, b->handler_);
71 h.target(depth, glyph, 0, b->rband_);
85 mb_ = e.pointer_button();
89 (e.left_is_down() || e.right_is_down() || e.middle_is_down())) {
101 mb_ = e.pointer_button();
108 if (b->eb_ == Event::any || b->eb_ == eb) {
120 handlers_[m]->push_back(
new ButtonHandler(eb, h));
128 handlers_[m]->push_back(
new ButtonHandler(eb, rb));
133 for (
int m = 0; m <
unknown; ++m) {
virtual void unref() const
void bind_press(EventButton eb, Rubberband *)
virtual bool pick(Canvas *, Glyph *, int depth, Hit &h)
std::vector< ButtonHandler * > * handlers_[unknown]
void remove_all(EventButton)
void event(const Event &)
virtual ~StandardPicker()
void unbind(int, EventButton)
void bind(int, EventButton eb, OcHandler *h)
static double remove(void *v)