public CategoryTableEntry(CategoryLocalizationHelper.CategoryName canonicalName, string localizedName, string unlocalizedName) { this.canonicalName = canonicalName; this.localizedName = localizedName; this.unlocalizedName = unlocalizedName; this.canonicalLocalizedName = CategoryLocalizationHelper.GetLocalizedCategory(unlocalizedName); }
private static CustomCategorySelector GetCategorySelectorByCategoryName(CategoryLocalizationHelper.CategoryName category) { CustomCategorySelector categorySelector; if (CategoryFactory.categoryNameLookup.TryGetValue(category, out categorySelector)) { return(categorySelector); } return((CustomCategorySelector)null); }
public static string GetLocalizedCategoryName(CategoryLocalizationHelper.CategoryName categoryName) { foreach (CategoryLocalizationHelper.CategoryTableEntry categoryTableEntry in CategoryLocalizationHelper.categoryEntries) { if (categoryTableEntry.CanonicalName == categoryName) { return(categoryTableEntry.LocalizedName); } } throw new InvalidOperationException(ExceptionStringTable.UnableToGetLocalizedCategoryNamesForNonBuiltInCategoriesThroughThisFunction); }
public SceneNodeCategory(CategoryLocalizationHelper.CategoryName canonicalName, string localizedName, IMessageLoggingService messageLogger) : base(localizedName) { this.canonicalName = canonicalName; this.messageLogger = messageLogger; this.CategoryEditors.CollectionChanged += new NotifyCollectionChangedEventHandler(this.CategoryEditors_CollectionChanged); this.basicProperties = new ObservableCollectionWorkaround <PropertyEntry>(); this.advancedProperties = new ObservableCollectionWorkaround <PropertyEntry>(); this.order = new SceneNodeCategory.CategoryOrder(this); this.InitializeIcons(); }
private CategoryBase CreateCategory(string name, Type selectedType) { CategoryLocalizationHelper.CategoryName canonicalCategoryName = CategoryLocalizationHelper.GetCanonicalCategoryName(name); CategoryBase categoryBase = (CategoryBase)CategoryFactory.GetCustomCategorySelector(canonicalCategoryName).CreateSceneNodeCategory(canonicalCategoryName, name, this.SceneNodeObjectSet.DesignerContext.MessageLoggingService); ITypeResolver typeResolver = (ITypeResolver)this.SceneNodeObjectSet.ProjectContext; CategoryEditorSet categoryEditorsList = new CategoryEditorSet(); IType type = typeResolver.GetType(selectedType); PropertyInspectorModel.GetCategoryEditors(type, categoryEditorsList, this.MessageLoggingService); foreach (CategoryEditor categoryEditor in categoryEditorsList.Union(CategoryEditorInstanceFactory.GetEditors((ITypeId)type, categoryBase as SceneNodeCategory))) { if (categoryEditor.TargetCategory == categoryBase.CategoryName) { categoryBase.CategoryEditors.Add(categoryEditor); } } return(categoryBase); }
private CategoryBase CreateCategory(string name, Type selectedType) { CategoryLocalizationHelper.CategoryName canonicalCategoryName = CategoryLocalizationHelper.GetCanonicalCategoryName(name); CategoryBase categoryBase = (CategoryBase)CategoryFactory.GetCustomCategorySelector(canonicalCategoryName).CreateSceneNodeCategory(canonicalCategoryName, name, this.SceneNodeObjectSet.DesignerContext.MessageLoggingService); ITypeResolver typeResolver = (ITypeResolver)this.SceneNodeObjectSet.ProjectContext; CategoryEditorSet categoryEditorsList = new CategoryEditorSet(); IType type = typeResolver.GetType(selectedType); PropertyInspectorModel.GetCategoryEditors(type, categoryEditorsList, this.MessageLoggingService); using (IEnumerator <CategoryEditor> enumerator = categoryEditorsList.Union(CategoryEditorInstanceFactory.GetEditors((ITypeId)type, categoryBase as SceneNodeCategory)).GetEnumerator()) { while (((IEnumerator)enumerator).MoveNext()) { CategoryEditor current = enumerator.Current; if (current.get_TargetCategory() == categoryBase.get_CategoryName()) { categoryBase.CategoryEditors.Add(current); } } } return(categoryBase); }
public override CategoryBase FindOrCreateCategory(string categoryName, Type selectedType) { CategoryLocalizationHelper.CategoryName canonicalCategoryName = CategoryLocalizationHelper.GetCanonicalCategoryName(categoryName); if (canonicalCategoryName != CategoryLocalizationHelper.CategoryName.Unknown) { categoryName = CategoryLocalizationHelper.GetLocalizedCategoryName(canonicalCategoryName); } int index = OrderedListExtensions.GenericBinarySearch <CategoryBase, CategoryLocalizationHelper.CategoryName>(this.Categories, canonicalCategoryName, (Func <CategoryLocalizationHelper.CategoryName, CategoryBase, int>)((canonicalName, category) => { SceneNodeCategory sceneNodeCategory = (SceneNodeCategory)category; return(canonicalName.CompareTo((object)sceneNodeCategory.CanonicalName)); })); if (index >= 0) { return(this.Categories[index]); } CategoryBase category1 = this.CreateCategory(categoryName, selectedType); this.Categories.Insert(~index, category1); return(category1); }
public override SceneNodeCategory CreateSceneNodeCategory(CategoryLocalizationHelper.CategoryName canonicalName, string localizedName, IMessageLoggingService messageLogger) { return((SceneNodeCategory) new TextCategory(localizedName, messageLogger)); }
public static CustomCategorySelector GetCustomCategorySelector(CategoryLocalizationHelper.CategoryName category) { return(CategoryFactory.GetCategorySelectorByCategoryName(category) ?? new CustomCategorySelector()); }
public virtual SceneNodeCategory CreateSceneNodeCategory(CategoryLocalizationHelper.CategoryName canonicalName, string localizedName, IMessageLoggingService messageLogger) { return(new SceneNodeCategory(canonicalName, localizedName, messageLogger)); }