allow hiding group list

This commit is contained in:
Glenn Maynard
2005-07-15 23:21:23 +00:00
parent 28c84b4002
commit 71892143d3
2 changed files with 29 additions and 10 deletions
+20 -3
View File
@@ -45,6 +45,9 @@ static CString ROW_Y_NAME( size_t i ) { return ssprintf("Row%dY",int(i+1)); }
void EditMenu::GetSongsToShowForGroup( const CString &sGroup, vector<Song*> &vpSongsOut ) void EditMenu::GetSongsToShowForGroup( const CString &sGroup, vector<Song*> &vpSongsOut )
{ {
vpSongsOut.clear(); vpSongsOut.clear();
if( !SHOW_GROUPS.GetValue() )
SONGMAN->GetSongs( vpSongsOut );
else
SONGMAN->GetSongs( vpSongsOut, sGroup ); SONGMAN->GetSongs( vpSongsOut, sGroup );
switch( EDIT_MODE.GetValue() ) switch( EDIT_MODE.GetValue() )
{ {
@@ -68,6 +71,9 @@ void EditMenu::GetSongsToShowForGroup( const CString &sGroup, vector<Song*> &vpS
void EditMenu::GetGroupsToShow( vector<CString> &vsGroupsOut ) void EditMenu::GetGroupsToShow( vector<CString> &vsGroupsOut )
{ {
vsGroupsOut.clear(); vsGroupsOut.clear();
if( !SHOW_GROUPS.GetValue() )
return;
SONGMAN->GetSongGroupNames( vsGroupsOut ); SONGMAN->GetSongGroupNames( vsGroupsOut );
for( int i = vsGroupsOut.size()-1; i>=0; i-- ) for( int i = vsGroupsOut.size()-1; i>=0; i-- )
{ {
@@ -93,6 +99,7 @@ void EditMenu::Load( const CString &sType )
{ {
LOG->Trace( "EditMenu::Load" ); LOG->Trace( "EditMenu::Load" );
SHOW_GROUPS.Load(sType,"ShowGroups");
ARROWS_X.Load(sType,ARROWS_X_NAME,NUM_ARROWS); ARROWS_X.Load(sType,ARROWS_X_NAME,NUM_ARROWS);
ARROWS_ENABLED_COLOR.Load(sType,"ArrowsEnabledColor"); ARROWS_ENABLED_COLOR.Load(sType,"ArrowsEnabledColor");
ARROWS_DISABLED_COLOR.Load(sType,"ArrowsDisabledColor"); ARROWS_DISABLED_COLOR.Load(sType,"ArrowsDisabledColor");
@@ -114,7 +121,7 @@ void EditMenu::Load( const CString &sType )
this->AddChild( &m_sprArrows[i] ); this->AddChild( &m_sprArrows[i] );
} }
m_SelectedRow = (EditMenuRow)0; m_SelectedRow = GetFirstRow();
ZERO( m_iSelection ); ZERO( m_iSelection );
@@ -135,12 +142,19 @@ void EditMenu::Load( const CString &sType )
this->AddChild( &m_textValue[r] ); this->AddChild( &m_textValue[r] );
} }
m_textLabel[ROW_GROUP].SetHidden( !SHOW_GROUPS.GetValue() );
m_textValue[ROW_GROUP].SetHidden( !SHOW_GROUPS.GetValue() );
/* Load low-res banners, if needed. */ /* Load low-res banners, if needed. */
BANNERCACHE->Demand(); BANNERCACHE->Demand();
if( SHOW_GROUPS.GetValue() )
{
m_GroupBanner.SetName( "GroupBanner" ); m_GroupBanner.SetName( "GroupBanner" );
ActorUtil::SetXY( m_GroupBanner, sType ); ActorUtil::SetXY( m_GroupBanner, sType );
this->AddChild( &m_GroupBanner ); this->AddChild( &m_GroupBanner );
}
m_SongBanner.SetName( "SongBanner" ); m_SongBanner.SetName( "SongBanner" );
ActorUtil::SetXY( m_SongBanner, sType ); ActorUtil::SetXY( m_SongBanner, sType );
@@ -176,7 +190,7 @@ void EditMenu::Load( const CString &sType )
void EditMenu::RefreshAll() void EditMenu::RefreshAll()
{ {
ChangeToRow( (EditMenuRow)0 ); ChangeToRow( GetFirstRow() );
OnRowValueChanged( (EditMenuRow)0 ); OnRowValueChanged( (EditMenuRow)0 );
// Select the current song if any // Select the current song if any
@@ -219,7 +233,7 @@ void EditMenu::RefreshAll()
bool EditMenu::CanGoUp() bool EditMenu::CanGoUp()
{ {
return m_SelectedRow != 0; return m_SelectedRow != GetFirstRow();
} }
bool EditMenu::CanGoDown() bool EditMenu::CanGoDown()
@@ -318,8 +332,11 @@ void EditMenu::OnRowValueChanged( EditMenuRow row )
{ {
case ROW_GROUP: case ROW_GROUP:
m_textValue[ROW_GROUP].SetText( SONGMAN->ShortenGroupName(GetSelectedGroup()) ); m_textValue[ROW_GROUP].SetText( SONGMAN->ShortenGroupName(GetSelectedGroup()) );
if( SHOW_GROUPS.GetValue() )
{
m_GroupBanner.LoadFromSongGroup( GetSelectedGroup() ); m_GroupBanner.LoadFromSongGroup( GetSelectedGroup() );
m_GroupBanner.ScaleToClipped( GROUP_BANNER_WIDTH, GROUP_BANNER_HEIGHT ); m_GroupBanner.ScaleToClipped( GROUP_BANNER_WIDTH, GROUP_BANNER_HEIGHT );
}
m_pSongs.clear(); m_pSongs.clear();
GetSongsToShowForGroup( GetSelectedGroup(), m_pSongs ); GetSongsToShowForGroup( GetSelectedGroup(), m_pSongs );
m_iSelection[ROW_SONG] = 0; m_iSelection[ROW_SONG] = 0;
+3 -1
View File
@@ -62,7 +62,7 @@ public:
void RefreshAll(); void RefreshAll();
CString GetSelectedGroup() const { ASSERT(m_iSelection[ROW_GROUP] < (int)m_sGroups.size()); return m_sGroups[m_iSelection[ROW_GROUP]]; } CString GetSelectedGroup() const { if( !SHOW_GROUPS.GetValue() ) return GROUP_ALL; ASSERT(m_iSelection[ROW_GROUP] < (int)m_sGroups.size()); return m_sGroups[m_iSelection[ROW_GROUP]]; }
Song* GetSelectedSong() const { ASSERT(m_iSelection[ROW_SONG] < (int)m_pSongs.size()); return m_pSongs[m_iSelection[ROW_SONG]]; } Song* GetSelectedSong() const { ASSERT(m_iSelection[ROW_SONG] < (int)m_pSongs.size()); return m_pSongs[m_iSelection[ROW_SONG]]; }
StepsType GetSelectedStepsType() const { ASSERT(m_iSelection[ROW_STEPS_TYPE] < (int)m_StepsTypes.size()); return m_StepsTypes[m_iSelection[ROW_STEPS_TYPE]]; } StepsType GetSelectedStepsType() const { ASSERT(m_iSelection[ROW_STEPS_TYPE] < (int)m_StepsTypes.size()); return m_StepsTypes[m_iSelection[ROW_STEPS_TYPE]]; }
Steps* GetSelectedSteps() const { ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); return m_vpSteps[m_iSelection[ROW_STEPS]].pSteps; } Steps* GetSelectedSteps() const { ASSERT(m_iSelection[ROW_STEPS] < (int)m_vpSteps.size()); return m_vpSteps[m_iSelection[ROW_STEPS]].pSteps; }
@@ -82,6 +82,7 @@ private:
Sprite m_sprArrows[NUM_ARROWS]; Sprite m_sprArrows[NUM_ARROWS];
EditMenuRow m_SelectedRow; EditMenuRow m_SelectedRow;
EditMenuRow GetFirstRow() const { return SHOW_GROUPS.GetValue()? ROW_GROUP:ROW_SONG; }
int m_iSelection[NUM_EDIT_MENU_ROWS]; int m_iSelection[NUM_EDIT_MENU_ROWS];
BitmapText m_textLabel[NUM_EDIT_MENU_ROWS]; BitmapText m_textLabel[NUM_EDIT_MENU_ROWS];
BitmapText m_textValue[NUM_EDIT_MENU_ROWS]; BitmapText m_textValue[NUM_EDIT_MENU_ROWS];
@@ -113,6 +114,7 @@ private:
RandomSample m_soundChangeRow; RandomSample m_soundChangeRow;
RandomSample m_soundChangeValue; RandomSample m_soundChangeValue;
ThemeMetric<bool> SHOW_GROUPS;
ThemeMetric1D<float> ARROWS_X; ThemeMetric1D<float> ARROWS_X;
ThemeMetric<RageColor> ARROWS_ENABLED_COLOR; ThemeMetric<RageColor> ARROWS_ENABLED_COLOR;
ThemeMetric<RageColor> ARROWS_DISABLED_COLOR; ThemeMetric<RageColor> ARROWS_DISABLED_COLOR;