nicer layout of MIDI channel selector
authorHans Baier <hansfbaier@googlemail.com>
Thu, 11 Oct 2012 08:13:40 +0000 (08:13 +0000)
committerHans Baier <hansfbaier@googlemail.com>
Thu, 11 Oct 2012 08:13:40 +0000 (08:13 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@13245 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/midi_channel_selector.h
gtk2_ardour/midi_time_axis.cc
gtk2_ardour/midi_time_axis.h

index d1a43ff9b7979769b1da4ef2e23e4691ba23473f..5764a8d813d76c4c2d85a9af46ce9e37129b4b28 100644 (file)
@@ -44,10 +44,11 @@ public:
 
 protected:
        virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr) = 0;
-       Gtk::Label        _button_labels[4][4];
+       Gtk::Label                      _button_labels[4][4];
        Gtkmm2ext::StatefulToggleButton _buttons[4][4];
-       int               _recursion_counter;
-        bool              was_clicked (GdkEventButton*);
+       int                             _recursion_counter;
+
+       bool              was_clicked (GdkEventButton*);
 };
 
 class SingleMidiChannelSelector : public MidiChannelSelector
index 9a4200b4af9cf39020ba8acf6365fe6c4632b3d6..a8960663e4cadbd9a3b91fa3b4604937310bf743 100644 (file)
@@ -201,7 +201,6 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
                }
        }
 
-       HBox* midi_controls_hbox = manage(new HBox());
 
        MIDI::Name::MidiPatchManager& patch_manager = MIDI::Name::MidiPatchManager::instance();
 
@@ -222,15 +221,20 @@ MidiTimeAxisView::set_route (boost::shared_ptr<Route> rt)
        ARDOUR_UI::instance()->set_tip (_model_selector, _("External MIDI Device"));
        ARDOUR_UI::instance()->set_tip (_custom_device_mode_selector, _("External Device Mode"));
 
-       midi_controls_hbox->pack_start(_channel_selector, true, false);
+       _midi_controls_box.set_homogeneous(false);
+
        if (!patch_manager.all_models().empty()) {
+               _midi_controls_box.resize(3, 3);
                _midi_controls_box.set_border_width (5);
-               _midi_controls_box.pack_start(_model_selector, true, false);
-               _midi_controls_box.pack_start(_custom_device_mode_selector, true, false);
+               _midi_controls_box.attach(_channel_selector, 1, 2, 0, 1);
+               _midi_controls_box.attach(*(new Label("  ", false)), 0, 1, 1, 2);
+               _midi_controls_box.attach(*(new Label("  ", false)), 2, 3, 1, 2);
+               _midi_controls_box.attach(_model_selector, 1, 2, 1, 2);
+               _midi_controls_box.attach(_custom_device_mode_selector, 1, 2, 2, 3);
+       } else {
+               _midi_controls_box.attach(_channel_selector, 1, 2, 0, 1);
        }
 
-       _midi_controls_box.pack_start(*midi_controls_hbox, true, true);
-
        controls_vbox.pack_start(_midi_controls_box, false, false);
 
        // restore channel selector settings
index 87619799478f1f16a9d49f969b78c8a4650987c2..bad85bcc9327b58cd11e4d52f3a841bfd6c61988 100644 (file)
@@ -130,7 +130,7 @@ class MidiTimeAxisView : public RouteTimeAxisView
        Gtk::RadioMenuItem*          _meter_color_mode_item;
        Gtk::RadioMenuItem*          _channel_color_mode_item;
        Gtk::RadioMenuItem*          _track_color_mode_item;
-       Gtk::VBox                    _midi_controls_box;
+       Gtk::Table                   _midi_controls_box;
        MidiMultipleChannelSelector  _channel_selector;
        Gtk::ComboBoxText            _model_selector;
        Gtk::ComboBoxText            _custom_device_mode_selector;