escape clears a sequence browser selection
[mussa.git] / qui / seqbrowser / SequenceBrowser.hpp
index 7ada6124d2cab26c56e2c84a0fe60f9ff41c8076..65765198e415e1d7e82439e9674a38c20a4ceec6 100644 (file)
@@ -15,6 +15,7 @@
 #include "alg/mussa.hpp"
 #include "alg/glsequence.hpp"
 #include "alg/glseqbrowser.hpp"
+#include "qui/seqbrowser/seqproperties/PropertiesWindow.hpp"
 
 class QMouseEvent;
 class QRubberBand;
@@ -27,6 +28,7 @@ class SequenceBrowser: public QGLWidget, public GlSeqBrowser
 
 public: 
   SequenceBrowser(QWidget *parent=0);
+  SequenceBrowser(const SequenceBrowser&, QWidget *parent=0);
 
   QSize sizeHint() const;
   void clear();
@@ -34,23 +36,33 @@ public:
   void push_sequence(boost::shared_ptr<GlSequence>);
 
   //! return the popup menu for the glcanvas (reference stored internally)
-  QMenu &getPopupMenu();
-  //! return our copy actioy (reference stored internally)
-  QAction &getCopySelectedSequenceAsFastaAction();
+  QMenu *getPopupMenu();
+  //! return our copy action (reference stored internally)
+  QAction *getCopySelectedSequenceAsFastaAction();
+  //! return copy sequence action
+  QAction *getCopySelectedSequenceAsStringAction();
+  //! return view sequence properties action
+  QAction *getEditSequencePropertiesAction();
 
 public slots:
   void copySelectedSequenceAsFasta();
+  void copySelectedSequenceAsString();
   void displayContextMenu(const QPoint &p);
+  void editSequenceProperties();
   void setClipPlane(int z);
   //! set the center of the current viewport
   void setViewportCenter(float x);
   //! set our magnification level
   void setZoom(double);
+  // actually declared in base class
+  void clearSelection();
 
 signals:
   //! emited when someone adds to our list of tracks
   void tracksChanged();
   void viewportChanged();
+  //! emit when someone copies basepairs
+  void basepairsCopied(size_t);
 
 protected:
   void initializeGL();
@@ -71,7 +83,11 @@ protected:
   void stopSelecting(QMouseEvent *);
   /* \@} */
 
-  QMenu popupMenu;
-  QAction copySelectedSequenceAsFastaAction;
+  QMenu *popupMenu;
+  QAction *copySelectedSequenceAsFastaAction;
+  QAction *copySelectedSequenceAsStringAction;
+  QAction *editSequencePropertiesAction;
+  QAction *clearSelectionAction;
+  PropertiesWindowRef properties;
 };
 #endif