/// <summary> /// Unsubscribes the given object from changes in the selected objects. /// </summary> /// <param name="propertyViewerObserver">The object to observe selected objects changes.</param> public void Unsubscribe(IPropertyViewerObserver propertyViewerObserver) { lock (this.ObserverLock) { if (this.PropertyViewerObservers.Contains(propertyViewerObserver)) { this.PropertyViewerObservers.Remove(propertyViewerObserver); } } }
/// <summary> /// Subscribes the given object to changes in the selected objects. /// </summary> /// <param name="propertyViewerObserver">The object to observe selected objects changes.</param> public void Subscribe(IPropertyViewerObserver propertyViewerObserver) { lock (this.ObserverLock) { if (!this.PropertyViewerObservers.Contains(propertyViewerObserver)) { this.PropertyViewerObservers.Add(propertyViewerObserver); propertyViewerObserver.Update(this.TargetObjects); } } }