Exemple #1
0
		//********* own events

		/// <summary>
		/// Fires the <see cref="ProjectChanged" /> event. This occurs <b>after</b> the events <see cref="ProjectOpened" />,
		/// <see cref="ProjectClosed" />, <see cref="ProjectRenamed" />, and <see cref="ProjectDirtyChanged" /> event. Usefull if
		/// you not want to subscribe to the above mentioned single events.
		/// </summary>
		protected virtual void OnProjectChanged(ProjectEventArgs e)
		{
			switch (e.ProjectEventKind)
			{
				case ProjectEventKind.ProjectOpening:
					break;

				case ProjectEventKind.ProjectOpened:
					ProjectOpened?.Invoke(this, e);
					break;

				case ProjectEventKind.ProjectClosing:
					break;

				case ProjectEventKind.ProjectClosed:
					ProjectClosed?.Invoke(this, e);
					break;

				case ProjectEventKind.ProjectRenamed:
					ProjectRenamed?.Invoke(this, (ProjectRenamedEventArgs)e);
					break;

				case ProjectEventKind.ProjectDirtyChanged:
					ProjectDirtyChanged?.Invoke(this, e);
					break;

				default:
					break;
			}

			ProjectChanged?.Invoke(this, e);
		}
    /// <summary>
    /// Fires the <see cref="ProjectDirtyChanged" /> event.
    /// </summary>
    /// <param name="e">Indicats on which project the dirty flag changed.</param>
    protected virtual void OnProjectDirtyChanged(ProjectEventArgs e)
    {
      if (ProjectDirtyChanged != null)
      {
        ProjectDirtyChanged(this, e);
      }

      OnProjectChanged();
    }
 private void EhProjectClosed(object sender, ProjectEventArgs e)
 {
   e.Project.DataTableCollection.CollectionChanged -= new EventHandler(DataTableCollection_Changed);
   e.Project.GraphDocumentCollection.CollectionChanged -= new EventHandler(GraphDocumentCollection_Changed);
 }