Don't show hidden controls inline in the mixer-strip
[ardour.git] / gtk2_ardour / option_editor.h
index 59fc6da37685aeb57eb6243872db010b92752669..132d260c05fbb4685decf2b593399593ca260bb1 100644 (file)
 #ifndef __gtk_ardour_option_editor_h__
 #define __gtk_ardour_option_editor_h__
 
-#include <gtkmm/notebook.h>
 #include <gtkmm/checkbutton.h>
 #include <gtkmm/comboboxtext.h>
+#include <gtkmm/filechooserbutton.h>
+#include <gtkmm/label.h>
+#include <gtkmm/notebook.h>
+#include <gtkmm/scale.h>
 #include <gtkmm/spinbutton.h>
 #include <gtkmm/table.h>
+#include <gtkmm/treestore.h>
+#include <gtkmm/treeview.h>
 #include <gtkmm/window.h>
 
-#include "gtkmm2ext/slider_controller.h"
+#include "widgets/slider_controller.h"
 
 #include "ardour_window.h"
 #include "audio_clock.h"
@@ -72,7 +77,7 @@ public:
        virtual void add_to_page (OptionEditorPage *) = 0;
 
        void add_widget_to_page (OptionEditorPage*, Gtk::Widget*);
-       void add_widgets_to_page (OptionEditorPage*, Gtk::Widget*, Gtk::Widget*);
+       void add_widgets_to_page (OptionEditorPage*, Gtk::Widget*, Gtk::Widget*, bool expand = true);
 
        void set_note (std::string const &);
 
@@ -509,7 +514,7 @@ public:
 
        void add_to_page (OptionEditorPage* p)
        {
-               add_widgets_to_page (p, _label, _box);
+               add_widgets_to_page (p, _label, _box, false);
        }
 
        void changed ()
@@ -544,7 +549,7 @@ private:
        bool on_key_press (GdkEventKey* ev);
 
        Gtk::Adjustment _db_adjustment;
-       Gtkmm2ext::HSliderController* _db_slider;
+       ArdourWidgets::HSliderController* _db_slider;
        Gtk::Entry _db_display;
        Gtk::Label _label;
        Gtk::HBox _box;
@@ -553,6 +558,21 @@ private:
        sigc::slot<bool, ARDOUR::gain_t> _set;
 };
 
+class WidgetOption : public Option
+{
+  public:
+       WidgetOption (std::string const & i, std::string const & n, Gtk::Widget& w);
+
+       void add_to_page (OptionEditorPage*);
+       void parameter_changed (std::string const &) {}
+       void set_state_from_config () {}
+
+       Gtk::Widget& tip_widget() { return *_widget; }
+
+  private:
+       Gtk::Widget* _widget;
+};
+
 class ClockOption : public Option
 {
 public: