PageRenderTime 47ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 1ms

/Main/src/DynamicDataDisplay/Charts/Axes/DateTime/DateTimeLabelProviderBase.cs

#
C# | 59 lines | 54 code | 5 blank | 0 comment | 1 complexity | b8886bfc861579fae2eec2918afa2f03 MD5 | raw file
Possible License(s): CC-BY-SA-3.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Windows;
  6. using Microsoft.Research.DynamicDataDisplay.Charts.Axes;
  7. using System.Globalization;
  8. namespace Microsoft.Research.DynamicDataDisplay.Charts
  9. {
  10. public abstract class DateTimeLabelProviderBase : LabelProviderBase<DateTime>
  11. {
  12. private string dateFormat;
  13. protected string DateFormat
  14. {
  15. get { return dateFormat; }
  16. set { dateFormat = value; }
  17. }
  18. protected override string GetStringCore(LabelTickInfo<DateTime> tickInfo)
  19. {
  20. return tickInfo.Tick.ToString(dateFormat);
  21. }
  22. protected virtual string GetDateFormat(DifferenceIn diff)
  23. {
  24. string format = null;
  25. switch (diff)
  26. {
  27. case DifferenceIn.Year:
  28. format = "yyyy";
  29. break;
  30. case DifferenceIn.Month:
  31. format = "MMM";
  32. break;
  33. case DifferenceIn.Day:
  34. format = "%d";
  35. break;
  36. case DifferenceIn.Hour:
  37. format = "HH:mm";
  38. break;
  39. case DifferenceIn.Minute:
  40. format = "%m";
  41. break;
  42. case DifferenceIn.Second:
  43. format = "ss";
  44. break;
  45. case DifferenceIn.Millisecond:
  46. format = "fff";
  47. break;
  48. default:
  49. break;
  50. }
  51. return format;
  52. }
  53. }
  54. }