add an example script to show/hide TAVs
[ardour.git] / gtk2_ardour / keyeditor.h
index 2a612160fae72ea34d1d09c5dbfa8e92b84c8981..aedd41d4f21afe76fe26068f95e9f1157bfdff5e 100644 (file)
@@ -43,13 +43,19 @@ class KeyEditor : public ArdourWindow
        void add_tab (std::string const &name, Gtkmm2ext::Bindings&);
        void remove_tab (std::string const &name);
 
+       static sigc::signal<void> UpdateBindings;
+
+       void disconnect () {
+               _refresh_connection.disconnect ();
+       }
+
        private:
        class Tab : public Gtk::VBox
        {
                public:
                Tab (KeyEditor&, std::string const &name, Gtkmm2ext::Bindings*);
 
-               void populate ();
+               uint32_t populate ();
                void unbind ();
                void bind (GdkEventKey* release_event, guint pressed_key);
                void action_selected ();
@@ -105,6 +111,8 @@ class KeyEditor : public ArdourWindow
        Gtk::Label reset_label;
        Gtkmm2ext::SearchBar filter_entry;
        std::string filter_string;
+       Gtk::Button print_button;
+       Gtk::Label print_label;
 
        typedef std::vector<Tab*> Tabs;
 
@@ -113,12 +121,16 @@ class KeyEditor : public ArdourWindow
 
        void unbind ();
        void reset ();
+       void refresh ();
        void page_change (GtkNotebookPage*, guint);
 
        unsigned int sort_column;
        Gtk::SortType sort_type;
        void toggle_sort_type ();
        void search_string_updated (const std::string&);
+       void print () const;
+
+       sigc::connection _refresh_connection;
 };
 
 #endif /* __ardour_gtk_key_editor_h__ */