include sequence property editor source files
[mussa.git] / qui / seqbrowser / seqproperties / PropertiesWindow.hpp
1 #ifndef _SUBANALYSIS_H_
2 #define _SUBANALYSIS_H_
3
4 #include <QTableView>
5 #include <QPushButton>
6 #include <QSpinBox>
7 #include <QStringList>
8 #include <QWidget>
9
10 #include "qui/seqbrowser/seqproperties/SequencePropertiesModel.hpp"
11 #include "alg/mussa.hpp"
12
13 class PropertiesWindow : public QWidget
14 {
15   Q_OBJECT 
16
17 public: 
18   PropertiesWindow(/* MussaRef m, */
19                    SequencePropertiesModel::model_type glseqs,
20                    QWidget *parent = 0);
21
22   //! return a modifiable reference to our SequenceLocationModel
23   SequencePropertiesModel& getModel();
24
25 public slots:
26   //! create a subanalysis and run it
27   void apply();
28   //! clear our model and close the window
29   void abort();
30   //! provide a way for the model to tell us to update our gui
31   void modelUpdated(const QModelIndex&, int, int);
32   //! update our title
33   void updateTitle();
34
35 private:
36   //! keep track of what analysis we're attached to
37   MussaRef analysis;
38   QTableView *table;
39   QPushButton *ok;
40   QPushButton *cancel;
41
42   SequencePropertiesModel model;
43 };
44
45 //! reference to a subanalysis window
46 typedef boost::shared_ptr<PropertiesWindow> PropertiesWindowRef;
47 #endif