-
-BindableToggleButton::BindableToggleButton (MIDI::Controllable *mc)
- : ToggleButton (),
- prompter (Gtk::WIN_POS_MOUSE, 30000, false),
- midi_control (mc),
- bind_button (2),
- bind_statemask (Gdk::CONTROL_MASK)
-
-{
- init_events ();
-}
-
-BindableToggleButton::BindableToggleButton(MIDI::Controllable *mc, const string &label)
- : ToggleButton (label),
- prompter (Gtk::WIN_POS_MOUSE, 30000, false),
- midi_control (mc),
- bind_button (2),
- bind_statemask (Gdk::CONTROL_MASK)
-{
- init_events ();
-}
-
-
-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;
- unprompting = false;
-
- if (midi_control) {
- midi_control->learning_started.connect (mem_fun (*this, &BindableToggleButton::midicontrol_prompt));
- midi_control->learning_stopped.connect (mem_fun (*this, &BindableToggleButton::midicontrol_unprompt));
- }
-}