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


C++ MenuItem::Data方法代码示例

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


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

示例1: new

status_t
user_menu(Directory** _bootVolume)
{
	Menu* menu = new(std::nothrow) Menu(MAIN_MENU);
	Menu* safeModeMenu = NULL;
	Menu* debugMenu = NULL;
	MenuItem* item;

	TRACE(("user_menu: enter\n"));

	// Add boot volume
	menu->AddItem(item = new(std::nothrow) MenuItem("Select boot volume",
		add_boot_volume_menu(*_bootVolume)));

	// Add safe mode
	menu->AddItem(item = new(std::nothrow) MenuItem("Select safe mode options",
		safeModeMenu = add_safe_mode_menu()));

	// add debug menu
	menu->AddItem(item = new(std::nothrow) MenuItem("Select debug options",
		debugMenu = add_debug_menu()));

	// Add platform dependent menus
	platform_add_menus(menu);

	menu->AddSeparatorItem();

	menu->AddItem(item = new(std::nothrow) MenuItem("Reboot"));
	item->SetTarget(user_menu_reboot);
	item->SetShortcut('r');

	menu->AddItem(item = new(std::nothrow) MenuItem("Continue booting"));
	if (*_bootVolume == NULL) {
		item->SetEnabled(false);
		menu->ItemAt(0)->Select(true);
	} else
		item->SetShortcut('b');

	menu->Run();

	// See if a new boot device has been selected, and propagate that back
	if (item->Data() != NULL)
		*_bootVolume = (Directory*)item->Data();

	apply_safe_mode_options(safeModeMenu);
	apply_safe_mode_options(debugMenu);
	delete menu;

	TRACE(("user_menu: leave\n"));

	return B_OK;
}
开发者ID:mariuz,项目名称:haiku,代码行数:52,代码来源:menu.cpp

示例2: while

static void
apply_safe_mode_options(Menu *menu)
{
    MenuItemIterator iterator = menu->ItemIterator();
    MenuItem *item;
    char buffer[2048];
    int32 pos = 0;

    buffer[0] = '\0';

    while ((item = iterator.Next()) != NULL) {
        if (item->Type() == MENU_ITEM_SEPARATOR || !item->IsMarked()
                || item->Data() == NULL || (uint32)pos > sizeof(buffer))
            continue;

        size_t totalBytes = snprintf(buffer + pos, sizeof(buffer) - pos,
                                     "%s true\n", (const char *)item->Data());
        pos += std::min(totalBytes, sizeof(buffer) - pos - 1);
    }

    add_safe_mode_settings(buffer);
}
开发者ID:mmanley,项目名称:Antares,代码行数:22,代码来源:menu.cpp


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