fix up inheritance heirarchy and constructors so that the Session Properties dialog...
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 7 Jun 2016 13:05:50 +0000 (09:05 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 7 Jun 2016 13:05:50 +0000 (09:05 -0400)
... and is thus subject to Ctrl-w to close it

gtk2_ardour/ardour_window.h
gtk2_ardour/option_editor.cc
gtk2_ardour/option_editor.h

index a4c5aaa0e434ffb15282589ecd6dc141522baf79..fe97855a4971e69da35f03c1a470ee184272285a 100644 (file)
@@ -37,7 +37,7 @@ namespace WM {
  * method of connecting and disconnecting from a Session with
  * all other objects that have a handle on a Session.
  */
-class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
+class ArdourWindow : public Gtk::Window, public virtual ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
 {
 public:
        ArdourWindow (std::string title);
index be3414552a05090db97e20d57d81b2f6949c5362..1088d1d9b4f27708f75e1a2f2c09ebba51882d46 100644 (file)
@@ -470,7 +470,7 @@ OptionEditorPage::OptionEditorPage (Gtk::Notebook& n, std::string const & t)
  *  @param o Configuration to edit.
  *  @param t Title for the dialog.
  */
-OptionEditor::OptionEditor (PBD::Configuration* c, std::string const & t)
+OptionEditor::OptionEditor (PBD::Configuration* c)
        : _config (c)
        , option_tree (TreeStore::create (option_columns))
        , option_treeview (option_tree)
@@ -718,7 +718,7 @@ DirectoryOption::selection_changed ()
 /*--------------------------*/
 
 OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string const& str)
-       : OptionEditor (c, str)
+       : OptionEditor (c)
 {
        set_border_width (4);
        hpacker.pack_start (treeview(), false, false);
@@ -730,7 +730,8 @@ OptionEditorContainer::OptionEditorContainer (PBD::Configuration* c, string cons
 }
 
 OptionEditorWindow::OptionEditorWindow (PBD::Configuration* c, string const& str)
-       : OptionEditor (c, str)
+       : OptionEditor (c)
+       , ArdourWindow (str)
 {
        container.set_border_width (4);
        hpacker.pack_start (treeview(), false, false);
index f29fe1ed479763e0da2a730e4bce9e9ba9dce37a..e1b05b27e385695e3ada12a99477aeb07f98e7ef 100644 (file)
@@ -683,10 +683,10 @@ public:
 };
 
 /** The OptionEditor dialog base class */
-class OptionEditor : public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
+class OptionEditor : virtual public ARDOUR::SessionHandlePtr, virtual public sigc::trackable
 {
 public:
-       OptionEditor (PBD::Configuration *, std::string const &);
+       OptionEditor (PBD::Configuration *);
        ~OptionEditor ();
 
        void add_option (std::string const &, OptionEditorComponent *);
@@ -737,7 +737,7 @@ private:
 };
 
 /** The OptionEditor dialog-as-container base class */
-class OptionEditorWindow : public OptionEditor, public Gtk::Window
+class OptionEditorWindow : public OptionEditor, public ArdourWindow
 {
 public:
        OptionEditorWindow (PBD::Configuration *, std::string const &);