like ScreenTextEntry, let SManager handle the screen loading
This commit is contained in:
@@ -16,23 +16,39 @@ bool ScreenMiniMenu::s_bCancelled = false;
|
|||||||
int ScreenMiniMenu::s_iLastRowCode = -1;
|
int ScreenMiniMenu::s_iLastRowCode = -1;
|
||||||
vector<int> ScreenMiniMenu::s_viLastAnswers;
|
vector<int> ScreenMiniMenu::s_viLastAnswers;
|
||||||
|
|
||||||
|
/* Settings: */
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
bool g_bLoaded = false;
|
||||||
|
const MenuDef* g_pMenuDef;
|
||||||
|
ScreenMessage g_SendOnOK;
|
||||||
|
ScreenMessage g_SendOnCancel;
|
||||||
|
};
|
||||||
|
|
||||||
void ScreenMiniMenu::MiniMenu( const MenuDef* pDef, ScreenMessage SM_SendOnOK, ScreenMessage SM_SendOnCancel, float fX, float fY )
|
void ScreenMiniMenu::MiniMenu( const MenuDef* pDef, ScreenMessage SM_SendOnOK, ScreenMessage SM_SendOnCancel, float fX, float fY )
|
||||||
{
|
{
|
||||||
ScreenMiniMenu *pNewScreen = new ScreenMiniMenu;
|
g_pMenuDef = pDef;
|
||||||
pNewScreen->SetName( pDef->sClassName );
|
g_SendOnOK = SM_SendOnOK;
|
||||||
pNewScreen->Init();
|
g_SendOnCancel = SM_SendOnCancel;
|
||||||
pNewScreen->LoadMenu( pDef );
|
g_bLoaded = true;
|
||||||
pNewScreen->SetOKMessage( SM_SendOnOK );
|
|
||||||
pNewScreen->SetCancelMessage( SM_SendOnCancel );
|
SCREENMAN->AddNewScreenToTop( pDef->sClassName );
|
||||||
|
Screen *pNewScreen = SCREENMAN->GetTopScreen();
|
||||||
pNewScreen->SetXY( fX, fY );
|
pNewScreen->SetXY( fX, fY );
|
||||||
SCREENMAN->ZeroNextUpdate();
|
|
||||||
SCREENMAN->PushScreen( pNewScreen, true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//REGISTER_SCREEN_CLASS( ScreenMiniMenu );
|
REGISTER_SCREEN_CLASS( ScreenMiniMenu );
|
||||||
|
|
||||||
void ScreenMiniMenu::BeginScreen()
|
void ScreenMiniMenu::BeginScreen()
|
||||||
{
|
{
|
||||||
|
if( g_bLoaded )
|
||||||
|
{
|
||||||
|
g_bLoaded = false;
|
||||||
|
LoadMenu( g_pMenuDef );
|
||||||
|
SetOKMessage( g_SendOnOK );
|
||||||
|
SetCancelMessage( g_SendOnCancel );
|
||||||
|
}
|
||||||
|
|
||||||
ScreenOptions::BeginScreen();
|
ScreenOptions::BeginScreen();
|
||||||
|
|
||||||
/* HACK: An OptionRow exits if a screen is set. ScreenMiniMenu is always pushed, so we
|
/* HACK: An OptionRow exits if a screen is set. ScreenMiniMenu is always pushed, so we
|
||||||
|
|||||||
Reference in New Issue
Block a user