SpectMorph
smmorphgridview.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_GRID_VIEW_HH
4 #define SPECTMORPH_MORPH_GRID_VIEW_HH
5 
6 #include "smmorphoperatorview.hh"
7 #include "smmorphgrid.hh"
8 #include "smcomboboxoperator.hh"
9 #include "smmorphgridwidget.hh"
10 
11 #include <QSpinBox>
12 #include <QStackedWidget>
13 
14 namespace SpectMorph
15 {
16 
17 class MorphGridView;
18 class MorphGridControlUI : public QObject
19 {
20  Q_OBJECT
21 
22  TypeOperatorFilter control_op_filter;
23  MorphGrid *morph_grid;
24 
25 public:
26  enum ControlXYType { CONTROL_X, CONTROL_Y } ctl_xy;
27  MorphGridControlUI (MorphGridView *parent, MorphGrid *morph_grid, ControlXYType ctl_xy);
28 
29  ComboBoxOperator *combobox;
30  QSlider *slider;
31  QLabel *label;
32  QStackedWidget *stack;
33  double value;
34 
35 public slots:
36  void on_slider_changed();
37  void on_combobox_changed();
38 };
39 
41 {
42  Q_OBJECT
43 
44  QSpinBox *width_spinbox;
45  QSpinBox *height_spinbox;
46  QSpinBox *zoom_spinbox;
47 
48  MorphGridControlUI *x_ui;
49  MorphGridControlUI *y_ui;
50 
51  MorphGrid *morph_grid;
52  MorphGridWidget *grid_widget;
53 
54  TypeOperatorFilter input_op_filter;
55 
56  ComboBoxOperator *op_combobox;
57  QSlider *delta_db_slider;
58  QLabel *delta_db_label;
59 
60 public:
61  MorphGridView (MorphGrid *morph_grid, MorphPlanWindow *morph_plan_window);
62 
63 public slots:
64  void on_size_changed();
65  void on_selection_changed();
66  void on_operator_changed();
67  void on_delta_db_changed (int new_value);
68  void on_plan_changed();
69  void on_zoom_changed();
70  void on_index_changed();
71 };
72 
73 }
74 
75 #endif
Definition: smmorphplanwindow.hh:25
Definition: smmorphgridview.hh:18
Definition: smmorphgrid.hh:22
Definition: smmorphgridwidget.hh:13
Definition: smaudio.hh:15
Definition: smmorphoperatorview.hh:14
Definition: smmorphgridview.hh:40
Definition: smcomboboxoperator.hh:19
Definition: smcomboboxoperator.hh:58