4c599dedd6e4ce886d77cdbd3da064b62ecbd327
[mussa.git] / qui / seqbrowser / SequenceBrowserSidebar.hpp
1 #ifndef _SEQUENCE_BROWSER_SIDEBAR_H
2 #define _SEQUENCE_BROWSER_SIDEBAR_H
3
4 #include <vector>
5
6 #include <boost/shared_ptr.hpp>
7
8 #include <QVBoxLayout>
9 #include <QWidget>
10 #include "qui/seqbrowser/SequenceBrowser.hpp"
11 #include "qui/seqbrowser/SequenceDescription.hpp"
12 #include "alg/glsequence.hpp"
13
14 //! store a collection of sequence descriptions for the SequenceBrowserWidget
15 class SequenceBrowserSidebar : public QWidget
16 {
17   Q_OBJECT
18
19 public:
20   enum SidebarSide { Left, Right };
21
22   SequenceBrowserSidebar(QWidget *parent = 0);
23
24   //! clear our list of descriptions
25   void clear();
26   void setSequences(std::vector<boost::shared_ptr<GlSequence> > );
27
28   std::vector<SequenceDescription *> descriptions;
29 public slots:
30   //! update the reported sequence position for each of our sequences
31   /*! for example when the right side is at position 3000 call 
32    *  iterate over each sequence and get its rightbase pair value
33    */
34   //void updatePositionValues(float left, float right);
35
36 private:
37   QVBoxLayout layout;
38   //! for updating positions we need to know which side we're on
39   //SidebarSide sidebar_side;
40 };
41 #endif