Death to stupid mussa pointers
[mussa.git] / qui / MussaAlignedWindow.hpp
index 1e7139053776deeb493c6483a3037426c6d6f623..c4715f9106732cd9afc17d46a50e6532d9142ef0 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <set>
 
+#include <boost/shared_ptr.hpp>
+
 #include <QMainWindow>
 #include <QMenu>
 #include <QToolBar>
@@ -18,7 +20,11 @@ class MussaAlignedWindow : public QMainWindow
 
 public:
   //! construct an aligned window for an analysis and selected paths
-  MussaAlignedWindow(Mussa&, const std::set<int>&, QWidget *parent=0);
+  /*! \param analysis is a shared_ptr to a mussa analysis 
+   *  \param paths is a set of "paths" AKA integer offsets into the sequences stored in mussa
+   *  \param parent is the typical Qt pointer to a parent widget
+   */ 
+  MussaAlignedWindow(MussaRef analysis, const std::set<int>& paths, QWidget *parent=0);
 
 public slots:
   //! use selected_paths[pathid] to set the starting position of our sequence
@@ -31,7 +37,7 @@ public slots:
 
 protected:
   // figure out what Alignments we have (needed for setupAlignmentMenus)
-  void setSelectedPaths(Mussa &m, const std::set<int>& sel_paths);
+  void setSelectedPaths(MussaRef m, const std::set<int>& sel_paths);
   // create our cations
   void setupActions();
   // create our menus
@@ -40,7 +46,7 @@ protected:
   void setupAlignmentMenus();
   void computeMatchLines();
   
-  Mussa& analysis;
+  MussaRef analysis;  
   //std::vector<Sequence> sequences;
   //const std::set<int>& selected_paths;
   std::vector<ConservedPath> selected_paths;