summaryrefslogtreecommitdiff
path: root/gtk2_ardour/port_matrix.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2009-05-03 14:31:42 +0000
committerCarl Hetherington <carl@carlh.net>2009-05-03 14:31:42 +0000
commit1ae39840b3e7b1740b44e5889983e93d837f8e90 (patch)
tree3d0e33c90ae040fff6f4b30250d0a22d0ce2c0c8 /gtk2_ardour/port_matrix.h
parent7e48118bf16702dc174875510b935f37290d56a7 (diff)
Support for the port matrix working at the bundle level and hiding details of ports.
git-svn-id: svn://localhost/ardour2/branches/3.0@5029 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/port_matrix.h')
-rw-r--r--gtk2_ardour/port_matrix.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/gtk2_ardour/port_matrix.h b/gtk2_ardour/port_matrix.h
index d397c5df05..531fdf6978 100644
--- a/gtk2_ardour/port_matrix.h
+++ b/gtk2_ardour/port_matrix.h
@@ -29,6 +29,7 @@
#include <boost/shared_ptr.hpp>
#include "ardour/bundle.h"
#include "port_group.h"
+#include "port_matrix_types.h"
/** The `port matrix' UI. This is a widget which lets the user alter
* associations between one set of ports and another. e.g. to connect
@@ -36,7 +37,7 @@
*
* It is made up of a body, PortMatrixBody, which is rendered using cairo,
* and some scrollbars and other stuff. All of this is arranged inside the
- * VBox that we inherit from.
+ * Table that we inherit from.
*/
namespace ARDOUR {
@@ -45,7 +46,7 @@ namespace ARDOUR {
class PortMatrixBody;
-class PortMatrix : public Gtk::VBox
+class PortMatrix : public Gtk::Table
{
public:
PortMatrix (ARDOUR::Session&, ARDOUR::DataType);
@@ -78,6 +79,12 @@ public:
return _arrangement;
}
+ bool show_only_bundles () const {
+ 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 */
@@ -105,16 +112,10 @@ public:
*/
virtual void set_state (ARDOUR::BundleChannel c[2], bool s) = 0;
- enum State {
- ASSOCIATED, ///< the ports are associaed
- NOT_ASSOCIATED, ///< the ports are not associated
- UNKNOWN ///< we don't know anything about these two ports' relationship
- };
-
/** @param c Channels; where c[0] is from _ports[0] and c[1] is from _ports[1].
* @return state
*/
- virtual State get_state (ARDOUR::BundleChannel c[2]) const = 0;
+ virtual PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const = 0;
virtual bool list_is_global (int) const = 0;
virtual void add_channel (boost::shared_ptr<ARDOUR::Bundle>) = 0;
@@ -161,7 +162,6 @@ private:
PortMatrixBody* _body;
Gtk::HScrollbar _hscroll;
Gtk::VScrollbar _vscroll;
- Gtk::HBox _main_hbox;
Gtk::HBox _column_visibility_box;
bool _column_visibility_box_added;
Gtk::Label _column_visibility_label;
@@ -177,6 +177,7 @@ private:
int _row_index;
int _column_index;
int _min_height_divisor;
+ bool _show_only_bundles;
};
#endif