Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
 /// <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)
 {
 }
Ejemplo n.º 7
0
 internal void InitializeBase(LinterManager linterManager)
 {
     this.linterManager = linterManager;
 }