1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_LINEAR_VIEW_HH
4 #define SPECTMORPH_MORPH_LINEAR_VIEW_HH
5 
6 #include "smmorphoperatorview.hh"
7 #include "smmorphlinear.hh"
8 #include "smcomboboxoperator.hh"
9 #include "smcontrolview.hh"
10 
11 namespace SpectMorph
12 {
13 
14 class MorphLinearView : public MorphOperatorView
15 {
16 protected:
17   MorphLinear                     *morph_linear;
18 
19   Label                           *morphing_title;
20   Label                           *morphing_label;
21   Slider                          *morphing_slider;
22 
23   ComboBoxOperator                *left_combobox;
24   ComboBoxOperator                *right_combobox;
25   ComboBoxOperator                *control_combobox;
26   ControlView                      cv_control;
27 
28   void update_slider();
29 
30 public:
31   MorphLinearView (Widget *parent, MorphLinear *op, MorphPlanWindow *morph_plan_window);
32 
33   double view_height() override;
34 
35 /* slots: */
36   void on_morphing_changed (double new_value);
37   void on_control_changed();
38   void on_operator_changed();
39   void on_db_linear_changed (bool new_value);
40   void on_index_changed();
41 };
42 
43 }
44 
45 #endif
46