#define __export_preset_selector_h__
#include <sigc++/signal.h>
-#include <gtkmm.h>
-#include <ardour/export_profile_manager.h>
+#include <gtkmm/box.h>
+#include <gtkmm/button.h>
+#include <gtkmm/comboboxentry.h>
+#include <gtkmm/label.h>
+#include <gtkmm/liststore.h>
+#include <gtkmm/treemodel.h>
+
+#include "ardour/export_profile_manager.h"
class ExportPresetSelector : public Gtk::HBox
{
+public:
- public:
-
ExportPresetSelector ();
-
+
void set_manager (boost::shared_ptr<ARDOUR::ExportProfileManager> manager);
-
+
sigc::signal<void> CriticalSelectionChanged;
- private:
+private:
typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ManagerPtr;
- typedef ARDOUR::ExportProfileManager::PresetPtr PresetPtr;
+ typedef ARDOUR::ExportPresetPtr PresetPtr;
typedef ARDOUR::ExportProfileManager::PresetList PresetList;
-
+
ManagerPtr profile_manager;
sigc::connection select_connection;
-
+
void sync_with_manager ();
void update_selection ();
+ void create_new ();
void save_current ();
void remove_current ();
-
+
struct PresetCols : public Gtk::TreeModelColumnRecord
{
- public:
+ public:
Gtk::TreeModelColumn<PresetPtr> preset;
- Gtk::TreeModelColumn<Glib::ustring> label;
-
+ Gtk::TreeModelColumn<std::string> label;
+
PresetCols () { add (preset); add (label); }
};
PresetCols cols;
Glib::RefPtr<Gtk::ListStore> list;
PresetPtr current;
PresetPtr previous;
-
+
Gtk::Label label;
Gtk::ComboBoxEntry entry;
-
+
Gtk::Button save_button;
Gtk::Button remove_button;
Gtk::Button new_button;