13 #include <boost/shared_ptr.hpp>
15 #include "alg/mussa.hpp"
16 #include "alg/glsequence.hpp"
17 #include "alg/glseqbrowser.hpp"
22 /*! \brief Render mussa sequences and paths
24 class SequenceBrowser: public QGLWidget, public GlSeqBrowser
29 SequenceBrowser(QWidget *parent=0);
31 QSize sizeHint() const;
33 void push_sequence(boost::shared_ptr<Sequence> s);
34 void push_sequence(boost::shared_ptr<GlSequence>);
36 //! return the popup menu for the glcanvas (reference stored internally)
37 QMenu *getPopupMenu();
38 //! return our copy actioy (reference stored internally)
39 QAction *getCopySelectedSequenceAsFastaAction();
42 void copySelectedSequenceAsFasta();
43 void displayContextMenu(const QPoint &p);
44 void setClipPlane(int z);
45 //! set the center of the current viewport
46 void setViewportCenter(float x);
47 //! set our magnification level
51 //! emited when someone adds to our list of tracks
53 void viewportChanged();
57 void resizeGL(int height, int width);
60 //! \defgroup Selection
62 QRubberBand *rubberBand;
64 QRect selectedDisplayRegion;
65 QRect selectedCanvasRegion;
66 void mousePressEvent(QMouseEvent *);
67 void mouseMoveEvent(QMouseEvent *);
68 void mouseReleaseEvent(QMouseEvent *);
70 void startSelecting(QMouseEvent *);
71 void stopSelecting(QMouseEvent *);
75 QAction *copySelectedSequenceAsFastaAction;