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);
23 QVBoxLayout *layout = new QVBoxLayout;
24 layout->addWidget(&browser);
25 layout->addWidget(&status);
28 ostringstream message;
29 message << "Selected " << selected_paths.size() << " paths";
30 status.showMessage(message.str().c_str(), 5000);
34 void MussaAlignedWindow::setSelectedPaths(Mussa &m, const set<int>& sel_paths)
37 set<int>::iterator sel_i = sel_paths.begin();
38 list<ExtendedConservedPath>::const_iterator path_i = m.paths().rpbegin();
39 list<ExtendedConservedPath>::const_iterator path_end = m.paths().rpend();
40 size_t path_size = m.paths().refined_pathz.size();
43 selected_paths.reserve(sel_paths.size());
44 while (pathid != path_size and sel_i != sel_paths.end())
47 size_t sel_pathid = (size_t)(*sel_i);
48 if (pathid == sel_pathid) {
49 cout << "found one " << *path_i << endl;
50 selected_paths.push_back(*path_i);
54 } else if (pathid < sel_pathid) {
57 } else if (pathid > sel_pathid) {
63 void MussaAlignedWindow::setAlignment(size_t alignment_index)
65 if (selected_paths.size() > 0) {
66 browser.centerOnPath(selected_paths[alignment_index].track_indexes);