summaryrefslogtreecommitdiff
path: root/gtk2_ardour/port_matrix.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-07-17 22:54:45 +0000
committerCarl Hetherington <carl@carlh.net>2009-07-17 22:54:45 +0000
commit50437bff22279473cd364d007d5e474af2a542bc (patch)
tree4ebe55e6ac2ae8ded3dfd12a2f1b6e866a9dd6c4 /gtk2_ardour/port_matrix.h
parentb89a786b3e300ce3eb28c4e6791e8e141afb19f9 (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.h26
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