Esempio n. 1
0
	DataPtr DataUtility::getSelectedDataByType(DataPtr _data, DataTypePtr _info)
	{
		if (_data == nullptr)
			return NULL;

		if (_data->getType() == _info)
			return _data;

		return getSelectedDataByType(_data->getChildSelected(), _info);
	}
Esempio n. 2
0
	DataPtr DataUtility::getSelectedParentDataByType(DataPtr _data, DataTypePtr _info)
	{
		if (_data == nullptr)
			return NULL;

		for (DataType::VectorString::const_iterator child = _data->getType()->getChilds().begin(); child != _data->getType()->getChilds().end(); child ++)
		{
			if ((*child) == _info->getName())
				return _data;
		}

		return getSelectedParentDataByType(_data->getChildSelected(), _info);
	}
	void PropertyPanelController::notifyChangeDataSelector(DataPtr _data, bool _changeOnlySelection)
	{
		if (mControl != nullptr)
		{
			DataPtr selected = _data != nullptr ? _data->getChildSelected() : nullptr;

			// выделяем только данные с типом скопа
			if (selected != nullptr)
			{
				if (selected->getType()->getName() != ScopeManager::getInstance().getCurrentScope() &&
					selected->getType()->getFriend() != ScopeManager::getInstance().getCurrentScope())
				selected = nullptr;
			}

			mControl->setCurrentData(selected);
		}
	}