0eb64b8b5ecfe6f46342ad1b7c32d5363fb60e0b
[mono.git] / mcs / class / referencesource / System.Activities.Presentation / System.Activities.Presentation / System / Activities / Presentation / Base / Interaction / Services / ModelChangedEventArgs.cs
1 //------------------------------------------------------------------------------
2 // <copyright file="ModelChangedEventArgs.cs" company="Microsoft">
3 //     Copyright (c) Microsoft Corporation.  All rights reserved.
4 // </copyright>
5 //------------------------------------------------------------------------------
6
7 namespace System.Activities.Presentation.Services
8 {
9     using System;
10     using System.Collections.Generic;
11     using System.Activities.Presentation.Model;
12
13     /// <summary>
14     /// When the model raises change events, it creates an 
15     /// EventArgs that describes the change.
16     /// </summary>
17     public abstract class ModelChangedEventArgs : EventArgs {
18         
19         /// <summary>
20         /// Creates a new ModelChangedEventArgs.
21         /// </summary>
22         protected ModelChangedEventArgs() {
23         }
24
25         /// <summary>
26         /// An enumeration of objects that have been added.
27         /// </summary>
28         [Obsolete("Don't use this property. Use \"ModelChangeInfo\" instead.")]
29         public abstract IEnumerable<ModelItem> ItemsAdded { get; }
30
31         /// <summary>
32         /// An enumeration of objects that have been removed.
33         /// </summary>
34         [Obsolete("Don't use this property. Use \"ModelChangeInfo\" instead.")]
35         public abstract IEnumerable<ModelItem> ItemsRemoved { get; }
36
37         /// <summary>
38         /// An enumeration of properties that have been changed.
39         /// </summary>
40         [Obsolete("Don't use this property. Use \"ModelChangeInfo\" instead.")]
41         public abstract IEnumerable<ModelProperty> PropertiesChanged { get; }
42
43         /// <summary>
44         /// A ModelChangeInfo object that contains detailed model change information.
45         /// </summary>
46         public virtual ModelChangeInfo ModelChangeInfo
47         {
48             get { return null; }
49         }
50     }
51 }