PageRenderTime 26ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/Main/src/DynamicDataDisplay.Maps/Charts/Map.DebugMenu.cs

#
C# | 74 lines | 70 code | 4 blank | 0 comment | 11 complexity | b19588a9f03a469ede0bde6ff91c09e4 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 System.Diagnostics;
  7. using System.IO;
  8. using Microsoft.Research.DynamicDataDisplay.Maps.Servers;
  9. namespace Microsoft.Research.DynamicDataDisplay.Charts.Maps
  10. {
  11. public partial class Map
  12. {
  13. private void OnOpenCache(object sender, RoutedEventArgs e)
  14. {
  15. var fileTileServer = FileTileServer as FileSystemTileServer;
  16. if (fileTileServer != null)
  17. {
  18. var cachePath = fileTileServer.CachePath;
  19. while (!Directory.Exists(cachePath))
  20. {
  21. var lastDirIndex = cachePath.LastIndexOf(Path.DirectorySeparatorChar);
  22. if (lastDirIndex > -1)
  23. cachePath = cachePath.Substring(0, lastDirIndex);
  24. }
  25. Process.Start(cachePath);
  26. }
  27. }
  28. private void OnClearCache(object sender, RoutedEventArgs e)
  29. {
  30. var fileTileServer = FileTileServer as FileSystemTileServer;
  31. if (fileTileServer != null)
  32. {
  33. try
  34. {
  35. DirectoryInfo cacheDirectory = new DirectoryInfo(fileTileServer.CachePath);
  36. if (cacheDirectory.Exists)
  37. cacheDirectory.Delete(true);
  38. }
  39. catch (Exception exc)
  40. {
  41. Debug.WriteLine("Exception while deleting of file cache directory: " + exc.Message);
  42. }
  43. }
  44. }
  45. private void OnDeleteCaches(object sender, RoutedEventArgs e)
  46. {
  47. var fileTileServer = FileTileServer as FileSystemTileServer;
  48. if (fileTileServer != null)
  49. {
  50. try
  51. {
  52. DirectoryInfo cacheDirectory = new DirectoryInfo(fileTileServer.CachePath);
  53. cacheDirectory.Parent.Delete(true);
  54. }
  55. catch (Exception exc)
  56. {
  57. Debug.WriteLine("Exception while deleting of all file cache directories: " + exc.Message);
  58. }
  59. }
  60. }
  61. private void OnClearMemoryCache(object sender, RoutedEventArgs e)
  62. {
  63. var memoryTileServer = TileSystem.MemoryServer as LRUMemoryCache;
  64. if (memoryTileServer != null)
  65. {
  66. memoryTileServer.Clear();
  67. }
  68. }
  69. }
  70. }