private MetadataTracker(IWpfTextView textView, double defaultFontSize = 10.0d) { this.defaultFontSize = defaultFontSize; this.textView = textView; bool isMetadataFile = false; fileName = textView.TextBuffer.GetFileName(); if (fileName.Contains('$'))//TODO: This is a very weak check, we need a better way to check this! isMetadataFile = true; if (!isMetadataFile) return; adornmentManager = AdornmentManager.GetOrCreateAdornmentManager(textView, "MetadataAdornments"); //timer = new Timer(); //timer.BeginInit(); //timer.AutoReset = false; //timer.Elapsed += OnLayoutSettled; //timer.Interval = 2000; //timer.EndInit(); //timer.Start(); textView.LayoutChanged += OnLayoutChanged; var foo = new ContractAdornment(11, textView.TextSnapshot.CreateTrackingSpan(0, 10, SpanTrackingMode.EdgeExclusive), defaultFontSize); }
/// <summary> /// Tries to get an adornment manager for a particular text view. /// </summary> public static bool TryGetAdornmentManager(IWpfTextView textView, string adornmentLayer, out AdornmentManager adornmentManager) { Contract.Requires(textView != null); return(textView.Properties.TryGetProperty <AdornmentManager>(adornmentLayer, out adornmentManager)); }
/// <summary> /// Tries to get an adornment manager for a particular text view. /// </summary> public static bool TryGetAdornmentManager(IWpfTextView textView, string adornmentLayer, out AdornmentManager adornmentManager) { Contract.Requires(textView != null); return textView.Properties.TryGetProperty<AdornmentManager>(adornmentLayer, out adornmentManager); }