6 #include "qui/MussaAlignedWindow.hpp"
11 MussaAlignedWindow::MussaAlignedWindow(Mussa& m,
12 const set<int>& sel_paths,
16 //selected_paths(sel_paths)
19 browser.setSequences(analysis.sequences(), analysis.colorMapper());
20 setSelectedPaths(m, sel_paths);
22 browser.zoomToSequence();
24 QVBoxLayout *layout = new QVBoxLayout;
25 layout->addWidget(&browser);
26 layout->addWidget(&status);
29 ostringstream message;
30 message << "Selected " << selected_paths.size() << " paths";
31 status.showMessage(message.str().c_str(), 5000);
35 void MussaAlignedWindow::setSelectedPaths(Mussa &m, const set<int>& sel_paths)
38 set<int>::iterator sel_i = sel_paths.begin();
39 list<ExtendedConservedPath>::const_iterator path_i = m.paths().rpbegin();
40 list<ExtendedConservedPath>::const_iterator path_end = m.paths().rpend();
41 size_t path_size = m.paths().refined_pathz.size();
44 selected_paths.reserve(sel_paths.size());
45 while (pathid != path_size and sel_i != sel_paths.end())
48 size_t sel_pathid = (size_t)(*sel_i);
49 if (pathid == sel_pathid) {
50 cout << "found one " << *path_i << endl;
51 selected_paths.push_back(*path_i);
55 } else if (pathid < sel_pathid) {
58 } else if (pathid > sel_pathid) {
64 void MussaAlignedWindow::setAlignment(size_t alignment_index)
66 if (selected_paths.size() > 0) {
67 browser.centerOnPath(selected_paths[alignment_index].track_indexes);