public IEnumerable <Label> GetBoundingBoxes(Topic topic, string imageId) { #region validation if (topic == null) { throw new ArgumentNullException(nameof(topic)); } if (string.IsNullOrEmpty(imageId)) { throw new ArgumentNullException(nameof(imageId)); } #endregion var modelId = LoadModel(); MultipartFormDataContent multipartFormDataContent = new MultipartFormDataContent(); using (Stream imageFileStream = ImageFileRepository.GetImageFile(topic, imageId)) { multipartFormDataContent.AddFileAsByteContent(imageFileStream, "image", imageId); } multipartFormDataContent.Add(new StringContent(modelId), "model"); HttpClient httpClient = HttpClientFactory.GetInferenceContainerHttpClient(); Uri uri = UriUtil.GetUri(httpClient.BaseAddress, "detect"); using MemoryStream memoryStream = new MemoryStream(httpClient.PostReadByteArray(uri, multipartFormDataContent)); using StreamReader streamReader = new StreamReader(memoryStream); return(ParseLabelResult(streamReader.ReadToEnd())); }
public void GetUriSingleParamUriTest() { // act Uri result = UriUtil.GetUri(new Uri("http://localhost:8080"), "/test/", "configuration", "?p1=1"); // assert Assert.AreEqual("http://localhost:8080/test/configuration?p1=1", result.AbsoluteUri); }
public void GetUriNoSlashStringTest() { // act Uri result = UriUtil.GetUri("http://foo.bar", "path", "parameter"); // assert Assert.AreEqual(result.ToString(), "http://foo.bar/path/parameter"); }
public void GetUriMoreSlashesUriTest() { // act Uri result = UriUtil.GetUri(new Uri("http://localhost:8080/"), "/test/", "/configuration"); // assert Assert.AreEqual("http://localhost:8080/test/configuration", result.AbsoluteUri); }
public void GetUriStringTest() { // act Uri result = UriUtil.GetUri("http://localhost:8080", "/test/", "configuration"); // assert Assert.AreEqual("http://localhost:8080/test/configuration", result.AbsoluteUri); }
public void GetUriWithBaseUriUriTest() { // act Uri result = UriUtil.GetUri(new Uri("http://rcvgateway/api/objectdetection"), "v1", "models", "bauteil2_riss:predict"); // assert Assert.AreEqual("http://rcvgateway/api/objectdetection/v1/models/bauteil2_riss:predict", result.AbsoluteUri); }
public void GetUriMultipleEmptyPathsUriTest() { // act Uri result = UriUtil.GetUri(new Uri("http://localhost:8080"), "", "test", "", "", "configuration"); // assert Assert.AreEqual("http://localhost:8080/test/configuration", result.AbsoluteUri); }
public void GetUriSingleEmptyPathsUriTest() { // act Uri result = UriUtil.GetUri(new Uri("http://localhost:8080"), ""); // assert Assert.AreEqual("http://localhost:8080/", result.AbsoluteUri); }
public void GetUriMultipleParamStringTest() { // act Uri result = UriUtil.GetUri("http://localhost:8080", "/test/", "configuration", "?p1=1", ";p2=2"); // assert Assert.AreEqual("http://localhost:8080/test/configuration?p1=1;p2=2", result.AbsoluteUri); }
/// <summary> /// Load model to use for boundingbox prediction. /// </summary> /// <returns>Model name</returns> public string LoadModel() { HttpClient httpClient = HttpClientFactory.GetInferenceContainerHttpClient(); Uri uri = UriUtil.GetUri(httpClient.BaseAddress, "load"); return(httpClient.Get <string>(uri, ParseModelResult)); }
private void InitMenuItems() { _cutInNewMemo = new ToolStripMenuItem("切り出す(&C)"); _cutInNewMemo.Click += (sender, e) => { using (var form = new CreateMemoForm()) { form.Font = _app.Theme.CaptionFont; form.MemoTitle = "新しいノート"; if (form.ShowDialog() == DialogResult.OK) { var copied = Owner.Referer.Target.CopyBlocksAndInlines(Owner.Referer.Selection.Range); _app.ShowMainForm(); _app.ActivateMainForm(); var info = _app.CreateMemo(form.MemoTitle); if (form.OriginalModification == CreateMemoForm.OriginalModificationKind.Remove) { Owner.RemoveForward(); } else if (form.OriginalModification == CreateMemoForm.OriginalModificationKind.ReplaceWithLink) { Owner.RemoveForward(); Owner.InsertLink(info.Title, new Link(UriUtil.GetUri(info))); if (copied.Last() is BlockBreak) { Owner.InsertBlockBreak(); } } var pageContent = _app.MainForm.FindPageContent(info); var canvas = pageContent.EditorCanvas; var caret = canvas.Caret; var loc = CaretUtil.GetExpectedMemoTextPosition(caret.Position); MemoEditorHelper.AddBlocksAndInlines(canvas.RootEditor.Children.First(), loc, copied, false); } } }; _splitThisParagraph = new ToolStripMenuItem("この行で分割(&S)"); _splitThisParagraph.Click += (sender, e) => { using (_editor.Site.CommandExecutor.BeginChain()) { var referer = Owner.Referer; var stext = referer.Target; var lineIndex = stext.GetLineIndex(referer.CaretIndex); var lineStart = stext.GetLineStartCharIndex(lineIndex); var flows = stext.CopyBlocksAndInlines(lineStart); var rect = Rectangle.Empty; rect = _focus.Figure.GetCharRect(lineStart); Owner.Selection.Range = Range.FromStartAndEnd(lineStart - 1, stext.Length - 2); Owner.RemoveForward(); _editor.RequestFocus(FocusKind.Commit, null); var loc = new Point(_editor.Figure.Left, rect.Bottom + 16); var memoEditor = _editor.Parent; var created = MemoEditorHelper.AddBlocksAndInlines(memoEditor, loc, flows, true); created.RequestFocusCommit(true); } }; _splitParagraphs = new ToolStripMenuItem("段落ごとに分割(&P)"); _splitParagraphs.Click += (sender, e) => { using (_editor.Figure.Root.DirtManager.BeginDirty()) using (_editor.Site.CommandExecutor.BeginChain()) { var referer = Owner.Referer; var stext = referer.Target; var memoEditor = _editor.Parent; var created = default(IEditor); var createds = new List <IEditor>(); var cTop = _editor.Figure.Top; foreach (var block in stext.Blocks) { var flows = new Flow[] { block.CloneDeeply() as Block, }; var loc = new Point(_editor.Figure.Left, cTop); created = MemoEditorHelper.AddBlocksAndInlines(memoEditor, loc, flows, true); createds.Add(created); cTop += created.Figure.Height + 16; } created.RequestFocusCommit(true); _editor.RequestRemove(); var cmd = new SelectMultiCommand(createds, SelectKind.True, true); cmd.Execute(); } }; _openLink = new ToolStripMenuItem("リンクを開く(&O)"); _openLink.Click += (sender, e) => { var run = Owner.GetInlineAtCaretIndex() as Run; if (run != null && run.HasLink) { LinkUtil.GoLink(run.Link); } }; _removeLink = new ToolStripMenuItem("リンクを削除(&R)"); _removeLink.Click += (sender, e) => { Owner.UnsetLink(); }; _setLink = new ToolStripMenuItem("リンクを設定(&L)"); _setLink.Click += (sender, e) => { if (Owner.Selection.IsEmpty) { var run = Owner.GetInlineAtCaretIndex() as Run; if (run != null) { var oldUri = default(string); if (run != null && run.HasLink) { oldUri = run.Link.Uri; } var oldText = run.Text; var dialog = new LinkSelectForm(); if (dialog.ShowDialog(_app.MainForm, oldUri, run.Text) == DialogResult.OK) { var uri = dialog.Uri; var newText = dialog.TitleText; if (newText != oldText) { Owner.SetRunText(run, newText); } if (uri != oldUri) { Owner.SetLink(uri, null); } } } } else { var range = Owner.Selection.Range; var oldText = Owner.Referer.Target.Text.Substring(range.Offset, range.Length); var dialog = new LinkSelectForm(); dialog.TitleTextTextBoxEnabled = false; if (dialog.ShowDialog(_app.MainForm, null, oldText) == DialogResult.OK) { Owner.SetLink(dialog.Uri, null); } } }; _addComment = new ToolStripMenuItem("コメントを追加(&C)"); _addComment.Click += (sender, e) => { MemoEditorHelper.AddCommentForMemoText(Owner); }; }
protected IDragTarget CreateFocusFigureDragTarget() { var ret = MouseOperatableFactory.CreateDragTarget(); ret.DragOver += (sender, e) => { e.Effect = DragDropEffects.None; var data = e.Data; if (data.GetDataPresent(typeof(MemoInfo[]))) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } else { e.Effect = DragDropEffects.Move; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } } if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } else { e.Effect = DragDropEffects.Move; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowFocusFigureDropTextFeedback(new Point(e.X, e.Y)); } } } }; ret.DragLeave += (sender, e) => { /// feedbackを隠す Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); }; ret.DragDrop += (sender, e) => { if (DragDropUtil.IsNone(e)) { return; } var data = e.Data; var loc = new Point(e.X, e.Y); var focus = Host.Focus as StyledTextFocus; if (data.GetDataPresent(typeof(MemoInfo[]))) { if (DragDropUtil.IsLink(e)) { if (focus != null && Host.Figure.Root != null) { var infos = (MemoInfo[])data.GetData(typeof(MemoInfo[])); focus.Selection.Range = Range.Empty; var charIndex = focus.Figure.GetCharIndexAt(loc); foreach (var info in infos) { var text = info.Title; var url = UriUtil.GetUri(info); focus.Referer.CaretIndex = charIndex; focus.InsertText(text, false); /// set link focus.Selection.Range = new Range(charIndex, text.Length); focus.SetLink(url, null); focus.Selection.Range = Range.Empty; } } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { /// StyledText flows if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { if (focus != null && Host.Figure.Root != null) { var charIndex = focus.Figure.GetCharIndexAt(loc); if (!_selectionRangeOnDragStart.Contains(charIndex)) { /// Moveの場合はこのタイミングでremoveしてしまう。 /// DragFinishでやろうとすると大変。 if (!_selectionRangeOnDragStart.IsEmpty && DragDropUtil.IsMove(e)) { focus.RemoveForward(); } focus.Selection.Range = Range.Empty; if (charIndex >= _selectionRangeOnDragStart.End) { charIndex -= _selectionRangeOnDragStart.Length; } focus.Referer.CaretIndex = charIndex; var flows = (IEnumerable <Flow>)data.GetData(StyledTextConsts.BlocksAndInlinesFormat.Name); focus.InsertBlocksAndInlines(flows); } } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsLink(e)) { if (focus != null && Host.Figure.Root != null) { focus.Selection.Range = Range.Empty; var url = (string)data.GetData(DataFormats.UnicodeText); var len = url.Length; var charIndex = focus.Figure.GetCharIndexAt(loc); focus.Referer.CaretIndex = charIndex; focus.InsertText(url, false); /// set link focus.Selection.Range = new Range(charIndex, len); focus.SetLink(url, null); focus.Selection.Range = Range.Empty; } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { if (focus != null && Host.Figure.Root != null) { focus.Selection.Range = Range.Empty; var charIndex = focus.Figure.GetCharIndexAt(loc); focus.Referer.CaretIndex = charIndex; var text = (string)data.GetData(DataFormats.UnicodeText); focus.InsertText(text, false); } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } }; return(ret); }
protected IDragTarget CreateHostFigureDragTarget() { var ret = MouseOperatableFactory.CreateDragTarget(); ret.DragOver += (sender, e) => { e.Effect = DragDropEffects.None; var data = e.Data; if (data.GetDataPresent(typeof(MemoInfo[]))) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } else { e.Effect = DragDropEffects.Move; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } } if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } else { e.Effect = DragDropEffects.Move; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; ShowHostFigureDropTextFeedback(new Point(e.X, e.Y)); } } } }; ret.DragLeave += (sender, e) => { /// feedbackを隠す Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); }; ret.DragDrop += (sender, e) => { if (DragDropUtil.IsNone(e)) { return; } var data = e.Data; var loc = new Point(e.X, e.Y); var focus = Host.Focus as StyledTextFocus; if (data.GetDataPresent(typeof(MemoInfo[]))) { /// MemoInfo[] if (DragDropUtil.IsLink(e)) { Host.RequestSelect(SelectKind.True, true); Host.RequestFocus(FocusKind.Begin, loc); if (focus != null) { var infos = (MemoInfo[])data.GetData(typeof(MemoInfo[])); foreach (var info in infos) { var text = info.Title; var url = UriUtil.GetUri(info); var charIndex = focus.Referer.CaretIndex; focus.InsertText(text, false); /// set link focus.Selection.Range = new Range(charIndex, text.Length); focus.SetLink(url, null); focus.Selection.Range = Range.Empty; } } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { /// StyledText flows if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { Host.RequestSelect(SelectKind.True, true); Host.RequestFocus(FocusKind.Begin, loc); if (focus != null) { var flows = (IEnumerable <Flow>)data.GetData(StyledTextConsts.BlocksAndInlinesFormat.Name); focus.InsertBlocksAndInlines(flows); } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { /// URL if (DragDropUtil.IsLink(e)) { Host.RequestSelect(SelectKind.True, true); Host.RequestFocus(FocusKind.Begin, loc); if (focus != null) { var charIndex = focus.Referer.CaretIndex; var url = (string)data.GetData(DataFormats.UnicodeText); var len = url.Length; focus.InsertText(url, false); /// set link focus.Selection.Range = new Range(charIndex, len); focus.SetLink(url, null); focus.Selection.Range = Range.Empty; } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { /// Text if (DragDropUtil.IsCopy(e) | DragDropUtil.IsMove(e)) { Host.RequestSelect(SelectKind.True, true); Host.RequestFocus(FocusKind.Begin, loc); if (focus != null) { focus.InsertText((string)data.GetData(DataFormats.UnicodeText), false); } Host.HideFeedback(new DropTextRequest(Rectangle.Empty)); Host.Site.EditorCanvas.Select(); } } }; return(ret); }
// ------------------------------ // private // ------------------------------ private IDragTarget CreateDragTarget() { var ret = MouseOperatableFactory.CreateDragTarget(); var app = MemopadApplication.Instance; ret.DragOver += (sender, e) => { e.Effect = DragDropEffects.None; var data = e.Data; if (data.GetDataPresent(typeof(MemoInfo[]))) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; } } else if (data.GetDataPresent(DataFormats.FileDrop)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } } else { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; } } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } else if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } } } else if (data.GetDataPresent(DataFormats.Html)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } else if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } } } else if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsLinkAllowed(e)) { e.Effect = DragDropEffects.Link; } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { if (DragDropUtil.IsControlPressed(e)) { if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } else if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } } else { if (DragDropUtil.IsMoveAllowed(e)) { e.Effect = DragDropEffects.Move; } else if (DragDropUtil.IsCopyAllowed(e)) { e.Effect = DragDropEffects.Copy; } } } }; ret.DragDrop += (sender, e) => { if (DragDropUtil.IsNone(e)) { return; } var oldCursor = Host.Site.EditorCanvas.Cursor; Host.Site.EditorCanvas.Cursor = Cursors.WaitCursor; try { var data = e.Data; var loc = Host.Site.GridService.GetAdjustedPoint(new Point(e.X, e.Y)); if (data.GetDataPresent(typeof(MemoInfo[]))) { /// MemoInfo[] if (DragDropUtil.IsLink(e)) { var infos = (MemoInfo[])data.GetData(typeof(MemoInfo[])); foreach (var info in infos) { var text = info.Title; var uri = UriUtil.GetUri(info); var created = MemoEditorHelper.AddTextAsLink(Host, loc, text, uri, null); } Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(DataFormats.FileDrop)) { /// FileDrop if (DragDropUtil.IsCopy(e) || DragDropUtil.IsLink(e)) { MemoEditorHelper.AddFileDrops( Host, loc, (string[])data.GetData(DataFormats.FileDrop), e.Effect == DragDropEffects.Copy, true, false ); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(StyledTextConsts.BlocksAndInlinesFormat.Name)) { /// StyledText flows if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { MemoEditorHelper.AddBlocksAndInlines( Host, loc, data.GetData(StyledTextConsts.BlocksAndInlinesFormat.Name) as IEnumerable <Flow>, true ); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(DataFormats.Html)) { /// Html if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { var html = Common.Forms.Clipboard.ClipboardUtil.GetCFHtmlFromDataObject(data); MemoEditorHelper.AddHtml( Host, loc, html, true ); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent("UniformResourceLocator") && data.GetDataPresent(DataFormats.UnicodeText)) { /// URL if (DragDropUtil.IsLink(e)) { var url = (string)data.GetData(DataFormats.UnicodeText); var created = MemoEditorHelper.AddTextAsLink(Host, loc, url, url, null); Host.Site.EditorCanvas.Select(); } } else if (data.GetDataPresent(DataFormats.UnicodeText)) { /// text if (DragDropUtil.IsCopy(e) || DragDropUtil.IsMove(e)) { MemoEditorHelper.AddText(Host, loc, (string)data.GetData(DataFormats.UnicodeText), false); Host.Site.EditorCanvas.Select(); } } } finally { Host.Site.EditorCanvas.Cursor = oldCursor; } }; return(ret); }