private void InitGraph(IDictionary dict) { int c = 0; foreach (object key in dict.Keys) { try { double val = 0d; val = Convert.ToDouble(dict[key]); PiePiece piece = new PiePiece(key, dict[key]); piece.Color = PieColors[c++]; piece.HighlightColor = _HighlightColor; piece.HighlightDuration = _HighlightDuration; Pieces.Add(piece); if (c >= PieColors.Length) c = 0; } catch { } } CalculateValues(); }
private void HandleAction(PieGraphUserActions action, PiePiece piece) { switch (action) { case PieGraphUserActions.Highlight: HighlightPiece(piece); break; case PieGraphUserActions.Focus: FocusPiece(piece); break; } }
private void HighlightPiece(PiePiece piece) { foreach (PiePiece p in Pieces) { if (p.Equals(piece)) { if (!p.IsHighlighted) p.Highlight(); } else p.Unhighlight(); } }
private void FocusPiece(PiePiece piece) { foreach (PiePiece p in Pieces) { if (p.Equals(piece)) { if (!p.IsFocused) p.Focus(); } else p.Unfocus(); } }