allow hiding group list
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user