private ColorSort nextItem(ColorSort sortKind) { switch (sortKind) { case ColorSort.Alpha: return(ColorSort.HSB); case ColorSort.HSB: return(ColorSort.SBH); case ColorSort.SBH: return(ColorSort.BSH); case ColorSort.BSH: return(ColorSort.BHS); case ColorSort.BHS: return(ColorSort.SHB); case ColorSort.SHB: return(ColorSort.Argb); case ColorSort.Argb: return(ColorSort.R); case ColorSort.R: return(ColorSort.G); case ColorSort.G: return(ColorSort.B); case ColorSort.B: default: return(ColorSort.Alpha); } }
public ColorChart() { InitializeComponent(); this.SetStyle(ControlStyles.DoubleBuffer, true); this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); this._sort = ColorSort.ByName; }
private void sortButton_Click(object sender, EventArgs e) { sortKind = nextItem(sortKind); if (sortKind == ColorSort.Alpha) { items.Sort(alphaSort); } else if (sortKind == ColorSort.HSB) { items = (from x in items orderby x.Color.GetHue(), x.Color.GetSaturation(), x.Color.GetBrightness() select x).ToList(); } else if (sortKind == ColorSort.SBH) { items = (from x in items orderby x.Color.GetSaturation(), x.Color.GetBrightness(), x.Color.GetHue() select x).ToList(); } else if (sortKind == ColorSort.SHB) { items = (from x in items orderby x.Color.GetSaturation(), x.Color.GetHue(), x.Color.GetBrightness() select x).ToList(); } else if (sortKind == ColorSort.BHS) { items = (from x in items orderby x.Color.GetBrightness(), x.Color.GetHue(), x.Color.GetSaturation() select x).ToList(); } else if (sortKind == ColorSort.BSH) { items = (from x in items orderby x.Color.GetBrightness(), x.Color.GetSaturation(), x.Color.GetHue() select x).ToList(); } else { items.Sort(argbSort); } sortButton.Text = sortKind.ToString(); colorsListView.Refresh(); }
/// <summary> /// Changes the sort order on the control. /// </summary> /// <param name="colorSort"></param> private void ChangeSortOrder(ColorSort colorSort) { this._chart.ColorSortOrder = colorSort; this._chart.Reset(); }