From fbcad58d985c7b067ef10b6f39cafccc4d00a077 Mon Sep 17 00:00:00 2001 From: Sebastian Piwell Date: Tue, 24 May 2016 15:07:51 -0400 Subject: [PATCH] Small bug fix --- modules/iswa/rendering/iswagroup.cpp | 6 ++++++ modules/iswa/rendering/iswagroup.h | 1 + modules/onscreengui/src/guiiswacomponent.cpp | 6 ++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/iswa/rendering/iswagroup.cpp b/modules/iswa/rendering/iswagroup.cpp index ba2351bb7e..cf807f0830 100644 --- a/modules/iswa/rendering/iswagroup.cpp +++ b/modules/iswa/rendering/iswagroup.cpp @@ -41,6 +41,7 @@ IswaGroup::IswaGroup(std::string name, IswaManager::CygnetType type) ,_dataOptions("dataOptions", "Data Options") // ,_id(id) ,_type(type) + ,_registered(false) // ,_dataProcessor(nullptr) { setName(name); @@ -94,6 +95,9 @@ IswaGroup::~IswaGroup(){ // } void IswaGroup::registerOptions(const std::vector& options){ + if(!_registered) + registerProperties(); + if(_type == IswaManager::CygnetType::Data){ if(_dataOptions.options().empty()){ for(auto option : options){ @@ -168,11 +172,13 @@ void IswaGroup::registerProperties(){ _delete.onChange([this]{ clearGroup(); }); + _registered = true; } void IswaGroup::unregisterProperties(){ // _dataOptions.removeOptions(); OsEng.gui()._iswa.unregisterProperties(name()); + _registered = false; // _type = IswaManager::CygnetType::NoType; } diff --git a/modules/iswa/rendering/iswagroup.h b/modules/iswa/rendering/iswagroup.h index 3acec78224..be63573bfa 100644 --- a/modules/iswa/rendering/iswagroup.h +++ b/modules/iswa/rendering/iswagroup.h @@ -84,6 +84,7 @@ private: std::shared_ptr _dataProcessor; //std::vector _cygnets; IswaManager::CygnetType _type; + bool _registered; }; } //namespace openspace diff --git a/modules/onscreengui/src/guiiswacomponent.cpp b/modules/onscreengui/src/guiiswacomponent.cpp index 52ecdfb18c..a475dc7d3e 100644 --- a/modules/onscreengui/src/guiiswacomponent.cpp +++ b/modules/onscreengui/src/guiiswacomponent.cpp @@ -133,17 +133,15 @@ void GuiIswaComponent::render() { int cdfOption = _cdfOptionsMap[groupName]; if(cdfOptionValue != cdfOption){ - // std::cout << cdfOptionValue << ", " << cdfOption << std::endl; - if(cdfOptionValue > 0){ + if(cdfOptionValue >= 0){ groupName = cdfs[cdfOptionValue].group; - // std::cout << groupName << std::endl; + std::cout << groupName << std::endl; OsEng.scriptEngine().queueScript("openspace.iswa.removeGroup('"+groupName+"');"); } std::string path = cdfs[cdfOption].path; std::string date = cdfs[cdfOption].date; groupName = cdfs[cdfOption].group; - // std::cout << path << ", " << date << ", " << groupName << std::endl; OsEng.scriptEngine().queueScript("openspace.iswa.addKameleonPlanes('"+groupName+"',"+std::to_string(cdfOption)+");"); OsEng.scriptEngine().queueScript("openspace.time.setTime('"+date+"');"); OsEng.scriptEngine().queueScript("openspace.time.setDeltaTime(0);");