本文整理汇总了C++中OverlayElement::getTypeName方法的典型用法代码示例。如果您正苦于以下问题:C++ OverlayElement::getTypeName方法的具体用法?C++ OverlayElement::getTypeName怎么用?C++ OverlayElement::getTypeName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OverlayElement
的用法示例。
在下文中一共展示了OverlayElement::getTypeName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: destroyAllOverlayElementsImpl
//---------------------------------------------------------------------
void OverlayManager::destroyAllOverlayElementsImpl(ElementMap& elementMap)
{
ElementMap::iterator i;
while ((i = elementMap.begin()) != elementMap.end())
{
OverlayElement* element = i->second;
// Get factory to delete
FactoryMap::iterator fi = mFactories.find(element->getTypeName());
if (fi == mFactories.end())
{
OGRE_EXCEPT(Exception::ERR_ITEM_NOT_FOUND, "Cannot locate factory for element "
+ element->getName(),
"OverlayManager::destroyAllOverlayElements");
}
// remove from parent, if any
OverlayContainer* parent;
if ((parent = element->getParent()) != 0)
{
parent->_removeChild(element->getName());
}
// children of containers will be auto-removed when container is destroyed.
// destroy the element and remove it from the list
fi->second->destroyOverlayElement(element);
elementMap.erase(i);
}
}
示例2: createOverlayElementFromTemplate
//---------------------------------------------------------------------
OverlayElement* OverlayManager::createOverlayElementFromTemplate(const String& templateName, const String& typeName, const String& instanceName, bool isATemplate)
{
OverlayElement* newObj = NULL;
if (templateName.empty())
{
newObj = createOverlayElement(typeName, instanceName, isATemplate);
}
else
{
// no template
OverlayElement* templateGui = getOverlayElement(templateName, true);
String typeNameToCreate;
if (typeName.empty())
{
typeNameToCreate = templateGui->getTypeName();
}
else
{
typeNameToCreate = typeName;
}
newObj = createOverlayElement(typeNameToCreate, instanceName, isATemplate);
((OverlayContainer*)newObj)->copyFromTemplate(templateGui);
}
return newObj;
}
示例3: copyFromTemplate
void OverlayContainer::copyFromTemplate(OverlayElement* templateOverlay)
{
OverlayElement::copyFromTemplate(templateOverlay);
if (templateOverlay->isContainer() && isContainer())
{
OverlayContainer::ChildIterator it = static_cast<OverlayContainer*>(templateOverlay)->getChildIterator();
while (it.hasMoreElements())
{
OverlayElement* oldChildElement = it.getNext();
if (oldChildElement->isCloneable())
{
OverlayElement* newChildElement =
OverlayManager::getSingleton().createOverlayElement(
oldChildElement->getTypeName(),
mName+"/"+oldChildElement->getName());
newChildElement->copyFromTemplate(oldChildElement);
addChild(static_cast<OverlayContainer*>(newChildElement));
}
}
}
}