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


C++ CInterfaceManager::enableModalWindow方法代码示例

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


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

示例1: execute

	virtual void execute (CCtrlBase *pCaller, const std::string &/* Params */)
	{
		CInterfaceManager *im = CInterfaceManager::getInstance();
		CGroupContainer *gc = NULL;
		CCtrlBase *cb = pCaller;
		while (cb)
		{
			gc = dynamic_cast<CGroupContainer *>(cb);
			if (gc) break;
			cb = cb->getParent();
		}
		if (!gc) return;
		AlphaChooserTarget = gc;
		if (!_AlphaObserversAdded)
		{
			_UiVariableBGAlpha = im->getDbProp("UI:VARIABLES:ALPHA_BG");
			_UiVariableContentAlpha = im->getDbProp("UI:VARIABLES:ALPHA_CONTENT");
			_UiVariableRolloverAlphaBG = im->getDbProp("UI:VARIABLES:ALPHA_ROLLOVER_BG");
			_UiVariableRolloverAlphaContent = im->getDbProp("UI:VARIABLES:ALPHA_ROLLOVER_CONTENT");
			ICDBNode::CTextId textIdBGAlpha, textIdContentAlpha, textIdRolloverAlphaBG, textIdRolloverAlphaContent;
			_UiVariableBGAlpha->addObserver(&_BgAlphaObs, textIdBGAlpha);
			_UiVariableContentAlpha->addObserver(&_ContentAlphaObs, textIdContentAlpha);
			_UiVariableRolloverAlphaBG->addObserver(&_RolloverAlphaBGObs, textIdRolloverAlphaBG);
			_UiVariableRolloverAlphaContent->addObserver(&_RolloverAlphaContentObs, textIdRolloverAlphaContent);
			_AlphaObserversAdded = true;
		}
		// disable observers
		_ContentAlphaObs.On = false;
		_BgAlphaObs.On      = false;
		_RolloverAlphaBGObs.On		= false;
		_RolloverAlphaContentObs.On	= false;
		// set alpha of current chosen container
		_UiVariableBGAlpha->setValue32(gc->getContainerAlpha());
		_UiVariableContentAlpha->setValue32(gc->getContentAlpha());
		_UiVariableRolloverAlphaBG->setValue32(255 - gc->getRolloverAlphaContainer());
		_UiVariableRolloverAlphaContent->setValue32(255 - gc->getRolloverAlphaContent());
		// enable observers
		_ContentAlphaObs.On  = true;
		_BgAlphaObs.On       = true;
		_RolloverAlphaBGObs.On		= true;
		_RolloverAlphaContentObs.On	= true;
		// backup current alpha (if the user cancel)
		OldContentAlpha = gc->getContentAlpha();
		OldBgAlpha = gc->getContainerAlpha();
		OldRolloverAlphaBG = gc->getRolloverAlphaContainer();
		OldRolloverAlphaContent = gc->getRolloverAlphaContent();
		OldUseGlobalAlpha = gc->isUsingGlobalAlpha();
		// Enable 'use global alpha' button
		im->getDbProp("UI:VARIABLES:USER_ALPHA")->setValue64(gc->isUsingGlobalAlpha() ? 0 : 1);
		// show the modal box
		im->enableModalWindow(gc, "ui:interface:define_ui_transparency");

	}
开发者ID:AzyxWare,项目名称:ryzom,代码行数:53,代码来源:action_handler.cpp


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