context: //***********************************************************************
  // Assembly         : LatestMediaHandler
  // Author           : ajs
  // Created          : 15-01-2018
  //
  // Last Modified By : ajs
  // Last Modified On : 15-01-2018
  // Description      : 
  //
  // Copyright        : Open Source software licensed under the GNU/GPL agreement.
  //***********************************************************************
  
  using MediaPortal.GUI.Library;
  
  using System;
  using System.Xml;
  
  namespace LatestMediaHandler
  {
    /// <summary>
    /// Container for Latests Facade.
    /// </summary>
    internal class LatestsFacade
    {
      internal string Handler
      {
        get { return _handler; }
        set { _handler = value; }
      }
      private string _handler;
  
      internal string Title
      {
        get { return _title; }
      }
      private string _title;
  
      internal string MusicTitle
      {
        get { return _musictitle; }
      }
      private string _musictitle;
  
      internal string SubTitle
      {
        get { return _subtitle; }
      }
      private string _subtitle;
  
      internal string ThumbTitle
      {
        get { return _thumbtitle; }
      }
      private string _thumbtitle;
  
      internal int ControlID
      {
        get { return _id; }
        set { _id = value; }
      }
      private int _id;
  
      internal int FocusedID
      {
        get { return _focusedId; }
        set { _focusedId = value; }
      }
      private int _focusedId;
  
      internal int SelectedItem
      {
        get { return _selectedItem; }
        set { _selectedItem = value; }
      }
      private int _selectedItem;
  
      internal int SelectedImage
      {
        get { return _selectedImage; }
        set { _selectedImage = value; }
      }
      private int _selectedImage;
  
      internal bool LeftToRight
      {
        get { return _leftToRight; }
        set { _leftToRight = value; }
      }
      private bool _leftToRight;
  
      internal bool UnWatched
      {
        get { return _unwatched; }
        set { _unwatched = value; }
      }
      private bool _unwatched;
  
      internal bool AddProperties
      {
        get { return _addproperties; }
        set { _addproperties = value; }
      }
      private bool _addproperties;
  
      internal bool HasNew
      {
        get { return _hasnew; }
        set { _hasnew = value; }
      }
      private bool _hasnew;
  
      internal LatestsFacadeType Type
      {
        get { return _type; }
        set
        {
          _type = value;
          _title = string.Empty;
          _musictitle = string.Empty;
          switch (_type)
          {
            case LatestsFacadeType.Latests:
              _title = Translation.LabelLatestAdded;
              _musictitle = Translation.LatestAddedMusic;
              break;
            case LatestsFacadeType.Watched:
              _title = Translation.LabelLatestWatched;
              break;
            case LatestsFacadeType.Rated:
              _title = Translation.LabelHighestRated;
              break;
            case LatestsFacadeType.Played:
              _title = Translation.LabelLatestPlayed;
              _musictitle = Translation.LatestPlayedMusic;
              break;
            case LatestsFacadeType.MostPlayed:
              _title = Translation.LabelMostPlayed;
              _musictitle = Translation.MostPlayedMusic;
              break;
            case LatestsFacadeType.Next:
              _title = Translation.DisplayNextEpisodes;
              break;
          }
        }
      }
      private LatestsFacadeType _type;
  
      internal LatestsFacadeSubType SubType
      {
        get { return _subtype; }
        set
        {
          _subtype = value;
          _subtitle = string.Empty;
          switch (_subtype)
          {
            case LatestsFacadeSubType.Series:
              _subtitle = Translation.LabelSeriesLatestSeries;
              break;
            case LatestsFacadeSubType.Seasons:
              _subtitle = Translation.LabelSeriesLatestSeasons;
              break;
            case LatestsFacadeSubType.Episodes:
              _subtitle = Translation.LabelSeriesLatestEpisodes;
              break;
          }
        }
      }
      private LatestsFacadeSubType _subtype;
  
      internal LatestsFacadeThumbType ThumbType
      {
        get { return _thumbtype; }
        set 
        { 
          _thumbtype = value; 
          _thumbtitle = string.Empty;
          switch (_thumbtype)
          {
            case LatestsFacadeThumbType.Series:
              _thumbtitle = Translation.SeriesThumbSeries;
              break;
            case LatestsFacadeThumbType.Seasons:
              _thumbtitle = Translation.SeriesThumbSeasons;
              break;
            case LatestsFacadeThumbType.Episodes:
              _thumbtitle = Translation.SeriesThumbEpisodes;
              break;
            case LatestsFacadeThumbType.Track:
              _thumbtitle = Translation.MvCThumbTrack;
              break;
            case LatestsFacadeThumbType.Album:
              _thumbtitle = Translation.MvCThumbAlbum;
              break;
            case LatestsFacadeThumbType.Artist:
              _thumbtitle = Translation.MvCThumbArtist;
              break;
          }
        }
      }
      private LatestsFacadeThumbType _thumbtype;
  
      internal GUIFacadeControl.Layout Layout
      {
  
gt:       get { return _layout; }