diff --git a/src/Parameter/ParameterWidget.cc b/src/Parameter/ParameterWidget.cc index fb8c9b4c..1f3e2edb 100644 --- a/src/Parameter/ParameterWidget.cc +++ b/src/Parameter/ParameterWidget.cc @@ -112,9 +112,11 @@ void ParameterWidget::end() void ParameterWidget::connectWidget() { - for(entry_map_t::iterator it = entries.begin(); it != entries.end(); it++) { + for(entry_map_t::iterator it = entries.begin(); it != entries.end();) { if(!(*it).second->set){ - entries.erase((*it).first); + it=entries.erase(it); + }else{ + it++; } } @@ -141,19 +143,18 @@ if(groupMap.find("Global")!=groupMap.end()){ groupMap["Global"].parameterVector.clear(); } - for(group_map::iterator it = groupMap.begin(); it != groupMap.end(); it++) { + for(group_map::iterator it = groupMap.begin(); it != groupMap.end(); ) { vector gr; gr=it->second.parameterVector; if(gr.empty()|| it->first=="Hidden"){ - groupMap.erase((*it).first); + it=groupMap.erase(it); } - } - - for(group_map::iterator it = groupMap.begin(); it != groupMap.end(); it++) { + else{ it->second.parameterVector.insert( it->second.parameterVector.end(), global.begin(), global.end() ); - + it++; } +} begin(); for(group_map::iterator it = groupMap.begin(); it != groupMap.end(); it++) { diff --git a/src/Parameter/groupwidget.cpp b/src/Parameter/groupwidget.cpp index ef6efaeb..94eb9e81 100644 --- a/src/Parameter/groupwidget.cpp +++ b/src/Parameter/groupwidget.cpp @@ -47,6 +47,7 @@ void GroupWidget::onclicked(const bool checked){ }else{ *(this->show)=false; } + this->animationDuration=300; } void GroupWidget::setContentLayout(QLayout & contentLayout) { diff --git a/src/Parameter/groupwidget.h b/src/Parameter/groupwidget.h index 3f2ff939..e8d3147d 100644 --- a/src/Parameter/groupwidget.h +++ b/src/Parameter/groupwidget.h @@ -27,7 +27,7 @@ private: bool *show; public: groupInst groupinst; - explicit GroupWidget(bool &show,const QString & title = "", const int animationDuration = 0.05, QWidget *parent = 0); + explicit GroupWidget(bool &show,const QString & title = "", const int animationDuration = 300, QWidget *parent = 0); void setContentLayout(QLayout & contentLayout); private slots: