draw alignment lines
[mussa.git] / qui / MussaAlignedWindow.hpp
1 #ifndef MUSSA_ALIGNED_WINDOW_H
2 #define MUSSA_ALIGNED_WINDOW_H
3
4 #include <set>
5
6 #include <QStatusBar>
7 #include <QWidget>
8 #include "alg/mussa.hpp"
9 #include "qui/seqbrowser/SequenceBrowserWidget.hpp"
10
11 //! Show sequence alignments
12 class MussaAlignedWindow : public QWidget
13 {
14 public:
15   //! construct an aligned window for an analysis and selected paths
16   MussaAlignedWindow(Mussa&, const std::set<int>&, QWidget *parent=0);
17
18 public slots:
19   //! use selected_paths[pathid] to set the starting position of our sequence
20   void setAlignment(size_t pathid);
21
22 protected:
23   void setSelectedPaths(Mussa &m, const std::set<int>& sel_paths);
24   void computeMatchLines();
25   
26   Mussa& analysis;
27   //std::vector<Sequence> sequences;
28   //const std::set<int>& selected_paths;
29   std::vector<ExtendedConservedPath> selected_paths;
30   SequenceBrowserWidget browser;
31   QStatusBar status;
32 };
33 #endif