public static IAbstractElementProxy <TInterface> ProxyFor <TInterface>(this IAbstractElement element) where TInterface : class { Guard.NotNull(() => element, element); return((element as IAbstractElementProxy <TInterface>) ?? new AbstractElementProxy <TInterface>(element)); }
/// <summary> /// Initializes the child element after it is created and added to the parent for the given item. /// </summary> protected override void InitializeCreatedElement(string itemId, IAbstractElement childElement) { Guard.NotNull(() => childElement, childElement); // Get the solution item for this imported file. var solutionItem = GetItemInSolution(itemId); if (solutionItem != null) { tracer.Info( Resources.CreateElementFromFileCommand_TraceAddingReference, this.CurrentElement.InstanceName, childElement.InstanceName, solutionItem.GetLogicalPath()); // Create artifact link var reference = SolutionArtifactLinkReference.AddReference(childElement, this.UriService.CreateUri(solutionItem)); reference.AddTag(this.Tag); reference.AddTag(BindingSerializer.Serialize(new ReferenceTag { SyncNames = this.SyncName })); } else { throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, Resources.CreateElementFromFileCommand_ErrorNoSolutionItem, this.CurrentElement.InstanceName, childElement.InstanceName)); } }
/// <summary> /// Gets a strong typed interface layer for a collection or element. /// </summary> public static TInterface As <TInterface>(this IAbstractElement element) where TInterface : class, IToolkitInterface { Guard.NotNull(() => element, element); return(GetInterfaceLayer <TInterface, IAbstractElement>(element)); }
public ElementViewModel(IAbstractElement element, ISolutionBuilderContext context) : base(element, context) { // Initialize default value for icon path this.IconPath = string.Format(CultureInfo.InvariantCulture, IconPathFormat, element.GetType().Name); if (element.Info != null) { this.CreateAddMenuOptions(); } }
public ElementViewModel(IAbstractElement element, ISolutionBuilderContext context) : base(element, context) { // Initialize default value for icon path this.IconPath = string.Format(CultureInfo.InvariantCulture, IconPathFormat, element.GetType().Name); if (element.Info != null) { this.CreateAddMenuOptions(); } }
private string GetPluralizedElementPath(IAbstractElement element, int index) { if (element.Info.Cardinality == Cardinality.ZeroToMany || element.Info.Cardinality == Cardinality.OneToMany) { return(string.Format(CultureInfo.CurrentCulture, ElementInstanceAddressFormat, this.pluralization.Pluralize(element.Info.CodeIdentifier), index.ToString(CultureInfo.CurrentCulture))); } else { return(element.Info.CodeIdentifier); } }
public void Initialize() { var child1 = Create <ICollection, ICollectionInfo>("Bar1", Cardinality.ZeroToMany); var child2 = Create <IElement, IElementInfo>("Bar2", Cardinality.OneToOne); this.element = Create <IElement, IElementInfo>("Foo1", Cardinality.ZeroToMany, child1, child2); var children = (List <IAbstractElementInfo>) this.element.Info.Elements; children.Add(Mocks.Of <IElementInfo>().First(e => e.Name == "Element 1" && e.DisplayName == "Element 1" && e.IsVisible == true && e.AllowAddNew == true && e.Cardinality == Cardinality.ZeroToMany)); children.Add(Mocks.Of <ICollectionInfo>().First(e => e.Name == "Collection 1" && e.DisplayName == "Collection 1" && e.IsVisible == true && e.AllowAddNew == true && e.Cardinality == Cardinality.ZeroToMany)); var newNodeDialog = new Mock <IDialogWindow>(); newNodeDialog.Setup(x => x.ShowDialog()).Returns(true); var ctx = new SolutionBuilderContext { PatternManager = new Mock <IPatternManager>().Object, UserMessageService = Mock.Of <IUserMessageService>(ums => ums.PromptWarning(It.IsAny <string>()) == true), ShowProperties = () => { }, NewNodeDialogFactory = x => newNodeDialog.Object }; var serviceProvider = Mocks.Of <IServiceProvider>() .First(x => x.GetService(typeof(ISolutionEvents)) == new Mock <ISolutionEvents>().Object); var explorer = new SolutionBuilderViewModel(ctx, serviceProvider); this.target = new ElementViewModel(this.element, ctx); this.target.RenderHierarchyRecursive(); }
private void SetOwner(IAbstractElement element) { var view = this.owner as IView; var abstractElement = this.owner as IAbstractElement; if (view != null) { element.View = view; } else if (abstractElement != null) { element.Owner = abstractElement; } else { // Should never happen. throw new NotSupportedException(); } }
public void Initialize() { var patternManager = new Mock <IPatternManager>(); patternManager.Setup(x => x.InstalledToolkits).Returns(Enumerable.Empty <IInstalledToolkitInfo>()); this.element = Create <IElement, IElementInfo>("Foo", Cardinality.OneToOne); var extensions = (List <IExtensionPointInfo>) this.element.Info.ExtensionPoints; extensions.Add(Mocks.Of <IExtensionPointInfo>().First(x => x.DisplayName == "Foo")); extensions.Add(Mocks.Of <IExtensionPointInfo>().First(x => x.DisplayName == "Bar")); var ctx = new SolutionBuilderContext { PatternManager = patternManager.Object, ShowProperties = () => { } }; this.target = new ElementViewModel(this.element, ctx); }
// Methods public LabelElementViewModel(IAbstractElement element, ISolutionBuilderContext ctx) { this.Data = element; this.Context = ctx; this.MenuOptions = new ObservableCollection <IMenuOptionViewModel>(); }
public TestElementViewModel(IAbstractElement element, SolutionBuilderContext context) : base(element, context) { }
internal void AddAbstractElement(IAbstractElement elm){ Util.Log("ComplexSchemaType.AddAbstractElement "); _abstractElms.Add(elm); }
private string GetPluralizedElementPath(IAbstractElement element, int index) { if (element.Info.Cardinality == Cardinality.ZeroToMany || element.Info.Cardinality == Cardinality.OneToMany) { return string.Format(CultureInfo.CurrentCulture, ElementInstanceAddressFormat, this.pluralization.Pluralize(element.Info.CodeIdentifier), index.ToString(CultureInfo.CurrentCulture)); } else { return element.Info.CodeIdentifier; } }
/// <summary> /// Initializes the child element after it is created and added to the parent for the given item. /// </summary> protected virtual void InitializeCreatedElement(string itemId, IAbstractElement childElement) { }
/// <summary> /// Initializes the child element after it is created and added to the parent for the given item. /// </summary> protected override void InitializeCreatedElement(string itemId, IAbstractElement childElement) { Guard.NotNull(() => childElement, childElement); // Get the solution item for this imported file. var solutionItem = GetItemInSolution(itemId); if (solutionItem != null) { tracer.Info( Resources.CreateElementFromFileCommand_TraceAddingReference, this.CurrentElement.InstanceName, childElement.InstanceName, solutionItem.GetLogicalPath()); // Create artifact link var reference = SolutionArtifactLinkReference.AddReference(childElement, this.UriService.CreateUri(solutionItem)); reference.AddTag(this.Tag); reference.AddTag(BindingSerializer.Serialize(new ReferenceTag { SyncNames = this.SyncName })); } else { throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, Resources.CreateElementFromFileCommand_ErrorNoSolutionItem, this.CurrentElement.InstanceName, childElement.InstanceName)); } }
// Methods public LabelElementViewModel(IAbstractElement element, ISolutionBuilderContext ctx) { this.Data = element; this.Context = ctx; this.MenuOptions = new ObservableCollection<IMenuOptionViewModel>(); }
public AbstractElementProxy(IAbstractElement element) : base(element) { this.element = element; }
/// <summary> /// Initializes a new instance of the <see cref="Folder"/> class. /// </summary> public Folder(IAbstractElement target) { this.target = target; this.proxy = target.ProxyFor <IFolder>(); }
/// <summary> /// Initializes the child element after it is created and added to the parent for the given item. /// </summary> protected virtual void InitializeCreatedElement(string itemId, IAbstractElement childElement) { }
/// <summary> /// Initializes a new instance of the <see cref="DataContract"/> class. /// </summary> public DataContract(IAbstractElement target) { this.target = target; this.proxy = target.ProxyFor <IDataContract>(); }