Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1.     /// <summary>
  2.     /// Class representing a filter
  3.     /// </summary>
  4.     [Serializable()]
  5.     public class FilterItem : ISerializable
  6.     {
  7.         /// <summary>
  8.         /// The delegate behind the filter change event
  9.         /// </summary>
  10.         public delegate void FilterChangedHandler();
  11.        
  12.         /// <summary>
  13.         /// Event for notification when the filter changes
  14.         /// </summary>
  15.         public event FilterChangedHandler FilterChanged;
  16.  
  17.         /// <summary>
  18.         /// The filtering text
  19.         /// </summary>
  20.         private string _filter;
  21.         /// <summary>
  22.         /// Columns to filter
  23.         /// </summary>
  24.         private string _filterColumn;
  25.  
  26.         /// <summary>
  27.         /// Gets or sets the filtering text
  28.         /// </summary>
  29.         public string Filter
  30.         {
  31.             get
  32.             {
  33.                 return _filter;
  34.             }
  35.             set
  36.             {
  37.                 _filter = value;
  38.                 //Check subscribers
  39.                 if (FilterChanged != null)
  40.                     FilterChanged(); //Fire event
  41.             }
  42.         }
  43.         /// <summary>
  44.         /// Gets or sets the filtered columns (Columns should be delimited with '|')
  45.         /// </summary>
  46.         public string FilterColumn
  47.         {
  48.             get
  49.             {
  50.                 return _filterColumn;
  51.             }
  52.             set
  53.             {
  54.                 _filterColumn = value;
  55.                 //Check subscribers
  56.                 if (FilterChanged != null)
  57.                     FilterChanged(); //Fire event
  58.             }
  59.         }
  60.  
  61.         /// <summary>
  62.         /// Constructor
  63.         /// </summary>
  64.         public FilterItem()
  65.         {
  66.         }
  67.  
  68.         /// <summary>
  69.         /// Constructor
  70.         /// </summary>
  71.         /// <param name="filter">Filtering text</param>
  72.         /// <param name="column">Filtered columns</param>
  73.         public FilterItem(string filter, string column)
  74.         {
  75.             _filter = filter;
  76.             _filterColumn = column;
  77.         }
  78.  
  79.         /// <summary>
  80.         /// Constructor for deserialization
  81.         /// </summary>
  82.         /// <param name="info"></param>
  83.         /// <param name="context"></param>
  84.         public FilterItem(SerializationInfo info, StreamingContext context)
  85.         {
  86.             _filter = (string)info.GetValue("Filter", typeof(string));
  87.             _filterColumn = (string)info.GetValue("FilterColumn", typeof(string));
  88.         }
  89.  
  90.         /// <summary>
  91.         /// Method supporting serialization
  92.         /// </summary>
  93.         /// <param name="info"></param>
  94.         /// <param name="context"></param>
  95.         public void GetObjectData(SerializationInfo info, StreamingContext context)
  96.         {
  97.             info.AddValue("Filter", _filter);
  98.             info.AddValue("FilterColumn", _filterColumn);
  99.         }
  100.     }