A MenuItem now maintains a "user data" pointer.

Menu::Run() now calls platform_run_menu().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8113 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2004-06-22 00:39:40 +00:00
parent 81f569510c
commit c668dff52c
+16 -7
View File
@@ -1,6 +1,6 @@
/* /*
** Copyright 2003-2004, Axel Dörfler, [email protected]. All rights reserved. ** Copyright 2003-2004, Axel Dörfler, [email protected]. All rights reserved.
** Distributed under the terms of the OpenBeOS License. ** Distributed under the terms of the Haiku License.
*/ */
@@ -28,7 +28,8 @@ MenuItem::MenuItem(const char *label, Menu *subMenu)
fIsSelected(false), fIsSelected(false),
fType(MENU_ITEM_STANDARD), fType(MENU_ITEM_STANDARD),
fMenu(NULL), fMenu(NULL),
fSubMenu(subMenu) fSubMenu(subMenu),
fData(NULL)
{ {
} }
@@ -39,14 +40,14 @@ MenuItem::~MenuItem()
} }
void void
MenuItem::SetTarget(menu_item_hook target) MenuItem::SetTarget(menu_item_hook target)
{ {
fTarget = target; fTarget = target;
} }
void void
MenuItem::SetMarked(bool marked) MenuItem::SetMarked(bool marked)
{ {
if (fIsMarked == marked) if (fIsMarked == marked)
@@ -66,7 +67,7 @@ MenuItem::SetMarked(bool marked)
} }
void void
MenuItem::Select(bool selected) MenuItem::Select(bool selected)
{ {
if (fIsSelected == selected) if (fIsSelected == selected)
@@ -86,13 +87,20 @@ MenuItem::Select(bool selected)
} }
void void
MenuItem::SetType(menu_item_type type) MenuItem::SetType(menu_item_type type)
{ {
fType = type; fType = type;
} }
void
MenuItem::SetData(void *data)
{
fData = data;
}
void void
MenuItem::SetMenu(Menu *menu) MenuItem::SetMenu(Menu *menu)
{ {
@@ -266,6 +274,7 @@ Menu::Draw(MenuItem *item)
void void
Menu::Run() Menu::Run()
{ {
platform_run_menu(this);
} }
@@ -342,7 +351,7 @@ user_menu(Directory **_bootVolume)
menu->AddSeparatorItem(); menu->AddSeparatorItem();
menu->AddItem(item = new MenuItem("Continue booting")); menu->AddItem(item = new MenuItem("Continue booting"));
platform_run_menu(menu); menu->Run();
return B_OK; return B_OK;
} }