Implement UI for subanalysis mode
[mussa.git] / alg / sequence_location.hpp
1 #ifndef _SEQUENCE_LOCATION_H_
2 #define _SEQUENCE_LOCATION_H_
3
4 #include <boost/shared_ptr.hpp>
5 #include "alg/sequence.hpp"
6
7 //! convenience structure for holding selected track segments
8 class SequenceLocation {
9   public:
10     SequenceLocation(boost::shared_ptr<Sequence> s, int l, int c);
11     SequenceLocation(const Sequence& s, int l, int c);
12     SequenceLocation(const SequenceLocation& );
13     SequenceLocation& operator=(const SequenceLocation&);
14
15     //! get the sequence we're selecting from
16     const Sequence& getSequence() const;
17     //! return the selected subsequence
18     Sequence getSelectedSequence() const;
19     void setLeft(int l);
20     int getLeft() const;
21     void setCount(int c);
22     int getCount() const ;
23     void setRight(int r);
24     int getRight() const;
25
26   private:
27     boost::shared_ptr<Sequence> sequence;
28     int left;
29     int count;
30   };
31 #endif