/Main/src/DynamicDataDisplay/Charts/Axes/LabelProvider.cs
C# | 43 lines | 34 code | 9 blank | 0 comment | 3 complexity | 9506cd8c62fe1a1ccb8113ccd3d6995b MD5 | raw file
Possible License(s): CC-BY-SA-3.0
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Windows;
- using System.Windows.Controls;
-
- namespace Microsoft.Research.DynamicDataDisplay.Charts.Axes
- {
- public abstract class LabelProvider<T> : LabelProviderBase<T>
- {
- public override UIElement[] CreateLabels(ITicksInfo<T> ticksInfo)
- {
- var ticks = ticksInfo.Ticks;
-
- UIElement[] res = new UIElement[ticks.Length];
- LabelTickInfo<T> labelInfo = new LabelTickInfo<T> { Info = ticksInfo.Info };
-
- for (int i = 0; i < res.Length; i++)
- {
- labelInfo.Tick = ticks[i];
- labelInfo.Index = i;
-
- string labelText = GetString(labelInfo);
-
- TextBlock label = (TextBlock)GetResourceFromPool();
- if (label == null)
- {
- label = new TextBlock();
- }
-
- label.Text = labelText;
- label.ToolTip = ticks[i].ToString();
-
- res[i] = label;
-
- ApplyCustomView(labelInfo, label);
- }
-
- return res;
- }
- }
- }