use new action map API instead of ActionManager::get_action
[ardour.git] / gtk2_ardour / editor_snapshots.h
index 1a17e6de3016931a8379e9e578f330bb16f0399e..71765cb4ab261a736b017874e9f7fe5710e5ab59 100644 (file)
 
 */
 
+#ifndef __gtk_ardour_editor_snapshots_h__
+#define __gtk_ardour_editor_snapshots_h__
+
 #include <gtkmm/widget.h>
 #include <gtkmm/scrolledwindow.h>
 #include <gtkmm/treemodel.h>
 #include <gtkmm/treeview.h>
+
+#include "widgets/pane.h"
+
 #include "editor_component.h"
 
-class EditorSnapshots : public EditorComponent
+class EditorSnapshots : public EditorComponent, public ARDOUR::SessionHandlePtr
 {
 public:
        EditorSnapshots (Editor *);
 
-       void connect_to_session (ARDOUR::Session *);
+       void set_session (ARDOUR::Session *);
 
        Gtk::Widget& widget () {
-               return _scroller;
+               return _pane;
        }
 
        void redisplay ();
 
 private:
 
-       Gtk::ScrolledWindow _scroller;
+       ArdourWidgets::VPane _pane;
+
+       Gtk::ScrolledWindow _snap_scroller;
+       Gtk::ScrolledWindow _back_scroller;
 
        struct Columns : public Gtk::TreeModel::ColumnRecord {
                Columns () {
                        add (visible_name);
                        add (real_name);
+                       add (time_formatted);
                }
-               Gtk::TreeModelColumn<Glib::ustring> visible_name;
-               Gtk::TreeModelColumn<Glib::ustring> real_name;
+               Gtk::TreeModelColumn<std::string> visible_name;
+               Gtk::TreeModelColumn<std::string> real_name;
+               Gtk::TreeModelColumn<std::string> time_formatted;
        };
 
        Columns _columns;
-       Glib::RefPtr<Gtk::ListStore> _model;
-       Gtk::TreeView _display;
+       Glib::RefPtr<Gtk::ListStore> _snap_model;
+       Glib::RefPtr<Gtk::ListStore> _back_model;
+       Gtk::TreeView _snap_display;
+       Gtk::TreeView _back_display;
        Gtk::Menu _menu;
 
        bool button_press (GdkEventButton *);
        void selection_changed ();
-       void popup_context_menu (int, int32_t, Glib::ustring);
-       void remove (Glib::ustring);
-       void rename (Glib::ustring);
+       void popup_context_menu (int, int32_t, std::string);
+       void remove (std::string);
+       void rename (std::string);
+
+       void backup_selection_changed ();
 };
+
+#endif // __gtk_ardour_editor_snapshots_h__