escape clears a sequence browser selection
[mussa.git] / qui / seqbrowser / SequenceBrowser.hpp
index 8d1ef65a0c611ba90076b5b54d1c7c481db7cb94..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();
@@ -35,22 +37,32 @@ public:
 
   //! return the popup menu for the glcanvas (reference stored internally)
   QMenu *getPopupMenu();
-  //! return our copy actioy (reference stored internally)
+  //! 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();
@@ -73,5 +85,9 @@ protected:
 
   QMenu *popupMenu;
   QAction *copySelectedSequenceAsFastaAction;
+  QAction *copySelectedSequenceAsStringAction;
+  QAction *editSequencePropertiesAction;
+  QAction *clearSelectionAction;
+  PropertiesWindowRef properties;
 };
 #endif