DropDownRendererData.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. //#########################################################################################
  2. //★★★★★★★ http://www.cnpopsoft.com [华普软件] ★★★★★★★
  3. //★★★★★★★ 华普软件 - VB & C#.NET 专业论文与源码荟萃! ★★★★★★★
  4. //#########################################################################################
  5. /*
  6. * Copyright ?2005, Mathew Hall
  7. * All rights reserved.
  8. *
  9. * Redistribution and use in source and binary forms, with or without modification,
  10. * are permitted provided that the following conditions are met:
  11. *
  12. * - Redistributions of source code must retain the above copyright notice,
  13. * this list of conditions and the following disclaimer.
  14. *
  15. * - Redistributions in binary form must reproduce the above copyright notice,
  16. * this list of conditions and the following disclaimer in the documentation
  17. * and/or other materials provided with the distribution.
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  20. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  21. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  22. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  23. * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  24. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
  25. * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  26. * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  27. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
  28. * OF SUCH DAMAGE.
  29. */
  30. using System;
  31. using System.ComponentModel;
  32. using System.Drawing;
  33. using XPTable.Themes;
  34. namespace XPTable.Renderers
  35. {
  36. /// <summary>
  37. /// Contains information about the current state of a DropDownRenderer's button
  38. /// </summary>
  39. public class DropDownRendererData
  40. {
  41. #region Class Data
  42. /// <summary>
  43. /// The current state of the button
  44. /// </summary>
  45. private ComboBoxStates buttonState;
  46. /// <summary>
  47. /// The x coordinate of the last mouse click point
  48. /// </summary>
  49. private int clickX;
  50. /// <summary>
  51. /// The y coordinate of the last mouse click point
  52. /// </summary>
  53. private int clickY;
  54. #endregion
  55. #region Constructor
  56. /// <summary>
  57. /// Initializes a new instance of the DropDownRendererData class
  58. /// </summary>
  59. public DropDownRendererData()
  60. {
  61. this.buttonState = ComboBoxStates.Normal;
  62. this.clickX = -1;
  63. this.clickY = -1;
  64. }
  65. #endregion
  66. #region Properties
  67. /// <summary>
  68. /// Gets or sets the current state of the button
  69. /// </summary>
  70. public ComboBoxStates ButtonState
  71. {
  72. get
  73. {
  74. return this.buttonState;
  75. }
  76. set
  77. {
  78. if (!Enum.IsDefined(typeof(ComboBoxStates), value))
  79. {
  80. throw new InvalidEnumArgumentException("value", (int) value, typeof(ComboBoxStates));
  81. }
  82. this.buttonState = value;
  83. }
  84. }
  85. /// <summary>
  86. /// Gets or sets the Point that the mouse was last clicked in the button
  87. /// </summary>
  88. public Point ClickPoint
  89. {
  90. get
  91. {
  92. return new Point(this.clickX, this.clickY);
  93. }
  94. set
  95. {
  96. this.clickX = value.X;
  97. this.clickY = value.Y;
  98. }
  99. }
  100. #endregion
  101. }
  102. }