use syntactic sugar
[ardour.git] / gtk2_ardour / lua_script_manager.h
index a01813fe6a37a8b352e3d7a00bf8649365da0039..e344e6a94e20ff6659b3857ce03de4ae79f7f21e 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
-#include <gtkmm.h>
+#ifndef _gtk2_ardour_lua_script_manager_h_
+#define _gtk2_ardour_lua_script_manager_h_
+
+#include <gtkmm/button.h>
+#include <gtkmm/notebook.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/treemodel.h>
+#include <gtkmm/treeview.h>
+
 #include "ardour/luascripting.h"
 
 #include "ardour_window.h"
@@ -26,9 +34,9 @@ class LuaScriptManager : public ArdourWindow
 {
 public:
        LuaScriptManager ();
+       void set_session (ARDOUR::Session *);
 
 protected:
-       bool on_delete_event (GdkEventAny*);
        void session_going_away();
 
 private:
@@ -99,4 +107,33 @@ private:
 
        Gtk::Button _c_add_button;
        Gtk::Button _c_del_button;
+
+       /* Session scripts */
+       void setup_session_scripts ();
+       void session_script_selection_changed ();
+
+       void add_sess_btn_clicked ();
+       void del_sess_btn_clicked ();
+
+       class LuaSessionScriptModelColumns : public Gtk::TreeModelColumnRecord
+       {
+               public:
+                       LuaSessionScriptModelColumns ()
+                       {
+                               add (name);
+                       }
+
+                       Gtk::TreeModelColumn<std::string> name;
+       };
+
+       Glib::RefPtr<Gtk::ListStore> _s_store;
+       LuaCallbackScriptModelColumns _s_model;
+       Gtk::TreeView _s_view;
+
+       Gtk::Button _s_add_button;
+       Gtk::Button _s_del_button;
+
+       PBD::ScopedConnection _session_script_connection;
 };
+
+#endif /* _gtk2_ardour_lua_script_manager_h_ */