+void MussaAlignedWindow::setupMenus()
+{
+ pick_align_menu.clear();
+ view_align_menu.clear();
+ pick_actions.clear();
+ view_actions.clear();
+
+ for(vector<ExtendedConservedPath >::iterator pathz_i=selected_paths.begin();
+ pathz_i != selected_paths.end();
+ ++pathz_i)
+ {
+ ConservedPath::path_type normalized_path = pathz_i->normalizedIndexes();
+ ostringstream menu_text;
+ menu_text << pathz_i->window_size << ":";
+ ConservedPath::iterator element_i = normalized_path.begin();
+ menu_text << *element_i++;
+ for (;
+ element_i != normalized_path.end();
+ ++element_i)
+ {
+ menu_text << ", ";
+ menu_text << *element_i;
+ }
+ int index = pathz_i - selected_paths.begin();
+ IntAction *pick = new IntAction(QString(menu_text.str().c_str()), index, this);
+ connect(pick, SIGNAL(triggered(int)), this, SLOT(setAlignment(size_t)));
+ pick_actions.push_back(pick);
+ pick_align_menu.addAction(pick);
+ IntAction *view = new IntAction(QString(menu_text.str().c_str()), index, this);
+ connect(view, SIGNAL(triggered(int)), this, SLOT(toggleViewAlignment(size_t)));
+ view->setCheckable(true);
+ view->setChecked(true);
+ view_actions.push_back(view);
+ view_align_menu.addAction(view);
+ }
+}
+