/// <summary> /// Initializes a new instance of the <see cref="StartupParams"/> class. /// </summary> /// <param name="provider"><see cref="IAuthProvider"/> for DynamoModel</param> /// <param name="pathManager"><see cref="IPathManager"/> for DynamoModel</param> /// <param name="libraryLoader"><see cref="ILibraryLoader"/> for DynamoModel</param> /// <param name="customNodeManager"><see cref="ICustomNodeManager"/> for DynamoModel</param> /// <param name="dynamoVersion"><see cref="Version"/> for DynamoModel</param> /// <param name="preferences"><see cref="IPreferences"/> for DynamoModel</param> /// <param name="linterManager"><see cref="LinterManager"/> for DynamoModel></param> public StartupParams(IAuthProvider provider, IPathManager pathManager, ILibraryLoader libraryLoader, ICustomNodeManager customNodeManager, Version dynamoVersion, IPreferences preferences, LinterManager linterManager) { this.authProvider = provider; this.pathManager = pathManager; this.libraryLoader = libraryLoader; this.customNodeManager = customNodeManager; this.dynamoVersion = dynamoVersion; this.preferences = preferences; this.linterManager = linterManager; }
/// <summary> /// Initializes a new instance of the <see cref="HomeWorkspaceModel"/> class /// by given information about it and specified item collections /// </summary> /// <param name="engine"><see cref="EngineController"/> object assosiated with this home workspace /// to coordinate the interactions between some DesignScript sub components.</param> /// <param name="scheduler"><see cref="DynamoScheduler"/> object to add tasks in queue to execute</param> /// <param name="factory">Node factory to create nodes</param> /// <param name="traceData">Preloaded trace data</param> /// <param name="nodes">Node collection of the workspace</param> /// <param name="notes">Note collection of the workspace</param> /// <param name="annotations">Group collection of the workspace</param> /// <param name="presets">Preset collection of the workspace</param> /// <param name="elementResolver">ElementResolver responsible for resolving /// a partial class name to its fully resolved name</param> /// <param name="info">Information for creating custom node workspace</param> /// <param name="verboseLogging">Indicates if detailed descriptions should be logged</param> /// <param name="isTestMode">Indicates if current code is running in tests</param> /// <param name="linterManager">The linter manager from the DynamoModel that owns this workspace</param> public HomeWorkspaceModel(EngineController engine, DynamoScheduler scheduler, NodeFactory factory, IEnumerable <KeyValuePair <Guid, List <CallSite.RawTraceData> > > traceData, IEnumerable <NodeModel> nodes, IEnumerable <NoteModel> notes, IEnumerable <AnnotationModel> annotations, IEnumerable <PresetModel> presets, ElementResolver resolver, WorkspaceInfo info, bool verboseLogging, bool isTestMode, LinterManager linterManager) : base(nodes, notes, annotations, info, factory, presets, resolver, linterManager) { InitializeHomeWorkspace(engine, traceData, scheduler, info, verboseLogging, isTestMode); }
public override void Loaded(ViewLoadedParams viewLoadedParams) { this.linterManager = (viewLoadedParams.DynamoWindow.DataContext as DynamoViewModel).Model.LinterManager; this.viewLoadedParamsReference = viewLoadedParams; this.linterViewModel = new LinterViewModel(linterManager, viewLoadedParamsReference); this.linterView = new LinterView() { DataContext = linterViewModel }; // Add a button to Dynamo View menu to manually show the window this.linterMenuItem = new MenuItem { Header = Resources.MenuItemText, IsCheckable = true }; this.linterMenuItem.Checked += MenuItemCheckHandler; this.linterMenuItem.Unchecked += MenuItemUnCheckedHandler; this.viewLoadedParamsReference.AddExtensionMenuItem(this.linterMenuItem); }
public GraphMetadataViewModel(ViewLoadedParams viewLoadedParams, GraphMetadataViewExtension extension) { this.viewLoadedParams = viewLoadedParams; this.extension = extension; this.currentWorkspace = viewLoadedParams.CurrentWorkspaceModel as HomeWorkspaceModel; this.linterManager = viewLoadedParams.StartupParams.LinterManager; this.viewLoadedParams.CurrentWorkspaceChanged += OnCurrentWorkspaceChanged; // using this as CurrentWorkspaceChanged wont trigger if you: // Close a saved workspace and open a New homeworkspace.. // This means that properties defined in the previous opened workspace will still be showed in the extension. // CurrentWorkspaceCleared will trigger everytime a graph is closed which allows us to reset the properties. this.viewLoadedParams.CurrentWorkspaceCleared += OnCurrentWorkspaceChanged; if (linterManager != null) { linterManager.PropertyChanged += OnLinterManagerPropertyChange; } CustomProperties = new ObservableCollection <CustomPropertyControl>(); InitializeCommands(); }
public override void Loaded(ViewLoadedParams viewLoadedParams) { this.linterManager = (viewLoadedParams.DynamoWindow.DataContext as DynamoViewModel).Model.LinterManager; this.viewLoadedParamsReference = viewLoadedParams; this.linterViewModel = new LinterViewModel(linterManager, viewLoadedParamsReference); this.linterView = new LinterView() { DataContext = linterViewModel }; viewLoadedParams.ViewExtensionOpenRequest += OnViewExtensionOpenRequest; // Add a button to Dynamo View menu to manually show the window this.linterMenuItem = new MenuItem { Header = Resources.MenuItemText, IsCheckable = true }; this.linterMenuItem.Checked += MenuItemCheckHandler; this.linterMenuItem.Unchecked += MenuItemUnCheckedHandler; if (linterManager.AvailableLinters.Count > 1) { viewLoadedParamsReference.AddExtensionMenuItem(this.linterMenuItem); } this.linterManager.PropertyChanged += OnLinterManagerPropertyChange; }
/// <summary> /// Initializes a new empty instance of the <see cref="HomeWorkspaceModel"/> class /// </summary> /// <param name="engine"><see cref="EngineController"/> object assosiated with this home workspace /// to coordinate the interactions between some DesignScript sub components.</param> /// <param name="scheduler"><see cref="DynamoScheduler"/> object to add tasks in queue to execute</param> /// <param name="factory">Node factory to create nodes</param> /// <param name="verboseLogging">Indicates if detailed descriptions should be logged</param> /// <param name="isTestMode">Indicates if current code is running in tests</param> /// <param name="linterManager">The linter manager from the DynamoModel that owns this workspace</param> /// <param name="fileName">Name of file where the workspace is saved</param> public HomeWorkspaceModel(EngineController engine, DynamoScheduler scheduler, NodeFactory factory, bool verboseLogging, bool isTestMode, LinterManager linterManager, string fileName = "") : this(engine, scheduler, factory, Enumerable.Empty <KeyValuePair <Guid, List <CallSite.RawTraceData> > >(), Enumerable.Empty <NodeModel>(), Enumerable.Empty <NoteModel>(), Enumerable.Empty <AnnotationModel>(), Enumerable.Empty <PresetModel>(), new ElementResolver(), new WorkspaceInfo() { FileName = fileName, Name = "Home" }, verboseLogging, isTestMode, linterManager) { }
internal void InitializeBase(LinterManager linterManager) { this.linterManager = linterManager; }