コード例 #1
0
ファイル: tree_extension_old.cpp プロジェクト: bw-github/wgtf
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 );
	}
}
コード例 #2
0
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);
	}
}
コード例 #3
0
ファイル: tree_extension_old.cpp プロジェクト: bw-github/wgtf
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 );
	}
}
コード例 #4
0
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());
	}
}