本文整理汇总了C++中OverlayContainer::getChildIterator方法的典型用法代码示例。如果您正苦于以下问题:C++ OverlayContainer::getChildIterator方法的具体用法?C++ OverlayContainer::getChildIterator怎么用?C++ OverlayContainer::getChildIterator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OverlayContainer
的用法示例。
在下文中一共展示了OverlayContainer::getChildIterator方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: finializeSession
//-----------------------------------------------------------------------
void OverlayProfileSessionListener::finializeSession()
{
OverlayContainer* container = dynamic_cast<OverlayContainer*>(mProfileGui);
if (container)
{
OverlayContainer::ChildIterator children = container->getChildIterator();
while (children.hasMoreElements())
{
OverlayElement* element = children.getNext();
OverlayContainer* parent = element->getParent();
if (parent) parent->removeChild(element->getName());
OverlayManager::getSingleton().destroyOverlayElement(element);
}
}
if(mProfileGui)
OverlayManager::getSingleton().destroyOverlayElement(mProfileGui);
if(mOverlay)
OverlayManager::getSingleton().destroy(mOverlay);
mProfileBars.clear();
}
示例2: SafeDestroyOverlayElement
void OverlayHelper::SafeDestroyOverlayElement(OverlayElement *item)
{
if (item->isContainer())
{
OverlayContainer *container = (OverlayContainer*) item;
// Arrggghh the variable is protected
// ((OverlayContainer*)item)->mOverlay->remove2D((OverlayContainer*)item);
OverlayManager::OverlayMapIterator iter1 = OverlayManager::getSingleton().getOverlayIterator();
while (iter1.hasMoreElements())
{
iter1.getNext()->remove2D(container);
}
OverlayContainer::ChildIterator iter2 = container->getChildIterator();
while (iter2.hasMoreElements())
{
iter2.getNext()->_setParent(0);
}
OverlayContainer::ChildContainerIterator iter3 = container->getChildContainerIterator();
while (iter3.hasMoreElements())
{
iter3.getNext()->_setParent(0);
}
}
if (item->getParent())
item->getParent()->removeChild(item->getName());
OverlayManager::getSingleton().destroyOverlayElement(item);
unsigned i;
i=0;
while (i < timedOverlays.Size())
{
if (timedOverlays[i].overlayElement==item)
timedOverlays.RemoveAtIndex(i);
else
i++;
}
}
示例3: setEnabled
//-----------------------------------------------------------------------
void Profiler::setEnabled(bool enabled)
{
if (!mInitialized && enabled)
{
// the user wants to enable the Profiler for the first time
// so we initialize the GUI stuff
initialize();
mInitialized = true;
}
else
{
OverlayContainer* container = dynamic_cast<OverlayContainer*>(mProfileGui);
if (container)
{
OverlayContainer::ChildIterator children = container->getChildIterator();
while (children.hasMoreElements())
{
OverlayElement* element = children.getNext();
OverlayContainer* parent = element->getParent();
if (parent) parent->removeChild(element->getName());
OverlayManager::getSingleton().destroyOverlayElement(element);
}
}
if(mProfileGui)
OverlayManager::getSingleton().destroyOverlayElement(mProfileGui);
if(mOverlay)
OverlayManager::getSingleton().destroy(mOverlay);
mProfileBars.clear();
mInitialized = false;
mEnabled = false;
}
// We store this enable/disable request until the frame ends
// (don't want to screw up any open profiles!)
mNewEnableState = enabled;
}