Fix out-of-whack notebook tabs wrt their contents in certain port matrices, broken...
[ardour.git] / gtk2_ardour / global_port_matrix.h
index 98b898f8aa77158dee6e20f33294cd47f41c65b0..2ecf26c33d5903bd2d7e5ea0710d3959878d9840 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2009 Paul Davis 
+    Copyright (C) 2009 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 class GlobalPortMatrix : public PortMatrix
 {
 public:
-       GlobalPortMatrix (ARDOUR::Session&, ARDOUR::DataType);
+       GlobalPortMatrix (Gtk::Window*, ARDOUR::Session*, ARDOUR::DataType);
 
        void setup_ports (int);
-       
+
        void set_state (ARDOUR::BundleChannel c[2], bool);
        PortMatrixNode::State get_state (ARDOUR::BundleChannel c[2]) const;
 
-       void add_channel (boost::shared_ptr<ARDOUR::Bundle>) {}
-       bool can_remove_channels (int d) const {
-               return false;
-       }
-       void remove_channel (ARDOUR::BundleChannel) {}
-       bool can_rename_channels (int d) const {
-               return false;
-       }
+       std::string disassociation_verb () const;
+       std::string channel_noun () const;
 
        bool list_is_global (int) const {
                return true;
@@ -56,15 +50,16 @@ private:
        };
 };
 
-
-class GlobalPortMatrixWindow : public Gtk::Window
+class GlobalPortMatrixWindow : public ArdourDialog
 {
 public:
-       GlobalPortMatrixWindow (ARDOUR::Session&, ARDOUR::DataType);
+       GlobalPortMatrixWindow (ARDOUR::Session *, ARDOUR::DataType);
+
+       void set_session (ARDOUR::Session *);
 
 private:
-       void show_ports_toggled ();
-       
+       void on_show ();
+
        GlobalPortMatrix _port_matrix;
        Gtk::Button _rescan_button;
        Gtk::CheckButton _show_ports_button;