SpectMorph
smmorphplanview.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_PLAN_VIEW_HH
4 #define SPECTMORPH_MORPH_PLAN_VIEW_HH
5 
6 #include <QWidget>
7 #include <QVBoxLayout>
8 
9 #include "smmorphplan.hh"
10 #include "smmoveindicator.hh"
11 
12 namespace SpectMorph
13 {
14 
15 class MorphPlanWindow;
16 class MorphPlanView : public QWidget
17 {
18  Q_OBJECT
19 
20  MorphPlan *morph_plan;
21  MorphPlanWindow *morph_plan_window;
22 
23  QVBoxLayout *vbox;
24 
25  std::vector<MorphOperatorView *> m_op_views;
26  std::vector<MoveIndicator *> move_indicators;
27  std::vector<QWidget *> control_widgets;
28 
29  bool need_view_rebuild;
30 
31 public:
32  MorphPlanView (MorphPlan *morph_plan, MorphPlanWindow *morph_plan_window);
33 
34  const std::vector<MorphOperatorView *>& op_views();
35  void add_control_widget (QWidget *widget);
36 
37 signals:
38  void view_widgets_changed();
39 
40 public slots:
41  void on_plan_changed();
42  void on_move_indication (MorphOperator *op);
43  void on_need_view_rebuild();
44 };
45 
46 }
47 
48 #endif
Definition: smmorphplanwindow.hh:26
Definition: smmorphplan.hh:15
Definition: smmorphoperator.hh:19
Definition: smmorphplanview.hh:16
Definition: smalignedarray.cc:7