-#include "ardour_dialog.h"
-
-namespace ARDOUR {
- class Session;
- class IO;
- class PortInsert;
-}
-
-/// A group of port names
-class PortGroup
-{
- public:
- PortGroup (std::string const & p) : prefix (p) {}
-
- void add (std::string const & p);
-
- std::string prefix; ///< prefix (before colon) e.g. "ardour:"
- std::vector<std::string> ports; ///< port names
-};
-
-/// A table of checkbuttons to provide the GUI for connecting to a PortGroup
-class PortGroupTable
-{
- public:
- PortGroupTable (PortGroup&, boost::shared_ptr<ARDOUR::IO>, bool);
-
- Gtk::Widget& get_widget ();
- std::pair<int, int> unit_size () const;
-
- private:
- void check_button_toggled (Gtk::CheckButton*, int, std::string const &);
-
- Gtk::Table _table;
- Gtk::EventBox _box;
- PortGroup& _port_group;
- std::vector<std::vector<Gtk::CheckButton* > > _check_buttons;
- bool _ignore_check_button_toggle;
- boost::shared_ptr<ARDOUR::IO> _io;
- bool _for_input;
-};
-
-/// A list of PortGroups
-class PortGroupList : public std::list<PortGroup>