using System; using CPF.Drawing; using CPF.Input; using CPF.ReoGrid.Graphics; using CPF.ReoGrid.Interaction; using CPF.ReoGrid.Rendering; namespace CPF.ReoGrid.Views { internal class LeadHeaderView : View { public LeadHeaderView(ViewportController vc) : base(vc) { this.sheet = vc.worksheet; } public override void Draw(CellDrawingContext dc) { bool flag = this.bounds.Width <= 0f || this.bounds.Height <= 0f || this.sheet.controlAdapter == null; if (!flag) { IGraphics graphics = dc.Graphics; ControlAppearanceStyle controlStyle = this.sheet.workbook.controlAdapter.ControlStyle; graphics.FillRectangle(this.bounds, controlStyle.Colors[ControlAppearanceColors.LeadHeadNormal]); Color startColor = this.sheet.isLeadHeadSelected ? controlStyle.Colors[ControlAppearanceColors.LeadHeadIndicatorStart] : controlStyle.Colors[ControlAppearanceColors.LeadHeadSelected]; Color endColor = controlStyle.Colors[ControlAppearanceColors.LeadHeadIndicatorEnd]; dc.Renderer.DrawLeadHeadArrow(this.bounds, startColor, endColor); } } public override bool OnMouseDown(Point location, MouseButtons buttons, InputModifiers modifiers) { OperationStatus operationStatus = this.sheet.operationStatus; OperationStatus operationStatus2 = operationStatus; if (operationStatus2 == OperationStatus.Default) { bool flag = this.sheet.selectionMode > WorksheetSelectionMode.None; if (flag) { this.sheet.SelectRange(RangePosition.EntireRange); bool flag2 = buttons == MouseButtons.Right; if (flag2) { this.sheet.controlAdapter.ShowContextMenuStrip(ViewTypes.LeadHeader, location); } return true; } } return false; } public override bool OnMouseMove(Point location, MouseButtons buttons) { this.sheet.controlAdapter.ChangeCursor(CursorStyle.Selection); return false; } protected Worksheet sheet; } }