Skip to content
Snippets Groups Projects
Commit 6b916af8 authored by stefan's avatar stefan
Browse files

New SequenceViewer, export fixes, GetDisplayModes reimplemented

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2316 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent 0ebf9b4a
Branches
Tags
No related merge requests found
......@@ -46,47 +46,47 @@ void change_display_mode_c(SequenceViewerV2* seq_viewer, const seq::AlignmentHan
seq_viewer->ChangeDisplayMode(alignment, mode);
}
void get_current_display_mode_a(SequenceViewerV2* seq_viewer)
String get_current_display_mode_a(SequenceViewerV2* seq_viewer)
{
seq_viewer->GetCurrentDisplayMode();
return seq_viewer->GetCurrentDisplayMode().toStdString();
}
void get_current_display_mode_b(SequenceViewerV2* seq_viewer, const gfx::EntityP& entity)
String get_current_display_mode_b(SequenceViewerV2* seq_viewer, const gfx::EntityP& entity)
{
seq_viewer->GetCurrentDisplayMode(entity);
return seq_viewer->GetCurrentDisplayMode(entity).toStdString();
}
void get_current_display_mode_c(SequenceViewerV2* seq_viewer, const seq::AlignmentHandle& alignment)
String get_current_display_mode_c(SequenceViewerV2* seq_viewer, const seq::AlignmentHandle& alignment)
{
seq_viewer->GetCurrentDisplayMode(alignment);
return seq_viewer->GetCurrentDisplayMode(alignment).toStdString();
}
std::vector<QString> get_display_modes_a(SequenceViewerV2* seq_viewer)
std::vector<String> get_display_modes_a(SequenceViewerV2* seq_viewer)
{
std::vector<QString> modes;
std::vector<String> modes;
const QStringList& list = seq_viewer->GetDisplayModes();
for (int i=0; i<list.size(); i++){
modes.push_back(list.at(i));
modes.push_back(list.at(i).toStdString());
}
return modes;
}
std::vector<QString> get_display_modes_b(SequenceViewerV2* seq_viewer, const gfx::EntityP& entity)
std::vector<String> get_display_modes_b(SequenceViewerV2* seq_viewer, const gfx::EntityP& entity)
{
std::vector<QString> modes;
std::vector<String> modes;
const QStringList& list = seq_viewer->GetDisplayModes(entity);
for (int i=0; i<list.size(); i++){
modes.push_back(list.at(i));
modes.push_back(list.at(i).toStdString());
}
return modes;
}
std::vector<QString> get_display_modes_c(SequenceViewerV2* seq_viewer, const seq::AlignmentHandle& alignment)
std::vector<String> get_display_modes_c(SequenceViewerV2* seq_viewer, const seq::AlignmentHandle& alignment)
{
std::vector<QString> modes;
std::vector<String> modes;
const QStringList& list = seq_viewer->GetDisplayModes(alignment);
for (int i=0; i<list.size(); i++){
modes.push_back(list.at(i));
modes.push_back(list.at(i).toStdString());
}
return modes;
}
......@@ -113,9 +113,5 @@ void export_SequenceViewerV2()
.def("GetQObject",&get_py_qobject<SequenceViewerV2>)
.add_property("qobject", &get_py_qobject<SequenceViewerV2>)
;
class_<std::vector<QString> >("QStringList", init<>())
.def(vector_indexing_suite<std::vector<QString>, true >())
;
}
......@@ -297,19 +297,29 @@ void SequenceModel::DoubleClicked(const QModelIndex& index)
const QStringList& SequenceModel::GetDisplayModes()
{
display_modes_.clear();
bool removed = false;
QMap<QString,int> string_map;
for (int i = 0; i<objects_.size(); i++){
const QStringList& list = objects_[i]->GetDisplayModes();
for(int j=0; j<list.size(); j++){
if(i = 0){
display_modes_.append(list.at(i));
if(!string_map.contains(list.at(j))){
string_map.insert(list.at(j),1);
}
else if (!display_modes_.contains(list.at(i))){
display_modes_.removeAll(list.at(i));
removed = true;
else {
string_map[list.at(j)] = string_map[list.at(j)] + 1;
}
}
}
bool removed = false;
QMapIterator<QString, int> i(string_map);
while (i.hasNext()) {
i.next();
if(objects_.size()-1 <= i.value()){
display_modes_.append(i.key());
}
else{
removed = true;
}
}
if(removed){
display_modes_.insert(0," ");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment