- clear ();
-
- int const rows = n_rows ();
-
- /* Row labels */
-
- _row_labels_vbox = new VBox;
- int const run_rows = std::max (1, rows);
-
- for (int j = 0; j < run_rows; ++j) {
-
- /* embolden the port/channel name */
-
- string s = "<b>";
- s += row_name (j);
- s += "</b>";
-
- Label* label = manage (new Label (s));
- EventBox* b = manage (new EventBox);
-
- label->set_use_markup (true);
-
- b->set_events (Gdk::BUTTON_PRESS_MASK);
- b->signal_button_press_event().connect (sigc::bind (sigc::mem_fun (*this, &IOSelector::row_label_button_pressed), j));
- b->add (*label);
-
- _row_labels.push_back (b);
- _row_labels_vbox->pack_start (*b, false, false);
- }
-
- _side_vbox_pad = new Label (""); /* unmanaged, explicitly deleted */
-
- if (_offer_inputs) {
- _side_vbox.pack_start (*_side_vbox_pad, false, false);
- _side_vbox.pack_start (*_row_labels_vbox, false, false);
- _side_vbox.pack_start (*manage (new Label ("")));
- } else {
- _side_vbox.pack_start (*manage (new Label ("")));
- _side_vbox.pack_start (*_row_labels_vbox, false, false);
- _side_vbox.pack_start (*_side_vbox_pad, false, false);