#include <gtkmm/comboboxtext.h>
#include <gtkmm/spinbutton.h>
#include <gtkmm/table.h>
+#include <gtkmm/window.h>
+
#include "gtkmm2ext/slider_controller.h"
+
#include "ardour_window.h"
#include "audio_clock.h"
#include "ardour/types.h"
};
/** The OptionEditor dialog base class */
-class OptionEditor : public Gtk::VBox, public ARDOUR::SessionHandlePtr
+class OptionEditor : virtual public sigc::trackable
{
public:
- OptionEditor (PBD::Configuration *, std::string const &);
- ~OptionEditor ();
+ OptionEditor (PBD::Configuration *);
+ virtual ~OptionEditor ();
void add_option (std::string const &, OptionEditorComponent *);
void add_page (std::string const &, Gtk::Widget& page_widget);
void set_current_page (std::string const &);
protected:
-
virtual void parameter_changed (std::string const &);
PBD::Configuration* _config;
+ Gtk::Notebook& notebook() { return _notebook; }
+ Gtk::TreeView& treeview() { return option_treeview; }
-private:
+ class OptionColumns : public Gtk::TreeModel::ColumnRecord
+ {
+ public:
+ Gtk::TreeModelColumn<std::string> name;
+ Gtk::TreeModelColumn<Gtk::Widget*> widget;
- PBD::ScopedConnection config_connection;
+ OptionColumns() {
+ add (name);
+ add (widget);
+ }
+ };
+
+ OptionColumns option_columns;
+ Glib::RefPtr<Gtk::TreeStore> option_tree;
+private:
+ PBD::ScopedConnection config_connection;
Gtk::Notebook _notebook;
+ Gtk::TreeView option_treeview;
std::map<std::string, OptionEditorPage*> _pages;
+
+ void add_path_to_treeview (std::string const &, Gtk::Widget&);
+ void treeview_row_selected ();
};
-#endif /* __gtk_ardour_option_editor_h__ */
+/** The OptionEditor dialog-as-container base class */
+class OptionEditorContainer : public OptionEditor, public Gtk::VBox
+{
+public:
+ OptionEditorContainer (PBD::Configuration *, std::string const &);
+ ~OptionEditorContainer() {}
+private:
+ Gtk::HBox hpacker;
+};
+/** The OptionEditor dialog-as-container base class */
+class OptionEditorWindow : public OptionEditor, public ArdourWindow
+{
+public:
+ OptionEditorWindow (PBD::Configuration *, std::string const &);
+ ~OptionEditorWindow() {}
+private:
+ Gtk::VBox container;
+ Gtk::HBox hpacker;
+};
+#endif /* __gtk_ardour_option_editor_h__ */