public void RegisterConceptLayout(Type conceptType, IConceptLayout conceptLayout) { if (conceptType == null) { throw new ArgumentNullException(nameof(conceptType)); } if (conceptLayout == null) { throw new ArgumentNullException(nameof(conceptLayout)); } _layouts.Add(conceptType, conceptLayout); }
public ConceptNodeViewModel CreateSyntaxNode(ISyntaxNodeViewModel parentNode, ISyntaxNode model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } IConceptLayout layout = GetLayout(model); if (layout == null) { return(null); } ConceptNodeViewModel node = layout.Layout(model) as ConceptNodeViewModel; node.Owner = parentNode; InitializeConceptViewModel(node); return(node); }