void TreeExtensionOld::Implementation::loadStates( const char * id ) { if (id == nullptr || id == std::string( "" )) { return; } auto preferences = self_.qtFramework_->getPreferences(); if (preferences == nullptr) { return; } auto & preference = preferences->getPreference( id ); auto accessor = preference->findProperty( "treeNodeCount" ); if (!accessor.isValid()) { return; } size_t count = 0; bool isOk = preference->get( "treeNodeCount", count ); assert( isOk ); std::string value( "" ); for (size_t i = 0; i < count; ++i) { bool isOk = preference->get( std::to_string( i ).c_str(), value ); assert( isOk ); expandedList_.push_back( value ); } }
void SimpleActiveFiltersModel::Impl::loadSavedFilterPreferences() { auto preferences = get<IUIFramework>()->getPreferences(); GenericObjectPtr& preference = preferences->getPreference(id_.c_str()); auto accessor = preference->findProperty("savedFilterCount"); if (!accessor.isValid()) { return; } size_t count = 0; bool isOk = preference->get("savedFilterCount", count); assert(isOk); auto defManager = get<IDefinitionManager>(); for (size_t i = 1; i <= count; ++i) { // TODO - allow the user to input the name for the saved filter // JIRA - NGT-1484 std::string name = sTempSavedFilterPrefix + std::to_string(i); std::string value(""); preference->get(name.c_str(), value); assert(!value.empty()); auto savedFilter = defManager->create<SavedActiveFilter>(); savedFilter->setFilterId(name); savedFilter->setTerms(value); savedFilters_.push_back(savedFilter); } }
void TreeExtensionOld::Implementation::saveStates( const char * id ) { if (id == nullptr || id == std::string( "" )) { NGT_WARNING_MSG( "Tree preference won't save: %s\n", "Please provide unique objectName for WGTreeModel in qml" ); return; } auto preferences = self_.qtFramework_->getPreferences(); if (preferences == nullptr) { return; } auto & preference = preferences->getPreference( id ); auto count = expandedList_.size(); preference->set( "treeNodeCount", count ); if (count == 0) { if (!memoryExpandedList_.empty()) { NGT_WARNING_MSG( "Tree preference won't save for WGTreeModel: %s, %s\n", id, "please provide an unique path string for IndexPathRole of IItem." ); } return; } int i = 0; for (auto item : expandedList_) { preference->set( std::to_string( i++ ).c_str(), item ); } }
void SimpleActiveFiltersModel::Impl::saveSavedFilterPreferences() { auto preferences = get<IUIFramework>()->getPreferences(); if (preferences == nullptr) { // evgenys: generic_app crashes on plugins unload here, UIFramework is already uninitialized // TODO - investigate why this object instance is not destroyed yet return; } // TODO: fixing this by directly saving collection type data GenericObjectPtr& preference = preferences->getPreference(id_.c_str()); size_t count = savedFilters_.size(); preference->set("savedFilterCount", count); if (count == 0) { return; } for (size_t i = 0; i < count; ++i) { auto savedFilter = savedFilters_[i]; preference->set(savedFilter->getFilterId().c_str(), savedFilter->getTerms()); } }