/// <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);
    }
Esempio n. 2
0
        /// <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();
            }
        }
Esempio n. 3
0
 /// <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));
      }
    }
Esempio n. 8
0
 /// <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);
 }
Esempio n. 9
0
        /// <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);
 }
 void TextArea_ToolTipRequest(object sender, ToolTipRequestEventArgs e)
 {
     // Forward event
     OnToolTipRequest(e);
 }