SpectMorph
smmorphplanwindow.hh
1 // Licensed GNU LGPL v3 or later: http://www.gnu.org/licenses/lgpl.html
2 
3 #ifndef SPECTMORPH_MORPH_PLAN_WINDOW_HH
4 #define SPECTMORPH_MORPH_PLAN_WINDOW_HH
5 
6 #include <assert.h>
7 #include <sys/time.h>
8 
9 #include <vector>
10 #include <string>
11 
12 #include "smmain.hh"
13 #include "smmorphplan.hh"
14 #include "smmorphsource.hh"
15 #include "smmorphplanview.hh"
16 #include "smmorphoperator.hh"
17 
18 #include <QWidget>
19 #include <QMainWindow>
20 #include <QMessageBox>
21 
22 namespace SpectMorph
23 {
24 
25 class MorphPlanWindow : public QMainWindow
26 {
27  Q_OBJECT
28 
29  std::string m_filename;
30  std::string win_title;
31  MorphPlanPtr m_morph_plan;
32  MorphPlanView *morph_plan_view;
33 
34  void add_op_action (QMenu *menu, const char *title, const char *type);
35  void fill_template_menu (QMenu *menu);
36  void update_window_title();
37  bool load (const std::string& filename);
38 
39 public:
40  MorphPlanWindow (MorphPlanPtr morph_plan, const std::string& title);
41 
42  MorphOperator *where (MorphOperator *op, const QPoint& pos);
43  void add_control_widget (QWidget *widget);
44  void set_filename (const std::string& filename);
45 
46 public slots:
47  void on_file_import_clicked();
48  void on_file_export_clicked();
49  void on_load_index_clicked();
50  void on_add_operator();
51  void on_load_template();
52  void on_view_widgets_changed();
53  void on_update_window_size();
54 };
55 
56 }
57 
58 #endif
Definition: smmorphplanwindow.hh:25
Definition: smmorphoperator.hh:19
Definition: smmorphplanview.hh:16
Definition: smaudio.hh:15