Mouse scroll wheel zooming! =o)
[mussa.git] / qui / seqbrowser / SequenceBrowser.hpp
index 1251dd2261c58559471bd7f0cfdd052c533b0d9c..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 
@@ -38,18 +40,23 @@ public:
   QMenu *getPopupMenu();
   //! return our copy action (reference stored internally)
   QAction *getCopySelectedSequenceAsFastaAction();
-  //! return reference to copy sequence action
+  //! 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
@@ -57,6 +64,7 @@ signals:
   void viewportChanged();
   //! emit when someone copies basepairs
   void basepairsCopied(size_t);
+  void mouseWheelZoom(double);
 
 protected:
   void initializeGL();
@@ -72,6 +80,7 @@ protected:
   void mousePressEvent(QMouseEvent *);
   void mouseMoveEvent(QMouseEvent *);
   void mouseReleaseEvent(QMouseEvent *);
+  void wheelEvent(QWheelEvent *);
 
   void startSelecting(QMouseEvent *);
   void stopSelecting(QMouseEvent *);
@@ -80,5 +89,8 @@ protected:
   QMenu *popupMenu;
   QAction *copySelectedSequenceAsFastaAction;
   QAction *copySelectedSequenceAsStringAction;
+  QAction *editSequencePropertiesAction;
+  QAction *clearSelectionAction;
+  PropertiesWindowRef properties;
 };
 #endif