本文整理汇总了C++中UIAction类的典型用法代码示例。如果您正苦于以下问题:C++ UIAction类的具体用法?C++ UIAction怎么用?C++ UIAction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UIAction类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: processHotKey
bool UIActionPool::processHotKey(const QKeySequence &key)
{
/* Get the list of keys: */
QList<int> keys = m_pool.keys();
/* Iterate through the whole list of keys: */
for (int i = 0; i < keys.size(); ++i)
{
/* Get current action: */
UIAction *pAction = m_pool[keys[i]];
/* Skip menus/separators: */
if (pAction->type() == UIActionType_Menu)
continue;
/* Get the hot key of the current action: */
QString strHotKey = VBoxGlobal::extractKeyFromActionText(pAction->text());
if (pAction->isEnabled() && pAction->isVisible() && !strHotKey.isEmpty())
{
if (key.matches(QKeySequence(strHotKey)) == QKeySequence::ExactMatch)
{
/* We asynchronously post a special event instead of calling
* pAction->trigger() directly, to let key presses and
* releases be processed correctly by Qt first.
* Note: we assume that nobody will delete the menu item
* corresponding to the key sequence, so that the pointer to
* menu data posted along with the event will remain valid in
* the event handler, at least until the main window is closed. */
QApplication::postEvent(this, new ActivateActionEvent(pAction));
return true;
}
}
}
return false;
}
开发者ID:gvsurenderreddy,项目名称:VirtualBox-OSE,代码行数:32,代码来源:UIActionPool.cpp
示例2: actionPool
void UIMachineLogicSeamless::prepareActionGroups()
{
/* Call to base-class: */
UIMachineLogic::prepareActionGroups();
/* Restrict 'Adjust Window', 'Guest Autoresize', 'Status Bar' and 'Resize' actions for 'View' menu: */
actionPool()->toRuntime()->setRestrictionForMenuView(UIActionRestrictionLevel_Logic,
(UIExtraDataMetaDefs::RuntimeMenuViewActionType)
(UIExtraDataMetaDefs::RuntimeMenuViewActionType_AdjustWindow |
UIExtraDataMetaDefs::RuntimeMenuViewActionType_GuestAutoresize |
UIExtraDataMetaDefs::RuntimeMenuViewActionType_MenuBar |
UIExtraDataMetaDefs::RuntimeMenuViewActionType_StatusBar |
UIExtraDataMetaDefs::RuntimeMenuViewActionType_Resize));
#ifdef VBOX_WS_MAC
/* Restrict 'Window' menu: */
actionPool()->toRuntime()->setRestrictionForMenuBar(UIActionRestrictionLevel_Logic,
UIExtraDataMetaDefs::MenuType_Window);
#endif /* VBOX_WS_MAC */
/* Take care of view-action toggle state: */
UIAction *pActionSeamless = actionPool()->action(UIActionIndexRT_M_View_T_Seamless);
if (!pActionSeamless->isChecked())
{
pActionSeamless->blockSignals(true);
pActionSeamless->setChecked(true);
pActionSeamless->blockSignals(false);
}
}
开发者ID:miguelinux,项目名称:vbox,代码行数:28,代码来源:UIMachineLogicSeamless.cpp
示例3: GetActionByName
void UIActionManager::PlayActionByName(const char* actionName)
{
UIAction* action = GetActionByName(actionName);
if (action) {
action->Play();
}
}
开发者ID:edwardZhang,项目名称:Cocos2d-x-For-CocoStudio,代码行数:7,代码来源:UIActionManager.cpp
示例4: UIAction
void UIActionManager::initWithDictionary(cs::CSJsonDictionary *dic,UIWidget* root)
{
int actionCount = DICTOOL->getArrayCount_json(dic, "actionlist");
for (int i=0; i<actionCount; i++) {
UIAction* action = new UIAction();
cs::CSJsonDictionary* actionDic = DICTOOL->getDictionaryFromArray_json(dic, "actionlist", i);
action->initWithDictionary(actionDic,root);
this->m_ActionList->addObject(action);
}
}
开发者ID:edwardZhang,项目名称:Cocos2d-x-For-CocoStudio,代码行数:10,代码来源:UIActionManager.cpp
示例5: GetActionByName
UIAction* UIActionManager::GetActionByName(const char* jsonName,const char* actionName)
{
CCArray* actionList = (CCArray*)(m_pActionDic->objectForKey(jsonName));
if (!actionList)
{
return NULL;
}
for (int i=0; i<actionList->count(); i++)
{
UIAction* action = dynamic_cast<UIAction*>(actionList->objectAtIndex(i));
if (strcmp(actionName, action->getName()) == 0)
{
return action;
}
}
return NULL;
}
开发者ID:chenxu111,项目名称:Cocos2d-x-For-CocoStudio,代码行数:17,代码来源:UIActionManager.cpp
示例6: actionPool
void UIMachineLogicScale::cleanupActionGroups()
{
/* Take care of view-action toggle state: */
UIAction *pActionScale = actionPool()->action(UIActionIndexRT_M_View_T_Scale);
if (pActionScale->isChecked())
{
pActionScale->blockSignals(true);
pActionScale->setChecked(false);
pActionScale->blockSignals(false);
}
/* Allow 'Adjust Window', 'Guest Autoresize', 'Status Bar' and 'Resize' actions for 'View' menu: */
actionPool()->toRuntime()->setRestrictionForMenuView(UIActionRestrictionLevel_Logic,
UIExtraDataMetaDefs::RuntimeMenuViewActionType_Invalid);
/* Call to base-class: */
UIMachineLogic::cleanupActionGroups();
}
开发者ID:sobomax,项目名称:virtualbox_64bit_edd,代码行数:18,代码来源:UIMachineLogicScale.cpp
示例7: CCLOG
void UIActionManager::initWithDictionary(const char* jsonName,cs::CSJsonDictionary *dic,UIWidget* root)
{
std::string path = jsonName;
int pos = path.find_last_of("/");
std::string fileName = path.substr(pos+1,path.length());
CCLOG("filename == %s",fileName.c_str());
CCArray* actionList = CCArray::create();
int actionCount = DICTOOL->getArrayCount_json(dic, "actionlist");
for (int i=0; i<actionCount; i++)
{
UIAction* action = new UIAction();
action->autorelease();
cs::CSJsonDictionary* actionDic = DICTOOL->getDictionaryFromArray_json(dic, "actionlist", i);
action->initWithDictionary(actionDic,root);
actionList->addObject(action);
CC_SAFE_DELETE(actionDic);
}
m_pActionDic->setObject(actionList, fileName);
}
开发者ID:chenxu111,项目名称:Cocos2d-x-For-CocoStudio,代码行数:19,代码来源:UIActionManager.cpp
示例8: switch
void UIMachineWindowNormal::sltHandleIndicatorContextMenuRequest(IndicatorType enmIndicatorType, const QPoint &indicatorPosition)
{
/* Determine action depending on indicator-type: */
UIAction *pAction = 0;
switch (enmIndicatorType)
{
case IndicatorType_HardDisks: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_HardDrives); break;
case IndicatorType_OpticalDisks: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_OpticalDevices); break;
case IndicatorType_FloppyDisks: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_FloppyDevices); break;
case IndicatorType_Audio: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_Audio); break;
case IndicatorType_Network: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_Network); break;
case IndicatorType_USB: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_USBDevices); break;
case IndicatorType_SharedFolders: pAction = actionPool()->action(UIActionIndexRT_M_Devices_M_SharedFolders); break;
case IndicatorType_Display: pAction = actionPool()->action(UIActionIndexRT_M_ViewPopup); break;
case IndicatorType_Recording: pAction = actionPool()->action(UIActionIndexRT_M_View_M_Recording); break;
case IndicatorType_Mouse: pAction = actionPool()->action(UIActionIndexRT_M_Input_M_Mouse); break;
case IndicatorType_Keyboard: pAction = actionPool()->action(UIActionIndexRT_M_Input_M_Keyboard); break;
default: break;
}
/* Raise action's context-menu: */
if (pAction && pAction->isEnabled())
pAction->menu()->exec(m_pIndicatorsPool->mapIndicatorPositionToGlobal(enmIndicatorType, indicatorPosition));
}
开发者ID:mdaniel,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:23,代码来源:UIMachineWindowNormal.cpp
示例9: prepareActionGroups
void UIMachineLogicSeamless::prepareActionGroups()
{
/* Call to base-class: */
UIMachineLogic::prepareActionGroups();
/* Guest auto-resize isn't allowed in seamless: */
gActionPool->action(UIActionIndexRuntime_Toggle_GuestAutoresize)->setVisible(false);
/* Adjust-window isn't allowed in seamless: */
gActionPool->action(UIActionIndexRuntime_Simple_AdjustWindow)->setVisible(false);
/* Disable mouse-integration isn't allowed in seamless: */
gActionPool->action(UIActionIndexRuntime_Toggle_MouseIntegration)->setVisible(false);
/* Take care of view-action toggle state: */
UIAction *pActionSeamless = gActionPool->action(UIActionIndexRuntime_Toggle_Seamless);
if (!pActionSeamless->isChecked())
{
pActionSeamless->blockSignals(true);
pActionSeamless->setChecked(true);
pActionSeamless->blockSignals(false);
pActionSeamless->update();
}
}
开发者ID:bayasist,项目名称:vbox,代码行数:22,代码来源:UIMachineLogicSeamless.cpp
注:本文中的UIAction类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论