We have two sets of nearly identical overloads: MenuUp(iep) and

MenuUp(pn).  pn doesn't receive all of the iep data, and is only called
on IEP_FIRST_PRESS.  It creates more complicated overloading
than is needed: if a base class happens to overload these inputs,
you have to overload the correct set.  This was more useful when
these overloads had five parameters (cumbersome), but it's not so
useful now.
This commit is contained in:
Glenn Maynard
2006-09-14 05:26:58 +00:00
parent 3fe68d7f7d
commit c8e909f317
2 changed files with 17 additions and 12 deletions
+9 -5
View File
@@ -240,9 +240,10 @@ void ScreenTextEntry::BackspaceInAnswer()
UpdateAnswerText(); UpdateAnswerText();
} }
void ScreenTextEntry::MenuStart( PlayerNumber pn ) void ScreenTextEntry::MenuStart( const InputEventPlus &input )
{ {
End( false ); if( input.type==IET_FIRST_PRESS )
End( false );
} }
void ScreenTextEntry::TweenOffScreen() void ScreenTextEntry::TweenOffScreen()
@@ -292,9 +293,10 @@ void ScreenTextEntry::End( bool bCancelled )
s_sLastAnswer = bCancelled ? RString("") : WStringToRString(m_sAnswer); s_sLastAnswer = bCancelled ? RString("") : WStringToRString(m_sAnswer);
} }
void ScreenTextEntry::MenuBack( PlayerNumber pn ) void ScreenTextEntry::MenuBack( const InputEventPlus &input )
{ {
End( true ); if( input.type == IET_FIRST_PRESS )
End( true );
} }
void ScreenTextEntryVisual::Init() void ScreenTextEntryVisual::Init()
@@ -430,8 +432,10 @@ void ScreenTextEntryVisual::MoveY( int iDir )
PositionCursor(); PositionCursor();
} }
void ScreenTextEntryVisual::MenuStart( PlayerNumber pn ) void ScreenTextEntryVisual::MenuStart( const InputEventPlus &input )
{ {
if( input.type != IET_FIRST_PRESS )
return;
if( m_iFocusY == KEYBOARD_ROW_SPECIAL ) if( m_iFocusY == KEYBOARD_ROW_SPECIAL )
{ {
switch( m_iFocusX ) switch( m_iFocusX )
+8 -7
View File
@@ -7,6 +7,7 @@
#include "BitmapText.h" #include "BitmapText.h"
#include "RageSound.h" #include "RageSound.h"
#include "ThemeMetric.h" #include "ThemeMetric.h"
#include "InputEventPlus.h"
enum KeyboardRow enum KeyboardRow
{ {
@@ -76,8 +77,8 @@ protected:
virtual void End( bool bCancelled ); virtual void End( bool bCancelled );
private: private:
virtual void MenuStart( PlayerNumber pn ); virtual void MenuStart( const InputEventPlus &input );
virtual void MenuBack( PlayerNumber pn ); virtual void MenuBack( const InputEventPlus &input );
void UpdateAnswerText(); void UpdateAnswerText();
@@ -108,12 +109,12 @@ protected:
virtual void TextEnteredDirectly(); virtual void TextEnteredDirectly();
virtual void MenuLeft( PlayerNumber pn ) { MoveX(-1); } virtual void MenuLeft( const InputEventPlus &input ) { if(input.type==IET_FIRST_PRESS) MoveX(-1); }
virtual void MenuRight( PlayerNumber pn ) { MoveX(+1); } virtual void MenuRight( const InputEventPlus &input ) { if(input.type==IET_FIRST_PRESS) MoveX(+1); }
virtual void MenuUp( PlayerNumber pn ) { MoveY(-1); } virtual void MenuUp( const InputEventPlus &input ) { if(input.type==IET_FIRST_PRESS) MoveY(-1); }
virtual void MenuDown( PlayerNumber pn ) { MoveY(+1); } virtual void MenuDown( const InputEventPlus &input ) { if(input.type==IET_FIRST_PRESS) MoveY(+1); }
virtual void MenuStart( PlayerNumber pn ); virtual void MenuStart( const InputEventPlus &input );
int m_iFocusX; int m_iFocusX;
KeyboardRow m_iFocusY; KeyboardRow m_iFocusY;