// // System.Windows.Forms.StatusBarDrawItemEventArgs // // Author: // stubbed out by Richard Baumann (biochem333@nyc.rr.com) // Partially completed by Dennis Hayes (dennish@raytek.com) // // (C) Ximian, Inc., 2002 // using System.Drawing; namespace System.Windows.Forms { /// /// Provides data for the DrawItem event. /// public class StatusBarDrawItemEventArgs : DrawItemEventArgs { private StatusBarPanel panel; /// --- Constructor --- public StatusBarDrawItemEventArgs(Graphics g, Font font, Rectangle r, int itemId, DrawItemState itemState, StatusBarPanel panel) : base(g, font, r, itemId, itemState) { this.panel = panel; } /// --- Properties --- public StatusBarPanel Panel { get { return panel; } } /// /// Equality Operator /// /// /// /// Compares two StatusBarDrawItemEventArgs objects. /// The return value is based on the equivalence of /// the BackColor, Bounds, Font, ForeColor, Graphics, /// Index, Panel, and State properties of the two /// StatusBarDrawItemEventArgs. /// public static bool operator == (StatusBarDrawItemEventArgs objA, StatusBarDrawItemEventArgs objB) { return ((objA.panel == objB.panel) && ((DrawItemEventArgs) objA == (DrawItemEventArgs) objB)); } /// /// Inequality Operator /// /// /// /// Compares two StatusBarDrawItemEventArgs objects. /// The return value is based on the equivalence of /// the BackColor, Bounds, Font, ForeColor, Graphics, /// Index, Panel, and State properties of the two /// StatusBarDrawItemEventArgs. /// public static bool operator != (StatusBarDrawItemEventArgs objA, StatusBarDrawItemEventArgs objB) { return ((objA.panel != objB.panel) || ((DrawItemEventArgs) objA != (DrawItemEventArgs) objB)); } /// /// Equals Method /// /// /// /// Checks equivalence of this /// StatusBarDrawItemEventArgs and another object. /// public override bool Equals (object o) { if (!(o is StatusBarDrawItemEventArgs))return false; return (this == (StatusBarDrawItemEventArgs) o); } /// /// GetHashCode Method /// /// /// /// Calculates a hashing value. /// Returns DrawItemEventArgs.GetHashCode(). /// public override int GetHashCode () { // FIXME: In a perfect world, get hashcode would include // Panel, but this shouldbe good enough. return base.GetHashCode; } /// /// ToString Method /// /// /// /// Formats the StatusBarDrawItemEventArgs as a string. /// public override string ToString () { return base.ToString() + panel.ToString(); } } }