using namespace std;
BindableToggleButton::BindableToggleButton (MIDI::Controllable *mc)
- : ToggleButton (),
- prompter (Gtk::WIN_POS_MOUSE, 30000, false),
+ : prompter (Gtk::WIN_POS_MOUSE, 30000, false),
midi_control (mc),
bind_button (2),
bind_statemask (Gdk::CONTROL_MASK)
}
BindableToggleButton::BindableToggleButton(MIDI::Controllable *mc, const string &label)
- : ToggleButton (label),
+ : StatefulButton (label),
prompter (Gtk::WIN_POS_MOUSE, 30000, false),
midi_control (mc),
bind_button (2),
void
BindableToggleButton::init_events ()
{
- signal_button_press_event().connect (mem_fun (*this, &BindableToggleButton::button_press));
-
prompter.signal_unmap_event().connect (mem_fun (*this, &BindableToggleButton::prompter_hiding));
prompting = false;
}
}
-
-gint
-BindableToggleButton::button_press (GdkEventButton *ev)
-{
-
- if ((ev->state & bind_statemask) && ev->button == bind_button) {
- midi_learn ();
- return TRUE;
- }
-
- return FALSE;
-}
-
-gint
+bool
BindableToggleButton::prompter_hiding (GdkEventAny *ev)
{
if (unprompting) {
unprompting = false;
}
- return FALSE;
+ return false;
}