Call Set on the whole MusicWheelItem, not just TextBanner.

Fix HandleMessage not being propagated.
This commit is contained in:
Chris Danford
2007-04-15 19:20:16 +00:00
parent 72f119fcb4
commit 68567211f9
3 changed files with 9 additions and 9 deletions
+8 -2
View File
@@ -173,6 +173,7 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pWIBD, int
// init and unhide type specific stuff // init and unhide type specific stuff
switch( pWID->m_Type ) switch( pWID->m_Type )
{ {
DEFAULT_FAIL( pWID->m_Type );
case TYPE_SECTION: case TYPE_SECTION:
case TYPE_COURSE: case TYPE_COURSE:
case TYPE_SORT: case TYPE_SORT:
@@ -228,8 +229,13 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pWIBD, int
m_textRoulette.SetText( THEME->GetString("MusicWheel","Portal") ); m_textRoulette.SetText( THEME->GetString("MusicWheel","Portal") );
m_textRoulette.SetVisible( true ); m_textRoulette.SetVisible( true );
break; break;
}
DEFAULT_FAIL( pWID->m_Type ); // invalid type // Call "Set" so that elements can react to the change in song.
{
Message msg( "Set" );
msg.SetParam( "Song", data->m_pSong );
this->HandleMessage( msg );
} }
Actor *pBars[] = { m_sprBar, m_sprExpandedBar, m_sprSectionBar, m_sprModeBar, m_sprSortBar, m_sprSongBar, NULL }; Actor *pBars[] = { m_sprBar, m_sprExpandedBar, m_sprSectionBar, m_sprModeBar, m_sprSortBar, m_sprSongBar, NULL };
@@ -324,7 +330,7 @@ void MusicWheelItem::HandleMessage( const Message &msg )
RefreshGrades(); RefreshGrades();
} }
Actor::HandleMessage( msg ); WheelItemBase::HandleMessage( msg );
} }
/* /*
+1 -6
View File
@@ -92,14 +92,12 @@ void TextBanner::LoadFromString(
const RString &sDisplayArtist, const RString &sTranslitArtist ) const RString &sDisplayArtist, const RString &sTranslitArtist )
{ {
LoadInternal( LoadInternal(
NULL,
sDisplayTitle, sTranslitTitle, sDisplayTitle, sTranslitTitle,
sDisplaySubTitle, sTranslitSubTitle, sDisplaySubTitle, sTranslitSubTitle,
sDisplayArtist, sTranslitArtist ); sDisplayArtist, sTranslitArtist );
} }
void TextBanner::LoadInternal( void TextBanner::LoadInternal(
Song *pSong,
const RString &sDisplayTitle, const RString &sTranslitTitle, const RString &sDisplayTitle, const RString &sTranslitTitle,
const RString &sDisplaySubTitle, const RString &sTranslitSubTitle, const RString &sDisplaySubTitle, const RString &sTranslitSubTitle,
const RString &sDisplayArtist, const RString &sTranslitArtist ) const RString &sDisplayArtist, const RString &sTranslitArtist )
@@ -110,9 +108,7 @@ void TextBanner::LoadInternal(
m_textSubTitle.SetText( sDisplaySubTitle, sTranslitSubTitle ); m_textSubTitle.SetText( sDisplaySubTitle, sTranslitSubTitle );
m_textArtist.SetText( sDisplayArtist, sTranslitArtist ); m_textArtist.SetText( sDisplayArtist, sTranslitArtist );
Message msg( "Set" ); // Set command is called by parent on the whole music wheel item
msg.SetParam( "Song", pSong );
this->HandleMessage( msg );
} }
void TextBanner::LoadFromSong( Song *pSong ) void TextBanner::LoadFromSong( Song *pSong )
@@ -127,7 +123,6 @@ void TextBanner::LoadFromSong( Song *pSong )
RString sTranslitArtist = pSong ? m_sArtistPrependString + pSong->GetTranslitArtist() : RString(""); RString sTranslitArtist = pSong ? m_sArtistPrependString + pSong->GetTranslitArtist() : RString("");
LoadInternal( LoadInternal(
pSong,
sDisplayTitle, sTranslitTitle, sDisplayTitle, sTranslitTitle,
sDisplaySubTitle, sTranslitSubTitle, sDisplaySubTitle, sTranslitSubTitle,
sDisplayArtist, sTranslitArtist ); sDisplayArtist, sTranslitArtist );
-1
View File
@@ -28,7 +28,6 @@ public:
private: private:
void LoadInternal( void LoadInternal(
Song *pSong,
const RString &sDisplayTitle, const RString &sTranslitTitle, const RString &sDisplayTitle, const RString &sTranslitTitle,
const RString &sDisplaySubTitle, const RString &sTranslitSubTitle, const RString &sDisplaySubTitle, const RString &sTranslitSubTitle,
const RString &sDisplayArtist, const RString &sTranslitArtist ); const RString &sDisplayArtist, const RString &sTranslitArtist );