/// <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);
        }
Esempio n. 2
0
        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)));
 }