13 #include <boost/shared_ptr.hpp>
15 #include "alg/mussa.hpp"
16 #include "alg/glsequence.hpp"
17 #include "alg/glseqbrowser.hpp"
18 #include "qui/seqbrowser/seqproperties/PropertiesWindow.hpp"
24 /*! \brief Render mussa sequences and paths
26 class SequenceBrowser: public QGLWidget, public GlSeqBrowser
31 SequenceBrowser(QWidget *parent=0);
32 SequenceBrowser(const SequenceBrowser&, QWidget *parent=0);
34 QSize sizeHint() const;
36 void push_sequence(boost::shared_ptr<Sequence> s);
37 void push_sequence(boost::shared_ptr<GlSequence>);
39 //! return the popup menu for the glcanvas (reference stored internally)
40 QMenu *getPopupMenu();
41 //! return our copy action (reference stored internally)
42 QAction *getCopySelectedSequenceAsFastaAction();
43 //! return copy sequence action
44 QAction *getCopySelectedSequenceAsStringAction();
45 //! return view sequence properties action
46 QAction *getEditSequencePropertiesAction();
49 void copySelectedSequenceAsFasta();
50 void copySelectedSequenceAsString();
51 void displayContextMenu(const QPoint &p);
52 void editSequenceProperties();
53 void setClipPlane(int z);
54 //! set the center of the current viewport
55 void setViewportCenter(float x);
56 //! set our magnification level
58 // actually declared in base class
59 void clearSelection();
62 //! emited when someone adds to our list of tracks
64 void viewportChanged();
65 //! emit when someone copies basepairs
66 void basepairsCopied(size_t);
67 void mouseWheelZoom(double);
71 void resizeGL(int height, int width);
74 //! \defgroup Selection
76 QRubberBand *rubberBand;
78 QRect selectedDisplayRegion;
79 QRect selectedCanvasRegion;
80 void mousePressEvent(QMouseEvent *);
81 void mouseMoveEvent(QMouseEvent *);
82 void mouseReleaseEvent(QMouseEvent *);
83 void wheelEvent(QWheelEvent *);
85 void startSelecting(QMouseEvent *);
86 void stopSelecting(QMouseEvent *);
90 QAction *copySelectedSequenceAsFastaAction;
91 QAction *copySelectedSequenceAsStringAction;
92 QAction *editSequencePropertiesAction;
93 QAction *clearSelectionAction;
94 PropertiesWindowRef properties;