/// <summary> /// creates the resource providers that are used throughout the extensions lifetime /// to retrieve images and other resource files from disk. /// </summary> /// <param name="model"></param> /// <param name="customization"></param> private void InitializeResourceProviders(DynamoModel model, LibraryViewCustomization customization) { var dllProvider = new DllResourceProvider("http://localhost/dist", "Dynamo.LibraryViewExtensionMSWebBrowser.web.library"); iconProvider = new IconResourceProvider(model.PathManager, dllProvider, customization); nodeProvider = new NodeItemDataProvider(model.SearchModel, iconProvider); searchResultDataProvider = new SearchResultDataProvider(model.SearchModel, iconProvider); layoutProvider = new LayoutSpecProvider(customization, iconProvider, "Dynamo.LibraryViewExtensionMSWebBrowser.web.library.layoutSpecs.json"); }
/// <summary> /// Creates a LibraryViewController. /// </summary> /// <param name="dynamoView">DynamoView hosting library component</param> /// <param name="commandExecutive">Command executive to run dynamo commands</param> internal LibraryViewController(Window dynamoView, ICommandExecutive commandExecutive, LibraryViewCustomization customization) { this.dynamoWindow = dynamoView; dynamoViewModel = dynamoView.DataContext as DynamoViewModel; this.customization = customization; libraryViewTooltip = CreateTooltipControl(); this.commandExecutive = commandExecutive; InitializeResourceProviders(dynamoViewModel.Model, customization); dynamoWindow.StateChanged += DynamoWindowStateChanged; dynamoWindow.SizeChanged += DynamoWindow_SizeChanged; interop = new scriptingObject(this); }
protected void Dispose(bool disposing) { if (!disposing) { return; } if (controller != null) { controller.Dispose(); } if (customization != null) { customization.Dispose(); } if (viewLoadedParams != null && viewLoadedParams.DynamoWindow.DataContext as DynamoViewModel != null) { (viewLoadedParams.DynamoWindow.DataContext as DynamoViewModel).PropertyChanged -= handleDynamoViewPropertyChanges; } customization = null; controller = null; }