1 #include <../../nrnconf.h>
5 #include <InterViews/hit.h>
34 ButtonHandler::~ButtonHandler() {
51 for (
long j = 0;
j <
cnt;
j++) {
61 const Event&
e = *h.event();
63 h.target(depth, glyph, 0,
e.grabber());
69 for (
long i = 0;
i <
cnt; ++
i) {
71 if (b.eb_ == Event::any || b.eb_ ==
mb_) {
73 h.target(depth, glyph, 0, b.handler_);
76 h.target(depth, glyph, 0, b.rband_);
90 mb_ =
e.pointer_button();
94 (
e.left_is_down() ||
e.right_is_down() ||
e.middle_is_down())) {
106 mb_ =
e.pointer_button();
114 for (
i = 0,
j = 0;
i <
cnt; ++
i) {
116 if (b.eb_ == Event::any || b.eb_ == eb) {
128 handlers_[m]->append(
new ButtonHandler(eb, h));
136 handlers_[m]->append(
new ButtonHandler(eb, rb));
141 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)
void remove_all(EventButton)
HandlerList * handlers_[unknown]
void event(const Event &)
virtual ~StandardPicker()
void unbind(int, EventButton)
void bind(int, EventButton eb, OcHandler *h)
#define implementPtrList(PtrList, T)
#define declarePtrList(PtrList, T)