public LeapsDocument(LeapsClient client, string documentId, IWpfTextView textView) { this.client = client; this.documentId = documentId; this.textView = textView; client.Connected.Subscribe(ClientConnected); client.DocumentReceived.ObserveOn(RxApp.MainThreadScheduler).Subscribe(ClientDocumentReceived); client.TransformsReceived.ObserveOn(RxApp.MainThreadScheduler).Subscribe(ClientTransformsReceived); client.UpdatesReceived.ObserveOn(RxApp.MainThreadScheduler).Subscribe(ClientUpdatesReceived); client.Connect(); }
public void TextViewCreated(IWpfTextView textView) { ITextDocument document; if (textView.TextBuffer.Properties.TryGetProperty(typeof(ITextDocument), out document)) { var dir = Path.GetFileName(Path.GetDirectoryName(document.FilePath)); var file = Path.GetFileName(document.FilePath); var documentId = Path.Combine(dir, file); var client = new LeapsClient(LeapsUri); textView.Properties.GetOrCreateSingletonProperty(() => new LeapsDocument(client, documentId, textView)); } }