void AttachExtension(IImageBoxExtension extension) { IImageBoxExtensionView view; if (!_extensionViews.TryGetValue(extension, out view)) { extension.PropertyChanged += OnExtensionPropertyChanged; view = extension.CreateView(); if (view != null) { view.ParentSize = Size; _extensionViews.Add(extension, view); if (extension.Visible) { Control ctrl = view.GuiElement as Control; if (ctrl != null) { AddExtensionControl(ctrl); } } } } }
IImageBoxExtensionView FindExtensionView(IImageBoxExtension extension) { IImageBoxExtensionView view; if (_extensionViews.TryGetValue(extension, out view)) { return(view); } return(null); }
void DisposeExtension(IImageBoxExtension extension) { extension.PropertyChanged -= OnExtensionPropertyChanged; // Dispose the extenion's view which was obtained using CreateView() // The extension itself will be disposed when the image box is disposed IImageBoxExtensionView view; if (_extensionViews.TryGetValue(extension, out view)) { _extensionViews.Remove(extension); view.Dispose(); } extension.Dispose(); }
IImageBoxExtensionView FindExtensionView(IImageBoxExtension extension) { IImageBoxExtensionView view; if (_extensionViews.TryGetValue(extension, out view)) { return view; } return null; }
void AttachExtension(IImageBoxExtension extension) { IImageBoxExtensionView view; if (!_extensionViews.TryGetValue(extension, out view)) { extension.PropertyChanged += OnExtensionPropertyChanged; view = extension.CreateView(); if (view!=null) { view.ParentSize = Size; _extensionViews.Add(extension, view); if (extension.Visible) { Control ctrl = view.GuiElement as Control; if (ctrl != null) { AddExtensionControl(ctrl); } } } } }