summaryrefslogtreecommitdiff
path: root/gtk2_ardour/option_editor.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-11-27 17:33:31 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-02-22 15:31:25 -0500
commite268a9d2aae5012d494680d851abe1415c2063c6 (patch)
tree54af03df19ea911f022522fbabcdc2939bbb9f7b /gtk2_ardour/option_editor.h
parent30b065f6efcd3ecdbee10aef2e01eae55dcf8e8c (diff)
fix inheritance/class design to get both SessionOptionEditor and RCOptionEditor to work correctly
Diffstat (limited to 'gtk2_ardour/option_editor.h')
-rw-r--r--gtk2_ardour/option_editor.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h
index 0823d16630..51cdc0131f 100644
--- a/gtk2_ardour/option_editor.h
+++ b/gtk2_ardour/option_editor.h
@@ -25,7 +25,10 @@
#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"
@@ -680,7 +683,7 @@ public:
};
/** The OptionEditor dialog base class */
-class OptionEditor : public Gtk::VBox, public ARDOUR::SessionHandlePtr
+class OptionEditor : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
{
public:
OptionEditor (PBD::Configuration *, std::string const &);
@@ -692,19 +695,33 @@ public:
void set_current_page (std::string const &);
protected:
-
virtual void parameter_changed (std::string const &);
PBD::Configuration* _config;
+ Gtk::Notebook& notebook() { return _notebook; }
private:
-
PBD::ScopedConnection config_connection;
-
Gtk::Notebook _notebook;
std::map<std::string, OptionEditorPage*> _pages;
};
-#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() {}
+};
+/** The OptionEditor dialog-as-container base class */
+class OptionEditorWindow : public OptionEditor, public Gtk::Window
+{
+public:
+ OptionEditorWindow (PBD::Configuration *, std::string const &);
+ ~OptionEditorWindow() {}
+private:
+ Gtk::VBox container;
+};
+#endif /* __gtk_ardour_option_editor_h__ */