Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+#include <algorithm>
#include <sstream>
+
#include "midi_channel_selector.h"
#include "gtkmm/separator.h"
#include "i18n.h"
: Table(n_rows, n_columns, true)
, _recursion_counter(0)
{
- assert(n_rows >= 4);
- assert(n_rows >= start_row + 4);
- assert(n_columns >=4);
- assert(n_columns >= start_column + 4);
+ n_rows = std::max(4, n_rows);
+ n_rows = std::max(4, start_row + 4);
+ n_columns = std::max(4, n_columns);
+ n_columns = std::max(4, start_column + 4);
property_column_spacing() = 0;
property_row_spacing() = 0;
sigc::mem_fun(this, &MidiChannelSelector::button_toggled),
&_buttons[row][column],
channel_nr - 1));
+ _buttons[row][column].set_widget_name (X_("MidiChannelSelectorButton"));
+
+ _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;
{
}
+bool
+MidiChannelSelector::was_clicked (GdkEventButton*)
+{
+ clicked ();
+ return false;
+}
+
void
MidiChannelSelector::set_channel_colors(const uint32_t new_channel_colors[16])
{
{
for (int row = 0; row < 4; ++row) {
for (int column = 0; column < 4; ++column) {
- _buttons[row][column].unset_bg(STATE_NORMAL);
- _buttons[row][column].unset_bg(STATE_ACTIVE);
+ _buttons[row][column].unset_fg (STATE_NORMAL);
+ _buttons[row][column].unset_fg (STATE_ACTIVE);
+ _buttons[row][column].unset_bg (STATE_NORMAL);
+ _buttons[row][column].unset_bg (STATE_ACTIVE);
}
}
}