20 #ifndef __gtk_ardour_port_matrix_h__
21 #define __gtk_ardour_port_matrix_h__
24 #include <gtkmm/box.h>
25 #include <gtkmm/scrollbar.h>
26 #include <gtkmm/table.h>
27 #include <gtkmm/label.h>
28 #include <gtkmm/checkbutton.h>
29 #include <gtkmm/notebook.h>
30 #include <boost/shared_ptr.hpp>
53 namespace Menu_Helpers {
125 std::pair<uint32_t, uint32_t>
max_size ()
const;
virtual void set_state(ARDOUR::BundleChannel c[2], bool s)=0
void popup_menu(ARDOUR::BundleChannel, ARDOUR::BundleChannel, uint32_t)
void remove_channel_proxy(boost::weak_ptr< ARDOUR::Bundle >, uint32_t)
void update_tab_highlighting()
virtual std::string channel_noun() const
boost::shared_ptr< ARDOUR::IO > io_from_bundle(boost::shared_ptr< ARDOUR::Bundle >) const
virtual bool can_add_channels(boost::shared_ptr< ARDOUR::Bundle >) const
void remove_notebook_pages(Gtk::Notebook &)
virtual bool can_rename_channels(boost::shared_ptr< ARDOUR::Bundle >) const
virtual void remove_channel(ARDOUR::BundleChannel)
void add_remove_option(Gtk::Menu_Helpers::MenuList &, boost::weak_ptr< ARDOUR::Bundle >, int)
void notebook_page_selected(GtkNotebookPage *, guint)
bool should_show(ARDOUR::DataType) const
virtual PortMatrixNode::State get_state(ARDOUR::BundleChannel c[2]) const =0
uint32_t count_of_our_type(ARDOUR::ChanCount) const
bool _inhibit_toggle_show_only_bundles
virtual bool list_is_global(int) const =0
void disassociate_all_on_bundle(boost::weak_ptr< ARDOUR::Bundle >, int)
column labels on top, row labels to the right
PortMatrixNode::State get_association(PortMatrixNode) const
void session_going_away()
void add_disassociate_option(Gtk::Menu_Helpers::MenuList &, boost::weak_ptr< ARDOUR::Bundle >, int, int)
PBD::ScopedConnectionList _route_connections
virtual bool can_remove_channels(boost::shared_ptr< ARDOUR::Bundle >) const
void setup_global_ports_proxy()
bool on_scroll_event(GdkEventScroll *)
PBD::ScopedConnectionList _bundle_changed_connections
PortGroupList const * ports(int d) const
virtual std::string disassociation_verb() const =0
uint32_t count_of_our_type_min_1(ARDOUR::ChanCount) const
PortMatrix(Gtk::Window *, ARDOUR::Session *, ARDOUR::DataType)
void set_min_height_divisor(int f)
void set_type(ARDOUR::DataType)
std::pair< int, int > check_flip() const
row labels to the left, column labels on the bottom
bool show_only_bundles() const
ARDOUR::DataType type() const
void select_arrangement()
std::pair< uint32_t, uint32_t > max_size() const
virtual void add_channel(boost::shared_ptr< ARDOUR::Bundle >, ARDOUR::DataType)
boost::shared_ptr< const PortGroup > visible_ports(int d) const
int min_height_divisor() const
sigc::signal< void, Result > Finished
boost::shared_ptr< const PortGroup > visible_columns() const
bool key_press(GdkEventKey *)
void rename_channel_proxy(boost::weak_ptr< ARDOUR::Bundle >, uint32_t)
boost::shared_ptr< const PortGroup > visible_rows() const
void body_dimensions_changed()
virtual void rename_channel(ARDOUR::BundleChannel)
virtual void setup_ports(int)=0
static bool bundle_with_channels(boost::shared_ptr< ARDOUR::Bundle >)
void route_processors_changed(ARDOUR::RouteProcessorChange)
bool _ignore_notebook_page_selected
void setup_global_ports()
void port_connected_or_disconnected()
Arrangement arrangement() const
virtual void remove_all_channels(boost::weak_ptr< ARDOUR::Bundle >)
PortGroupList const * columns() const
PBD::ScopedConnectionList _changed_connections
void add_channel_proxy(boost::weak_ptr< ARDOUR::Bundle >, ARDOUR::DataType)
void toggle_show_only_bundles()
void reconnect_to_routes()
PortGroupList const * rows() const
void disassociate_all_on_channel(boost::weak_ptr< ARDOUR::Bundle >, uint32_t, int)