using namespace std;
using namespace Gtk;
-using namespace sigc;
using namespace ARDOUR;
MidiChannelSelector::MidiChannelSelector(int n_rows, int n_columns, int start_row, int start_column)
_button_labels[row][column].set_justify(JUSTIFY_RIGHT);
_buttons[row][column].add(_button_labels[row][column]);
_buttons[row][column].signal_toggled().connect(
- bind(
- mem_fun(this, &MidiChannelSelector::button_toggled),
+ sigc::bind(
+ sigc::mem_fun(this, &MidiChannelSelector::button_toggled),
&_buttons[row][column],
channel_nr - 1));
+ _buttons[row][column].signal_button_release_event().connect(
+ sigc::mem_fun(this, &MidiChannelSelector::was_clicked), false);
+
+
int table_row = start_row + row;
int table_column = start_column + column;
attach(_buttons[row][column], table_column, table_column + 1, table_row, table_row + 1);
{
}
+bool
+MidiChannelSelector::was_clicked (GdkEventButton*)
+{
+ clicked ();
+ return false;
+}
+
void
MidiChannelSelector::set_channel_colors(const uint32_t new_channel_colors[16])
{
{
_select_all.add(*manage(new Label(_("All"))));
_select_all.signal_clicked().connect(
- bind(mem_fun(this, &MidiMultipleChannelSelector::select_all), true));
+ sigc::bind(sigc::mem_fun(this, &MidiMultipleChannelSelector::select_all), true));
_select_none.add(*manage(new Label(_("None"))));
_select_none.signal_clicked().connect(
- bind(mem_fun(this, &MidiMultipleChannelSelector::select_all), false));
+ sigc::bind(sigc::mem_fun(this, &MidiMultipleChannelSelector::select_all), false));
_invert_selection.add(*manage(new Label(_("Invert"))));
_invert_selection.signal_clicked().connect(
- mem_fun(this, &MidiMultipleChannelSelector::invert_selection));
+ sigc::mem_fun(this, &MidiMultipleChannelSelector::invert_selection));
_force_channel.add(*manage(new Label(_("Force"))));
_force_channel.signal_toggled().connect(
- mem_fun(this, &MidiMultipleChannelSelector::force_channels_button_toggled));
+ sigc::mem_fun(this, &MidiMultipleChannelSelector::force_channels_button_toggled));
set_homogeneous(false);
attach(*manage(new VSeparator()), 4, 5, 0, 4, SHRINK, FILL, 0, 0);