/// <summary> /// Raises the <see cref="ToolTipRequest" /> event. /// </summary> /// <param name="e"><see cref="ToolTipRequestEventArgs" /> object that provides the arguments for the event.</param> protected virtual void OnToolTipRequest(ToolTipRequestEventArgs e) { EventHandler<ToolTipRequestEventArgs> handler = ToolTipRequest; if (handler != null) handler(this, e); }
/// <summary> /// Requests the tool tip. /// </summary> /// <param name="mousePos">The mouse position.</param> protected void RequestToolTip(Point mousePos) { if (_toolTipRectangle.Contains(mousePos)) { if (!_toolTipActive) { ResetMouseEventArgs(); } return; } _toolTipRectangle = new Rectangle(mousePos.X - 4, mousePos.Y - 4, 8, 8); TextLocation logicPos = _textView.GetLogicalPosition(mousePos.X - _textView.DrawingPosition.Left, mousePos.Y - _textView.DrawingPosition.Top); bool inDocument = _textView.DrawingPosition.Contains(mousePos) && logicPos.Y >= 0 && logicPos.Y < Document.TotalNumberOfLines; ToolTipRequestEventArgs args = new ToolTipRequestEventArgs(mousePos, logicPos, inDocument); OnToolTipRequest(args); if (args.ToolTipShown) { _toolTipActive = true; SetToolTip(args.ToolTipText, inDocument ? logicPos.Y + 1 : -1); } else { CloseToolTip(); } }
/// <summary> /// Raises the <see cref="ToolTipRequest"/> event. /// </summary> /// <param name="e">The <see cref="DigitalRune.Windows.TextEditor.ToolTipRequestEventArgs"/> instance containing the event data.</param> protected virtual void OnToolTipRequest(ToolTipRequestEventArgs e) { if (ToolTipRequest != null) { ToolTipRequest(this, e); } }
void OnToolTipRequest(object sender, ToolTipRequestEventArgs e) { if (e.ToolTipShown) { return; } Point mousepos = e.MousePosition; Fold fold = _textArea.TextView.GetFoldMarkerFromPosition(mousepos.X - _textArea.TextView.DrawingPosition.X, mousepos.Y - _textArea.TextView.DrawingPosition.Y); if (fold != null && fold.IsFolded) { StringBuilder sb = new StringBuilder(fold.InnerText); // Skip leading newlines int i = 0; while (sb[i] == '\r' || sb[i] == '\n') { i++; } if (i > 0) { sb.Remove(0, i); } // max 10 lines int endLines = 0; for (i = 0; i < sb.Length; ++i) { if (sb[i] == '\n') { ++endLines; if (endLines >= 10) { sb.Remove(i + 1, sb.Length - i - 1); sb.Append(Environment.NewLine); sb.Append("..."); break; } } } sb.Replace("\t", " "); e.ShowToolTip(sb.ToString()); return; } List <Marker> markers = _textArea.Document.MarkerStrategy.GetMarkers(e.LogicalPosition); foreach (Marker marker in markers) { if (marker.ToolTip != null) { e.ShowToolTip(marker.ToolTip.Replace("\t", " ")); return; } } }
/// <summary> /// Raises the <see cref="ToolTipRequest" /> event. /// </summary> /// <param name="e"><see cref="ToolTipRequestEventArgs" /> object that provides the arguments for the event.</param> protected virtual void OnToolTipRequest(ToolTipRequestEventArgs e) { EventHandler <ToolTipRequestEventArgs> handler = ToolTipRequest; if (handler != null) { handler(this, e); } }
void OnToolTipRequest(object sender, ToolTipRequestEventArgs e) { if (e.ToolTipShown) return; Point mousepos = e.MousePosition; Fold fold = _textArea.TextView.GetFoldMarkerFromPosition(mousepos.X - _textArea.TextView.DrawingPosition.X, mousepos.Y - _textArea.TextView.DrawingPosition.Y); if (fold != null && fold.IsFolded) { StringBuilder sb = new StringBuilder(fold.InnerText); // Skip leading newlines int i = 0; while (sb[i] == '\r' || sb[i] == '\n') i++; if (i > 0) sb.Remove(0, i); // max 10 lines int endLines = 0; for (i = 0; i < sb.Length; ++i) { if (sb[i] == '\n') { ++endLines; if (endLines >= 10) { sb.Remove(i + 1, sb.Length - i - 1); sb.Append(Environment.NewLine); sb.Append("..."); break; } } } sb.Replace("\t", " "); e.ShowToolTip(sb.ToString()); return; } List<Marker> markers = _textArea.Document.MarkerStrategy.GetMarkers(e.LogicalPosition); foreach (Marker marker in markers) { if (marker.ToolTip != null) { e.ShowToolTip(marker.ToolTip.Replace("\t", " ")); return; } } }
private void ToolTipRequest(object sender, ToolTipRequestEventArgs e) { if (!e.InDocument || e.ToolTipShown) return; // Get word under cursor TextLocation position = e.LogicalPosition; LineSegment line = textEditorControl.Document.GetLineSegment(position.Y); if (line != null) { TextWord word = line.GetWord(position.X); if (word != null && !String.IsNullOrEmpty(word.Word)) e.ShowToolTip("Current word: \"" + word.Word + "\"\n" + "\nRow: " + (position.Y + 1) + " Column: " + (position.X + 1)); } }
/// <summary> /// Raises the <see cref="ToolTipRequest"/> event. /// </summary> /// <param name="e">The <see cref="DigitalRune.Windows.TextEditor.ToolTipRequestEventArgs"/> instance containing the event data.</param> protected virtual void OnToolTipRequest(ToolTipRequestEventArgs e) { if (ToolTipRequest != null) ToolTipRequest(this, e); }
/// <summary> /// Requests the tool tip. /// </summary> /// <param name="mousePos">The mouse position.</param> protected void RequestToolTip(Point mousePos) { if (_toolTipRectangle.Contains(mousePos)) { if (!_toolTipActive) ResetMouseEventArgs(); return; } _toolTipRectangle = new Rectangle(mousePos.X - 4, mousePos.Y - 4, 8, 8); TextLocation logicPos = _textView.GetLogicalPosition(mousePos.X - _textView.DrawingPosition.Left, mousePos.Y - _textView.DrawingPosition.Top); bool inDocument = _textView.DrawingPosition.Contains(mousePos) && logicPos.Y >= 0 && logicPos.Y < Document.TotalNumberOfLines; ToolTipRequestEventArgs args = new ToolTipRequestEventArgs(mousePos, logicPos, inDocument); OnToolTipRequest(args); if (args.ToolTipShown) { _toolTipActive = true; SetToolTip(args.ToolTipText, inDocument ? logicPos.Y + 1 : -1); } else { CloseToolTip(); } }
void TextArea_ToolTipRequest(object sender, ToolTipRequestEventArgs e) { // Forward event OnToolTipRequest(e); }