using System; using Codice.CM.Common; using PlasticGui; using PlasticGui.WorkspaceWindow.Topbar.WorkingObjectInfo.BranchesList; namespace Unity.PlasticSCM.Editor.Toolbar.PopupWindow.BranchesList { internal class BranchesListModel { internal ClassifiedBranchesList Branches { get; private set; } internal RepositorySpec RepSpec { get; private set; } internal Exception Exception { get; private set; } internal bool IsLoading { get { return Branches == null && Exception == null; } } internal bool HasErrors { get { return Exception != null; } } internal bool IsEmpty { get { return Branches != null && Branches.IsEmpty; } } internal static BranchesListModel FromException(Exception exception) { return new BranchesListModel(null, null, exception); } internal static BranchesListModel FromBranches( ClassifiedBranchesList branches, RepositorySpec repSpec) { return new BranchesListModel(branches, repSpec, null); } internal static BranchesListModel BuildEmpty() { return new BranchesListModel(null, null, null); } internal void ResetFilter() { if (Branches == null) return; Branches.ResetFilter(); } internal void ApplyFilter(Filter filter) { if (Branches == null) return; Branches.ApplyFilter(filter); } BranchesListModel(ClassifiedBranchesList branches, RepositorySpec repSpec, Exception ex) { Branches = branches; RepSpec = repSpec; Exception = ex; } } }