Mouse scroll wheel zooming! =o)
[mussa.git] / qui / seqbrowser / SequenceBrowser.hpp
index 93589c404353d1ed53641077ede6d32c7eb751a2..cea5f069bbc51df0303702d13b37e2a77f6deb54 100644 (file)
 #include "alg/mussa.hpp"
 #include "alg/glsequence.hpp"
 #include "alg/glseqbrowser.hpp"
+#include "qui/seqbrowser/seqproperties/PropertiesWindow.hpp"
 
 class QMouseEvent;
+class QWheelEvent;
 class QRubberBand;
 
 /*! \brief Render mussa sequences and paths 
@@ -36,17 +38,25 @@ 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
@@ -54,6 +64,7 @@ signals:
   void viewportChanged();
   //! emit when someone copies basepairs
   void basepairsCopied(size_t);
+  void mouseWheelZoom(double);
 
 protected:
   void initializeGL();
@@ -69,6 +80,7 @@ protected:
   void mousePressEvent(QMouseEvent *);
   void mouseMoveEvent(QMouseEvent *);
   void mouseReleaseEvent(QMouseEvent *);
+  void wheelEvent(QWheelEvent *);
 
   void startSelecting(QMouseEvent *);
   void stopSelecting(QMouseEvent *);
@@ -76,5 +88,9 @@ protected:
 
   QMenu *popupMenu;
   QAction *copySelectedSequenceAsFastaAction;
+  QAction *copySelectedSequenceAsStringAction;
+  QAction *editSequencePropertiesAction;
+  QAction *clearSelectionAction;
+  PropertiesWindowRef properties;
 };
 #endif