/// <summary> /// Updates the current processing state for the project. /// </summary> /// <param name="processingState">New processing state for the project.</param> public void SetProcessingState(ProjectProcessingState processingState) { // If we are the same, we don't do anything. if (processingState == ProcessingState) { return; } // Update the internal state so when we call the update method // on the various supervisors, they'll be able to make the // appropriate updates. ProcessingState = processingState; }
/// <summary> /// Initializes a new instance of the <see cref="Project"/> class. /// </summary> public Project( ProjectProcessingState initialProcessingState = ProjectProcessingState.Interactive) { // Set up the initial states. ProcessingState = initialProcessingState; // We need the settings set up first since it may contribute // to the loading of other components of the project. Settings = new ProjectSettings(); Properties = new PropertiesDictionary(); BlockTypes = new BlockTypeSupervisor(this); Blocks = new ProjectBlockCollection(this); Commands = new BlockCommandSupervisor(this); Plugins = new PluginSupervisor(this); Macros = new ProjectMacros(); }