// // Copyright 2014 Perforce Software Inc. // using Perforce.ViewModel; using Perforce.P4; using System.Windows; using System.Windows.Controls; namespace Perforce.View { public class ListingInfoTemplateSelector : DataTemplateSelector { public DataTemplate UnmappedDataTemplate { get; set; } public DataTemplate AvailableDataTemplate { get; set; } public DataTemplate CheckedOutDataTemplate { get; set; } public override DataTemplate SelectTemplate(object item, DependencyObject container) { if (item == null) { return UnmappedDataTemplate; } ListingItemInfoViewModel model = item as ListingItemInfoViewModel; var md = model.MetaData; if (model == null || md.IsMapped == false) { return UnmappedDataTemplate; } if (md.Action != FileAction.None) { return CheckedOutDataTemplate; } if (md.OtherActions != null && md.OtherActions.Count > 0) { return CheckedOutDataTemplate; } return AvailableDataTemplate; } } }