Fix incomplete song menu
This commit is contained in:
1 parent
5cd553912c
commit
190d615972
2 files changed
+57
-44
No files matched your search
@@ -165,7 +165,7 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
return _Theme.Name;
|
return _Theme.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public object GetTheme()
|
public virtual object GetTheme()
|
||||||
{
|
{
|
||||||
return _Theme;
|
return _Theme;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -59,6 +59,8 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
|
|
||||||
private bool _MouseWasInRect;
|
private bool _MouseWasInRect;
|
||||||
|
|
||||||
|
private readonly List<IMenuElement> _SubElements = new List<IMenuElement>();
|
||||||
|
|
||||||
public override float SelectedTileZoomFactor
|
public override float SelectedTileZoomFactor
|
||||||
{
|
{
|
||||||
get { return 1.2f; }
|
get { return 1.2f; }
|
||||||
@@ -77,15 +79,6 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void _UpdateTileSelection()
|
|
||||||
{
|
|
||||||
foreach (CStatic tile in _Tiles)
|
|
||||||
tile.Selected = false;
|
|
||||||
int tileNr = _SelectionNr - _Offset;
|
|
||||||
if (tileNr >= 0 && tileNr < _Tiles.Count)
|
|
||||||
_Tiles[tileNr].Selected = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public override bool SmallView
|
public override bool SmallView
|
||||||
{
|
{
|
||||||
set
|
set
|
||||||
@@ -99,12 +92,6 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public CSongMenuTileBoard(int partyModeID)
|
|
||||||
: base(partyModeID) {}
|
|
||||||
|
|
||||||
public CSongMenuTileBoard(SThemeSongMenu theme, int partyModeID)
|
|
||||||
: base(theme, partyModeID) {}
|
|
||||||
|
|
||||||
protected override int _PreviewNr
|
protected override int _PreviewNr
|
||||||
{
|
{
|
||||||
set
|
set
|
||||||
@@ -120,6 +107,31 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CSongMenuTileBoard(int partyModeID) : base(partyModeID) {}
|
||||||
|
|
||||||
|
public CSongMenuTileBoard(SThemeSongMenu theme, int partyModeID) : base(theme, partyModeID)
|
||||||
|
{
|
||||||
|
_Artist = new CText(_Theme.SongMenuTileBoard.TextArtist, _PartyModeID);
|
||||||
|
_Title = new CText(_Theme.SongMenuTileBoard.TextTitle, _PartyModeID);
|
||||||
|
_SongLength = new CText(_Theme.SongMenuTileBoard.TextSongLength, _PartyModeID);
|
||||||
|
_CoverBig = new CStatic(_Theme.SongMenuTileBoard.StaticCoverBig, _PartyModeID);
|
||||||
|
_TextBG = new CStatic(_Theme.SongMenuTileBoard.StaticTextBG, _PartyModeID);
|
||||||
|
_DuetIcon = new CStatic(_Theme.SongMenuTileBoard.StaticDuetIcon, _PartyModeID);
|
||||||
|
_VideoIcon = new CStatic(_Theme.SongMenuTileBoard.StaticVideoIcon, _PartyModeID);
|
||||||
|
_MedleyCalcIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyCalcIcon, _PartyModeID);
|
||||||
|
_MedleyTagIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyTagIcon, _PartyModeID);
|
||||||
|
_SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _DuetIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon});
|
||||||
|
}
|
||||||
|
|
||||||
|
private void _UpdateTileSelection()
|
||||||
|
{
|
||||||
|
foreach (CStatic tile in _Tiles)
|
||||||
|
tile.Selected = false;
|
||||||
|
int tileNr = _SelectionNr - _Offset;
|
||||||
|
if (tileNr >= 0 && tileNr < _Tiles.Count)
|
||||||
|
_Tiles[tileNr].Selected = true;
|
||||||
|
}
|
||||||
|
|
||||||
public override bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
|
public override bool LoadTheme(string xmlPath, string elementName, CXmlReader xmlReader)
|
||||||
{
|
{
|
||||||
string item = xmlPath + "/" + elementName;
|
string item = xmlPath + "/" + elementName;
|
||||||
@@ -143,16 +155,9 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
{
|
{
|
||||||
_Theme.Name = elementName;
|
_Theme.Name = elementName;
|
||||||
|
|
||||||
_Theme.SongMenuTileBoard.TextArtist = (SThemeText)_Artist.GetTheme();
|
_ReadSubTheme();
|
||||||
_Theme.SongMenuTileBoard.TextSongLength = (SThemeText)_SongLength.GetTheme();
|
_SubElements.Clear();
|
||||||
_Theme.SongMenuTileBoard.TextTitle = (SThemeText)_Title.GetTheme();
|
_SubElements.AddRange(new IMenuElement[] {_Artist, _Title, _SongLength, _DuetIcon, _VideoIcon, _MedleyCalcIcon, _MedleyTagIcon});
|
||||||
_Theme.SongMenuTileBoard.StaticCoverBig = (SThemeStatic)_CoverBig.GetTheme();
|
|
||||||
_Theme.SongMenuTileBoard.StaticDuetIcon = (SThemeStatic)_DuetIcon.GetTheme();
|
|
||||||
_Theme.SongMenuTileBoard.StaticMedleyCalcIcon = (SThemeStatic)_MedleyCalcIcon.GetTheme();
|
|
||||||
_Theme.SongMenuTileBoard.StaticMedleyTagIcon = (SThemeStatic)_MedleyTagIcon.GetTheme();
|
|
||||||
_Theme.SongMenuTileBoard.StaticTextBG = (SThemeStatic)_TextBG.GetTheme();
|
|
||||||
_Theme.SongMenuTileBoard.StaticVideoIcon = (SThemeStatic)_VideoIcon.GetTheme();
|
|
||||||
|
|
||||||
LoadSkin();
|
LoadSkin();
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
@@ -160,6 +165,25 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
return themeLoaded;
|
return themeLoaded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void _ReadSubTheme()
|
||||||
|
{
|
||||||
|
_Theme.SongMenuTileBoard.TextArtist = (SThemeText)_Artist.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.TextSongLength = (SThemeText)_SongLength.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.TextTitle = (SThemeText)_Title.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticCoverBig = (SThemeStatic)_CoverBig.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticDuetIcon = (SThemeStatic)_DuetIcon.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticMedleyCalcIcon = (SThemeStatic)_MedleyCalcIcon.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticMedleyTagIcon = (SThemeStatic)_MedleyTagIcon.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticTextBG = (SThemeStatic)_TextBG.GetTheme();
|
||||||
|
_Theme.SongMenuTileBoard.StaticVideoIcon = (SThemeStatic)_VideoIcon.GetTheme();
|
||||||
|
}
|
||||||
|
|
||||||
|
public override object GetTheme()
|
||||||
|
{
|
||||||
|
_ReadSubTheme();
|
||||||
|
return base.GetTheme();
|
||||||
|
}
|
||||||
|
|
||||||
public override void Init()
|
public override void Init()
|
||||||
{
|
{
|
||||||
base.Init();
|
base.Init();
|
||||||
@@ -504,14 +528,8 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
else
|
else
|
||||||
_CoverBig.Draw(EAspect.Crop);
|
_CoverBig.Draw(EAspect.Crop);
|
||||||
|
|
||||||
|
foreach (IMenuElement element in _SubElements)
|
||||||
_Artist.Draw();
|
element.Draw();
|
||||||
_Title.Draw();
|
|
||||||
_SongLength.Draw();
|
|
||||||
_DuetIcon.Draw();
|
|
||||||
_VideoIcon.Draw();
|
|
||||||
_MedleyCalcIcon.Draw();
|
|
||||||
_MedleyTagIcon.Draw();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override CStatic GetSelectedSongCover()
|
public override CStatic GetSelectedSongCover()
|
||||||
@@ -611,16 +629,11 @@ namespace VocaluxeLib.Menu.SongMenu
|
|||||||
public override void LoadSkin()
|
public override void LoadSkin()
|
||||||
{
|
{
|
||||||
base.LoadSkin();
|
base.LoadSkin();
|
||||||
|
foreach (IThemeable themeable in _SubElements.OfType<IThemeable>())
|
||||||
_Artist = new CText(_Theme.SongMenuTileBoard.TextArtist, _PartyModeID);
|
themeable.LoadSkin();
|
||||||
_Title = new CText(_Theme.SongMenuTileBoard.TextTitle, _PartyModeID);
|
// Those are drawn seperately so they are not in the above list
|
||||||
_SongLength = new CText(_Theme.SongMenuTileBoard.TextSongLength, _PartyModeID);
|
_CoverBig.LoadSkin();
|
||||||
_CoverBig = new CStatic(_Theme.SongMenuTileBoard.StaticCoverBig, _PartyModeID);
|
_TextBG.LoadSkin();
|
||||||
_TextBG = new CStatic(_Theme.SongMenuTileBoard.StaticTextBG, _PartyModeID);
|
|
||||||
_DuetIcon = new CStatic(_Theme.SongMenuTileBoard.StaticDuetIcon, _PartyModeID);
|
|
||||||
_VideoIcon = new CStatic(_Theme.SongMenuTileBoard.StaticVideoIcon, _PartyModeID);
|
|
||||||
_MedleyCalcIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyCalcIcon, _PartyModeID);
|
|
||||||
_MedleyTagIcon = new CStatic(_Theme.SongMenuTileBoard.StaticMedleyTagIcon, _PartyModeID);
|
|
||||||
|
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user