public VirtualStudioEventProcessor(VirtualStudio virtualStudio, string virtualStudioName, IVirtualStudioUpdateListener operationHandler) { this.virtualStudio = virtualStudio ?? throw new ArgumentNullException(nameof(virtualStudio)); VirtualStudioName = virtualStudioName ?? throw new ArgumentNullException(nameof(virtualStudioName)); this.operationHandler = operationHandler ?? throw new ArgumentNullException(nameof(operationHandler)); if (virtualStudio is VirtualStudioWithArrangement virtualStudioArrangement) { virtualStudioArrangement.ComponentNodeAdded += VirtualStudioArrangement_ComponentNodeAdded; virtualStudioArrangement.ComponentNodeMoved += VirtualStudioArrangement_ComponentNodeMoved; } else { virtualStudio.ComponentAdded += VirtualStudio_ComponentAdded; } virtualStudio.ComponentRemoved += VirtualStudio_ComponentRemoved; virtualStudio.ConnectionAdded += VirtualStudio_ConnectionAdded; virtualStudio.ConnectionRemoved += VirtualStudio_ConnectionRemoved; virtualStudio.ComponentRepository.ClientAdded += ComponentRepository_ClientAdded; virtualStudio.ComponentRepository.ClientRemoved += ComponentRepository_ClientRemoved; virtualStudio.ComponentRepository.PlaceholderAdded += ComponentRepository_PlaceholderAdded; virtualStudio.ComponentRepository.PlaceholderRemoved += ComponentRepository_PlaceholderRemoved; foreach (var component in virtualStudio.Components) { if (component is PlaceholderStudioComponent) { AttachComponentEventHandlers(component); } } foreach (var component in virtualStudio.ComponentRepository.Clients) { AttachComponentEventHandlers(component); } foreach (var component in virtualStudio.ComponentRepository.Placeholders) { AttachComponentEventHandlers(component); } }
public bool TryGetVirtualStudio(string name, out VirtualStudio virtualStudio) { virtualStudio = GetVirtualStudio(name); return(virtualStudio != null); }