/// <summary> /// Creates a menu item representing the program feature. /// </summary> /// <returns>The menu item.</returns> /// <param name="programFeature">The program feature to represent as a menu item.</param> /// <remarks>The menu's <see cref="RepresentedObject"/> is the <paramref name="programFeature"/>.</remarks> public static NSMenuItem ToMenuItem(this ProgramFeatureImageViewModel programFeature) { var menuItem = new NSMenuItem(programFeature.Name); menuItem.Image = programFeature.Image; menuItem.ToolTip = programFeature.ToolTip.SafeString(); menuItem.RepresentedObject = new NSObjectWrapper <ProgramFeatureImageViewModel>(programFeature); return(menuItem); }
private static ProgramFeatureImageViewModel FetchProgramFeatureViewModelForFlag <TFlag>(this TFlag flag, IProgramFeatureSet <TFlag> featureSet, bool allowNullImage) where TFlag : struct { ProgramFeatureImageViewModel featureViewModel = null; OSImage image = featureSet.GetImageForFeature(flag); if (allowNullImage || (image != null)) { featureViewModel = new ProgramFeatureImageViewModel(featureSet.GetFeatureName(flag), image, featureSet.GetFeatureDescription(flag), featureSet.Category, (uint)((object)flag)); } return(featureViewModel); }
/// <summary> /// Converts a <see cref="ProgramFeatureImageViewModel"/> to a <see cref="NSNumber"/>, whose value is the index in the collection. /// </summary> /// <param name="programFeatures">A list of program features.</param> /// <param name="selection">The selection from the list.</param> /// <returns>The index of <paramref name="selection"/> in <paramref name="programFeatures"/> as a NSNumber.</returns> public static NSNumber SelectionToNSNumber(this IList <ProgramFeatureImageViewModel> programFeatures, ProgramFeatureImageViewModel selection) { return(new NSNumber(programFeatures.IndexOf(selection))); }