//函数悬停提示 protected override void OnToolTip() { if (ToolTip == null) return; if (ToolTipNeeded == null) return; //get place under mouse Place place = PointToPlace(lastMouseCoord); //check distance Point p = PlaceToPoint(place); if (Math.Abs(p.X - lastMouseCoord.X) > CharWidth*2 || Math.Abs(p.Y - lastMouseCoord.Y) > CharHeight*2) return; //get word under mouse var r = new Range(this, place, place); string hoveredWord = r.GetFragment("[a-zA-Z0-9_]").Text; //event handler var ea = new ToolTipNeededEventArgs(place, hoveredWord); ToolTipNeeded(this, ea); if (ea.ToolTipText != null) { //show tooltip ToolTip.ToolTipTitle = ea.ToolTipTitle; ToolTip.ToolTipIcon = ea.ToolTipIcon; //ToolTip.SetToolTip(this, ea.ToolTipText); ToolTip.Show(ea.ToolTipText, this, new Point(lastMouseCoord.X, lastMouseCoord.Y + CharHeight)); } }
private void fctb_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = "This is tooltip for '" + e.HoveredWord + "'"; } }
private void fastColoredTextBox1_ToolTipNeeded(object sender, FastColoredTextBoxNS.ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = "This is tooltip for '" + e.HoveredWord + "'"; } }
private void fctb_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = "This is tooltip for '" + e.HoveredWord + "'"; } /* * Also you can get any fragment of the text for tooltip. * Following example gets whole line for tooltip: var range = new Range(sender as FastColoredTextBox, e.Place, e.Place); string hoveredWord = range.GetFragment("[^\n]").Text; e.ToolTipTitle = hoveredWord; e.ToolTipText = "This is tooltip for '" + hoveredWord + "'"; */ }
//函数悬停提示 protected override void OnToolTip() { if (this.ToolTip == null) { return; } if (ToolTipNeeded == null) { return; } //get place under mouse Place place = this.PointToPlace(this.lastMouseCoord); //check distance Point p = this.PlaceToPoint(place); if (Math.Abs(p.X - this.lastMouseCoord.X) > this.CharWidth * 2 || Math.Abs(p.Y - this.lastMouseCoord.Y) > this.CharHeight * 2) { return; } //get word under mouse var r = new Range(this, place, place); string hoveredWord = r.GetFragment("[a-zA-Z0-9_]").Text; //event handler var ea = new ToolTipNeededEventArgs(place, hoveredWord); ToolTipNeeded(this, ea); if (ea.ToolTipText != null) { lbTooltip.Visible = true; lbTooltip.Text = $"{ea.ToolTipTitle}\r\n\r\n{ea.ToolTipText}"; lbTooltip.Location = new Point(this.Size.Width - 500, this.lastMouseCoord.Y + this.CharHeight); //this.ToolTip.ToolTipTitle = ea.ToolTipTitle; //this.ToolTip.ToolTipIcon = ea.ToolTipIcon; //ToolTip.SetToolTip(this, ea.ToolTipText); //this.ToolTip.Show(ea.ToolTipText, this, new Point(this.lastMouseCoord.X, this.lastMouseCoord.Y + this.CharHeight)); } }
//函数悬停提示 protected override void OnToolTip() { if (ToolTip == null) { return; } if (ToolTipNeeded == null) { return; } //get place under mouse Place place = PointToPlace(lastMouseCoord); //check distance Point p = PlaceToPoint(place); if (Math.Abs(p.X - lastMouseCoord.X) > CharWidth * 2 || Math.Abs(p.Y - lastMouseCoord.Y) > CharHeight * 2) { return; } //get word under mouse var r = new Range(this, place, place); string hoveredWord = r.GetFragment("[a-zA-Z0-9_]").Text; //event handler var ea = new ToolTipNeededEventArgs(place, hoveredWord); ToolTipNeeded(this, ea); if (ea.ToolTipText != null) { //show tooltip ToolTip.ToolTipTitle = ea.ToolTipTitle; ToolTip.ToolTipIcon = ea.ToolTipIcon; //ToolTip.SetToolTip(this, ea.ToolTipText); ToolTip.Show(ea.ToolTipText, this, new Point(lastMouseCoord.X, lastMouseCoord.Y + CharHeight)); } }
//函数悬停提示 protected override void OnToolTip() { if (this.ToolTip == null) { return; } if (ToolTipNeeded == null) { return; } //get place under mouse Place place = this.PointToPlace(this.lastMouseCoord); //check distance Point p = this.PlaceToPoint(place); if (Math.Abs(p.X - this.lastMouseCoord.X) > this.CharWidth * 2 || Math.Abs(p.Y - this.lastMouseCoord.Y) > this.CharHeight * 2) { return; } //get word under mouse var r = new Range(this, place, place); string hoveredWord = r.GetFragment("[a-zA-Z0-9_]").Text; //event handler var ea = new ToolTipNeededEventArgs(place, hoveredWord); ToolTipNeeded(this, ea); if (ea.ToolTipText != null) { this.ShowTooltipWithLabel(ea.ToolTipTitle, ea.ToolTipText); } }
void MatchParser(ToolTipNeededEventArgs e, int p, Match m, string title = null, ParamDescriptor descriptor = null) { if (p >= m.Index && p <= (m.Index + m.Length)) { var i = 0; var d = "P[{0}]: {1}"; var v = new List<string>(); foreach (Capture c in m.Groups[1].Captures) { if (IsComment(c.Index, c.Length)) continue; i++; v.Add(c.Value); if (p >= c.Index && p <= (c.Index + c.Length)) { if (descriptor != null) descriptor(i, ref d, v); e.ToolTipIcon = ToolTipIcon.Info; e.ToolTipTitle = title; e.ToolTipText = String.Format(d, i - 1, c.Value); } } } }
public void HintParser(object sender, ToolTipNeededEventArgs e) { var ctl = sender as FastColoredTextBox; var p = ctl.PlaceToPosition(e.Place); foreach (Match m in new ScnSyntax.NodeParams().Matches(ctl.Text)) MatchParser(e, p, m, "node", NodeDescriptor); foreach (Match m in new ScnSyntax.IncludeParams().Matches(ctl.Text)) MatchParser(e, p, m, "include", IncludeDescriptor); foreach (Match m in new ScnSyntax.EventParams().Matches(ctl.Text)) MatchParser(e, p, m, "event", EventDescriptor); foreach (Match m in new ScnSyntax.TrainsetParams().Matches(ctl.Text)) MatchParser(e, p, m, "trainset", TrainsetDescriptor); }
private void fastColoredTextBox_Code_ToolTipNeeded(object aSender, ToolTipNeededEventArgs aEventArgs) { var lRange = new Range(aSender as FastColoredTextBox, aEventArgs.Place, aEventArgs.Place); try { int lHandle = mBrowser.getItemHandleByName(lRange.GetFragment("[^\n ']").Text); if (lHandle != -1) { aEventArgs.ToolTipText = mBrowser.getItemToolTipByHandle(lHandle); } } catch { } }
//悬停的函数说明 void FctbToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { long tl = 0; string name = e.HoveredWord; string desc = ""; if (!name.StartsWith("0x") && name.Length <= 9) { name = name.Replace("c", ""); long.TryParse(name, out tl); } if (tl > 0) { //获取卡片信息 if (cardlist.ContainsKey(tl)) desc = cardlist[tl]; } else desc = FindTooltip(e.HoveredWord); if (!string.IsNullOrEmpty(desc)) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = desc; } } }
private void codeTextBox_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { Range range = GetMessageRangeFromPlace(e.Place); if (range != null) { e.ToolTipText = range.Text; } }
private void fastColoredTextBox1_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { foreach (var d in InfoManager.data) { if (d.Key == e.HoveredWord) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = d.Value; } } } }
private void tb_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { if (e.HoveredWord != null | e.HoveredWord != "") { List<Style> stls = CurrentTB.GetStylesOfChar(e.Place); int isComment = stls.FindIndex(p => p == CurrentTB.SyntaxHighlighter.styScpComments); if (isComment > 0) return; PopupToolTip keyw = ScriptCommunityPack.keywordsInformation.Find(x => x.Name.ToLower().StartsWith(e.HoveredWord.ToLower()) && !x.Properties.Contains(PropertyTypes.SnippetAuto)); if (keyw != null) { e.ToolTipTitle = keyw.Name; e.ToolTipText = keyw.ToString(); } else { //scp command tooltip } } } }
private void NewEditor_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { if (documentToolTips.ContainsKey(e.HoveredWord)) { var info = documentToolTips[e.HoveredWord]; e.ToolTipTitle = info.Title; e.ToolTipText = info.Text; } } /* * Also you can get any fragment of the text for tooltip. * Following example gets whole line for tooltip: var range = new Range(sender as FastColoredTextBox, e.Place, e.Place); string hoveredWord = range.GetFragment("[^\n]").Text; e.ToolTipTitle = hoveredWord; e.ToolTipText = "This is tooltip for '" + hoveredWord + "'"; */ }