diff options
author | Carl Hetherington <carl@carlh.net> | 2009-07-17 22:54:45 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2009-07-17 22:54:45 +0000 |
commit | 50437bff22279473cd364d007d5e474af2a542bc (patch) | |
tree | 4ebe55e6ac2ae8ded3dfd12a2f1b6e866a9dd6c4 /gtk2_ardour/port_matrix.h | |
parent | b89a786b3e300ce3eb28c4e6791e8e141afb19f9 (diff) |
Various tweaks to the port matrix: open to full size; remove buttons and move their functionality into a context menu;
set maximum size hint to stop port matrix windows being resized beyond their useful size; remove visibility checkbuttons -
visibility now controlled through menu or by clicking on group names; port groups fold down to a small tab when hidden;
don't swap the orientation of the matrix once it has been opened.
git-svn-id: svn://localhost/ardour2/branches/3.0@5373 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix.h')
-rw-r--r-- | gtk2_ardour/port_matrix.h | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/gtk2_ardour/port_matrix.h b/gtk2_ardour/port_matrix.h index 531fdf6978..76f6d09a6a 100644 --- a/gtk2_ardour/port_matrix.h +++ b/gtk2_ardour/port_matrix.h @@ -60,7 +60,11 @@ public: void disassociate_all (); void setup_scrollbars (); - void popup_channel_context_menu (int, uint32_t, uint32_t); + void popup_menu ( + std::pair<boost::shared_ptr<PortGroup>, ARDOUR::BundleChannel>, + std::pair<boost::shared_ptr<PortGroup>, ARDOUR::BundleChannel>, + uint32_t + ); int min_height_divisor () const { return _min_height_divisor; @@ -83,8 +87,6 @@ public: return _show_only_bundles; } - void set_show_only_bundles (bool); - PortGroupList const * columns () const; /** @return index into the _ports array for the list which is displayed as columns */ @@ -107,6 +109,8 @@ public: virtual void setup_ports (int) = 0; void setup_all_ports (); + std::pair<uint32_t, uint32_t> max_size () const; + /** @param c Channels; where c[0] is from _ports[0] and c[1] is from _ports[1]. * @param s New state. */ @@ -148,12 +152,14 @@ private: void vscroll_changed (); void routes_changed (); void reconnect_to_routes (); - void visibility_toggled (boost::weak_ptr<PortGroup>, Gtk::CheckButton *); void select_arrangement (); void remove_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t); void rename_channel_proxy (boost::weak_ptr<ARDOUR::Bundle>, uint32_t); void disassociate_all_on_channel (boost::weak_ptr<ARDOUR::Bundle>, uint32_t, int); void setup_global_ports (); + void hide_group (boost::weak_ptr<PortGroup>); + void show_group (boost::weak_ptr<PortGroup>); + void toggle_show_only_bundles (); /// port type that we are working with ARDOUR::DataType _type; @@ -162,22 +168,14 @@ private: PortMatrixBody* _body; Gtk::HScrollbar _hscroll; Gtk::VScrollbar _vscroll; - Gtk::HBox _column_visibility_box; - bool _column_visibility_box_added; - Gtk::Label _column_visibility_label; - std::vector<Gtk::CheckButton*> _column_visibility_buttons; - Gtk::VBox _row_visibility_box; - bool _row_visibility_box_added; - Gtk::Label _row_visibility_label; - std::vector<Gtk::CheckButton*> _row_visibility_buttons; - Gtk::Table _scroller_table; Gtk::Menu* _menu; - bool _setup_once; Arrangement _arrangement; int _row_index; int _column_index; int _min_height_divisor; bool _show_only_bundles; + bool _inhibit_toggle_show_only_bundles; + bool _first_setup; }; #endif |