当前位置: 首页>>代码示例>>C++>>正文


C++ WidgetPtr::getParent方法代码示例

本文整理汇总了C++中WidgetPtr::getParent方法的典型用法代码示例。如果您正苦于以下问题:C++ WidgetPtr::getParent方法的具体用法?C++ WidgetPtr::getParent怎么用?C++ WidgetPtr::getParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WidgetPtr的用法示例。


在下文中一共展示了WidgetPtr::getParent方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: upLayerItem

	void LayerManager::upLayerItem(WidgetPtr _item)
	{
		if (null == _item) return;

		// добираемся до рута
		while (_item->getParent() != null) _item = _item->getParent();

		// если приаттачены, то поднимаем
		if (null != _item->mLayerKeeper) _item->mLayerKeeper->upItem(_item->mLayerItemKeeper);

	}
开发者ID:twktheainur,项目名称:vortex-ee,代码行数:11,代码来源:MyGUI_LayerManager.cpp

示例2: addChild

void ContainerWidget::addChild(const WidgetPtr& child)
{
	auto oldParent = child->getParent();
	if(oldParent)
		oldParent->removeChild(child);
		
	children.push_back(child);
	child->setParent(sharedFromThis());
}
开发者ID:ronsaldo,项目名称:loden,代码行数:9,代码来源:ContainerWidget.cpp

示例3: convertToGlobal

	// преобразует точку на виджете в глобальную позицию
	IntPoint WidgetManager::convertToGlobal(const IntPoint& _point, WidgetPtr _widget)
	{
		IntPoint ret = _point;
		WidgetPtr wid = _widget;
		while (wid != null) {
			ret += wid->getPosition();
			wid = wid->getParent();
		}
		return ret;
	}
开发者ID:MyGUI,项目名称:mygui-historical,代码行数:11,代码来源:MyGUI_WidgetManager.cpp

示例4: isAncestorOf

bool Widget::isAncestorOf(const WidgetPtr &o) const
{
    auto currentParent = o->getParent();
    for (; currentParent; currentParent = currentParent->getParent())
    {
        if (currentParent.get() == this)
            return true;
    }

    return false;
}
开发者ID:ronsaldo,项目名称:loden,代码行数:11,代码来源:Widget.cpp

示例5: addWidgetModal

	void InputManager::addWidgetModal(WidgetPtr _widget)
	{
		if (null == _widget) return;
		MYGUI_ASSERT(null == _widget->getParent(), "Modal widget must be root");

		resetMouseFocusWidget();
		removeWidgetModal(_widget);
		mVectorModalRootWidget.push_back(_widget);

		setKeyFocusWidget(_widget);
		LayerManager::getInstance().upLayerItem(_widget);
	}
开发者ID:twktheainur,项目名称:vortex-ee,代码行数:12,代码来源:MyGUI_InputManager.cpp

示例6: destroyWidget

	void WidgetManager::destroyWidget(WidgetPtr _widget)
	{
		// иначе возможен бесконечный цикл
		MYGUI_ASSERT(_widget != null, "widget is deleted");

		// отписываем от всех
		VectorWidgetPtr childs = _widget->getChilds();
		for (VectorWidgetPtr::iterator iter = childs.begin(); iter != childs.end(); ++iter)
			unlinkFromUnlinkers(*iter);
		unlinkFromUnlinkers(_widget);


		// делегирует удаление отцу виджета
		WidgetPtr parent = _widget->getParent();
		if (parent == null) Gui::getInstance()._destroyChildWidget(_widget);
		else parent->_destroyChildWidget(_widget);

	}
开发者ID:MyGUI,项目名称:mygui-historical,代码行数:18,代码来源:MyGUI_WidgetManager.cpp

示例7: injectMousePress

	bool InputManager::injectMousePress(int _absx, int _absy, MouseButton _id)
	{

		// если мы щелкнули не на гуй
		if (false == isFocusMouse()) {
			resetKeyFocusWidget();
			return false;
		}

		// если активный элемент заблокирован
		if (false == mWidgetMouseFocus->isEnabled()) return true;

		// захватываем только по левой клавише и только если виджету надо
		if (MB_Left == _id) {
			// захват окна
			mIsWidgetMouseCapture = true;
			// запоминаем место нажатия
			mLastLeftPressed.set(_absx, _absy);
		}

		// ищем вверх тот виджет который может принимать фокус
		WidgetPtr focus = mWidgetMouseFocus;
		while ((focus != null) && (false == focus->isNeedKeyFocus())) focus = focus->getParent();

		// устанавливаем перед вызовом т.к. возможно внутри ктонить поменяет фокус под себя
		setKeyFocusWidget(focus);

		if (mWidgetMouseFocus != null) {

			mWidgetMouseFocus->_onMouseButtonPressed(_absx, _absy, _id);
			//mWidgetMouseFocus->_onMouseButtonPressed(_id);

			// поднимаем виджет
			LayerManager::getInstance().upLayerItem(mWidgetMouseFocus);
		}
		return true;
	}
开发者ID:twktheainur,项目名称:vortex-ee,代码行数:37,代码来源:MyGUI_InputManager.cpp


注:本文中的WidgetPtr::getParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。