InputLanguageChangingEventArgs.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. //
  2. // System.Windows.Forms.InputLanguageChangingEventArgs.cs
  3. //
  4. // Author:
  5. // stubbed out by Daniel Carrera ([email protected])
  6. // Partially completed by Dennis Hayes ([email protected])
  7. // Gianandrea Terzi ([email protected])
  8. //
  9. // (C) 2002 Ximian, Inc
  10. //
  11. using System.Globalization;
  12. using System.ComponentModel;
  13. namespace System.Windows.Forms {
  14. // <summary>
  15. // </summary>
  16. public class InputLanguageChangingEventArgs : EventArgs {
  17. #region Fields
  18. private CultureInfo culture;
  19. private bool systemcharset;
  20. private InputLanguage inputlanguage;
  21. #endregion
  22. //
  23. // --- Constructor
  24. //
  25. [MonoTODO] //what about input lang?
  26. public InputLanguageChangingEventArgs(CultureInfo culture, bool sysCharSet) {
  27. this.culture = culture;
  28. this.systemcharset =sysCharSet;
  29. }
  30. [MonoTODO] //what about culture?
  31. public InputLanguageChangingEventArgs(InputLanguage inputlanguage, bool sysCharSet) {
  32. this.culture = culture;
  33. this.inputlanguage = inputlanguage;
  34. }
  35. #region Public Properties
  36. public CultureInfo Culture
  37. {
  38. get {
  39. return culture;
  40. }
  41. }
  42. public InputLanguage InputLanguage {
  43. get {
  44. return inputlanguage;
  45. }
  46. }
  47. public bool SysCharSet {
  48. get {
  49. return systemcharset;
  50. }
  51. }
  52. #endregion
  53. #region Public Methods
  54. /// <summary>
  55. /// Equality Operator
  56. /// </summary>
  57. ///
  58. /// <remarks>
  59. /// Compares two InputLanguageChangingEventArgs objects.
  60. /// The return value is based on the equivalence of
  61. /// Culture, InputLanguage and SysCharSet Property
  62. /// of the two InputLanguageChangingEventArgs.
  63. /// </remarks>
  64. public static bool operator == (InputLanguageChangingEventArgs InputLanguageChangingEventArgsA, InputLanguageChangingEventArgs InputLanguageChangingEventArgsB)
  65. {
  66. return (InputLanguageChangingEventArgsA.Culture == InputLanguageChangingEventArgsB.Culture) &&
  67. (InputLanguageChangingEventArgsA.InputLanguage == InputLanguageChangingEventArgsB.InputLanguage) &&
  68. (InputLanguageChangingEventArgsA.SysCharSet == InputLanguageChangingEventArgsB.SysCharSet);
  69. }
  70. /// <summary>
  71. /// Inequality Operator
  72. /// </summary>
  73. ///
  74. /// <remarks>
  75. /// Compares two InputLanguageChangingEventArgs objects.
  76. /// The return value is based on the equivalence of
  77. /// Culture, InputLanguage and SysCharSet Property
  78. /// of the two InputLanguageChangingEventArgs.
  79. /// </remarks>
  80. public static bool operator != (InputLanguageChangingEventArgs InputLanguageChangingEventArgsA, InputLanguageChangingEventArgs InputLanguageChangingEventArgsB)
  81. {
  82. return (InputLanguageChangingEventArgsA.Culture != InputLanguageChangingEventArgsB.Culture) ||
  83. (InputLanguageChangingEventArgsA.InputLanguage != InputLanguageChangingEventArgsB.InputLanguage) ||
  84. (InputLanguageChangingEventArgsA.SysCharSet != InputLanguageChangingEventArgsB.SysCharSet);
  85. }
  86. /// <summary>
  87. /// Equals Method
  88. /// </summary>
  89. ///
  90. /// <remarks>
  91. /// Checks equivalence of this
  92. /// InputLanguageChangingEventArgs and another
  93. /// object.
  94. /// </remarks>
  95. public override bool Equals (object obj)
  96. {
  97. if (!(obj is InputLanguageChangingEventArgs))return false;
  98. return (this == (InputLanguageChangingEventArgs) obj);
  99. }
  100. /// <summary>
  101. /// GetHashCode Method
  102. /// </summary>
  103. ///
  104. /// <remarks>
  105. /// Calculates a hashing value.
  106. /// </remarks>
  107. [MonoTODO]
  108. public override int GetHashCode ()
  109. {
  110. //FIXME: add class specific stuff;
  111. return base.GetHashCode();
  112. }
  113. /// <summary>
  114. /// ToString Method
  115. /// </summary>
  116. ///
  117. /// <remarks>
  118. /// Formats the object as a string.
  119. /// </remarks>
  120. [MonoTODO]
  121. public override string ToString ()
  122. {
  123. //FIXME: add class specific stuff;
  124. return base.ToString() + " InputLanguageChangingEventArgs";
  125. }
  126. #endregion
  127. }
  128. }