#include "qui/IntAction.hpp"
#include "qui/ZoomWidget.hpp"
#include "qui/seqbrowser/SequenceBrowserWidget.hpp"
+#include "qui/SubanalysisWindow.hpp"
//! Show sequence alignments
class MussaAlignedWindow : public QMainWindow
//! construct an aligned window for an analysis and selected paths
/*! \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 window points to a SubanalysisWindowRef, so we can pick interesting
+ * sequence portions from both the mussa window and the sequence view window
* \param parent is the typical Qt pointer to a parent widget
*/
- MussaAlignedWindow(MussaRef analysis, const std::set<int>& paths, QWidget *parent=0);
+ MussaAlignedWindow(MussaRef analysis, const std::set<int>& paths,
+ SubanalysisWindowRef window, QWidget *parent=0);
public slots:
+ //! launch a sub analysis
+ void createSubAnalysis();
//! use selected_paths[pathid] to set the starting position of our sequence
void setAlignment(int pathid);
//! toggle whether or not to show the aligned basepairs of a window
//const std::set<int>& selected_paths;
std::vector<ConservedPath> selected_paths;
std::vector<bool> view_paths;
+ SubanalysisWindowRef subanalysis_window;
SequenceBrowserWidget browser;
QMenu pick_align_menu;
QMenu view_align_menu;
+ QAction *createSubAnalysisAction;
QAction *saveBrowserPixmapAction;
std::vector <IntAction *> pick_actions;
ZoomWidget *zoom;
QToolBar *alignTB;
};
+
+//! reference to a MussaAlignedWindow
+typedef boost::shared_ptr<MussaAlignedWindow> MussaAlignedWindowRef;
#endif