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); } } } }
private void fctb_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { string line = fctb.Lines[e.Place.iLine]; char[] chars = new char[] { ' ', ';', '(', ')' }; string[] split = line.Split(chars); bool first_loop = true; int index_start = 0; int index_end = 0; while (e.Place.iChar > index_end && index_end != -1) { if (index_start == index_end && !first_loop) { index_end++; } first_loop = false; index_start = index_end; index_end = line.IndexOfAny(chars, index_start); } if (index_end < 0) { index_end = line.Length; } e.ToolTipText = fctb_control.ToolTipNeeded(line.Substring(index_start, index_end - index_start)); }
//悬停的函数说明 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 FCTB_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { var range = new Range(sender as FastColoredTextBox, e.Place, e.Place); string hoveredWord = range.GetFragment("[^\n]").Text; Regex pattern = new Regex("[<>/=]"); string input = pattern.Replace(hoveredWord.Trim().ToLower(), ""); System.Diagnostics.Debug.Print(input); string toolTipText = ""; string toolTipTitle = ""; if (input.StartsWith("c1")) { toolTipTitle = "C1 type:"; toolTipText = "This is a dictionary node, contains other nodes"; } else if (input.StartsWith("c0")) { toolTipTitle = "C0 type:"; toolTipText = "This is an array node, contains other nodes, without the name property"; } else if (input.StartsWith("a0")) { toolTipTitle = "A0 type:"; toolTipText = "This is a string value, the text in the \"StringValue\" section will be used as normal text"; } else if (input.StartsWith("d1")) { toolTipTitle = "D1 type:"; toolTipText = "This is a number,the text in the \"StringValue\" section will be used as an integer number"; } else if (input.StartsWith("d2")) { toolTipTitle = "D2 type:"; toolTipText = "This is a number,the text in the \"StringValue\" section will be used as a decimal number"; } else if (input.StartsWith("d0")) { toolTipTitle = "D0 type:"; toolTipText = "This is a boolean value,the text in the \"StringValue\" section can be only True or False"; } else if (input.StartsWith("name")) { toolTipTitle = "Name property"; toolTipText = "This is the name of this value"; } else if (input.StartsWith("stringvalue")) { toolTipTitle = "StringValue property"; toolTipText = "This is the value of this node as a string, when changing this respect the node type,to get info about types place the mouse on the type name (D1, A0 etc..)"; } else { return; } e.ToolTipTitle = toolTipTitle; e.ToolTipText = toolTipText; } }
private void MainTextBox_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { e.ToolTipTitle = e.HoveredWord; e.ToolTipText = "This is tooltip for '" + e.HoveredWord + "'"; } }
private void synBox1_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { //e.ToolTipIcon = ; e.ToolTipTitle = e.HoveredWord; e.ToolTipText = ":( ToolTip function is not implemented yet!"; } }
private void codeTextBox_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { Range range = GetMessageRangeFromPlace(e.Place); if (range != null) { e.ToolTipText = range.Text; } }
void ShowToolTip(Object sender, ToolTipNeededEventArgs e) { for (var i = 0; i < _errorRanges.Count; i++) { if (_errorRanges[i].Range.Contains(e.Place)) { e.ToolTipTitle = Messages.CompilationError; e.ToolTipText = _errorRanges[i].Message; e.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Error; break; } } }
public void fastColoredTextBox1_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (!string.IsNullOrEmpty(e.HoveredWord)) { e.ToolTipTitle = e.HoveredWord; if (_dict.ContainsKey(e.HoveredWord)) { e.ToolTipText = _dict[e.HoveredWord]; } hoveredWord = e.HoveredWord; } }
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 TextBoxOnToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (_tokens == null) { return; } var place = e.Place; int n = place.iLine; var absolutePosition = TextBox.Text.TakeWhile(c => (n -= (c == '\n' ? 1 : 0)) > 0).Count() + place.iChar + 1; var token = _tokens.Where(t => t.Type != TokenType.WHITESPACE).FirstOrDefault(x => x.StartPos <= absolutePosition && x.EndPos >= absolutePosition); if (token != null) { e.ToolTipIcon = ToolTipIcon.Info; e.ToolTipTitle = token.Type.ToString(); e.ToolTipText = token.Text; } }
private void editor_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { var error = compiler.Exceptions.FirstOrDefault(ex => ex.CaptureInfo.LineNumber == e.Place.iLine && ( ex.CaptureInfo.Length == 0 || ( ex.CaptureInfo.Index <= e.Place.iChar && ex.CaptureInfo.Index + ex.CaptureInfo.Length >= e.Place.iChar ) ) ); if (error != null) { e.ToolTipTitle = error.ErrorName; e.ToolTipText = error.Message; e.ToolTipIcon = ToolTipIcon.Error; } }
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 + "'"; * */ }
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 + "'"; */ }
private void TextBox_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { if (ErrorString != null) { if (ParseError.Line != -1 && ParseError.Line == e.Place.iLine) //TODO:!!!! { e.ToolTipTitle = "Error"; e.ToolTipIcon = ToolTipIcon.Error; if (ParseError.FileName.Contains("tmp")) { e.ToolTipText = ParseError.ToString(Path); } else { e.ToolTipText = ParseError.ToString(); } } } }
private void uxEditor_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { e.ToolTipText = null; if (CurrentDiagnostics == default(ImmutableArray <Diagnostic>) || CurrentDocument == null) { return; } foreach (var diagnostic in CurrentDiagnostics) { if (!diagnostic.Location.IsInSource || diagnostic.Location.SourceTree.FilePath != CurrentDocument.FilePath) { continue; } var range = SpanToRange(diagnostic.Location.SourceSpan, true); if (!range.Contains(e.Place)) { continue; } e.ToolTipText = $"{diagnostic.Id}: {diagnostic.GetMessage()}"; } }
private void ToolTipIsNeeded(object sender, ToolTipNeededEventArgs e) { if (String.IsNullOrEmpty(e.HoveredWord)) { return; } var library = LibraryLookup.GetLibrary(game); var range = new FastColoredTextBoxNS.Range(sender as FastColoredTextBox, e.Place, e.Place); string hoveredWord = range.GetFragment("[^ ( \n \r ]").Text; e.ToolTipTitle = hoveredWord; for (int i = 0; i < library.FlowScriptModules.Count; i++) { for (int j = 0; j < library.FlowScriptModules[i].Functions.Count; j++) { e.ToolTipText = ToolTip(hoveredWord, library) + "'"; } } }
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 TextBox_ToolTipNeeded(object sender, ToolTipNeededEventArgs e) { foreach (var error in _extension.ExtensionHost.ErrorManager.Errors) { if (error.Location.FilePath == _file.FilePath && GetErrorRange(error.Location).Start == GetErrorRange(e.Place).Start) { switch (error.Severity) { case MessageSeverity.Error: e.ToolTipIcon = ToolTipIcon.Error; break; case MessageSeverity.Warning: e.ToolTipIcon = ToolTipIcon.Warning; break; default: e.ToolTipIcon = ToolTipIcon.Info; break; } e.ToolTipTitle = error.Severity.ToString(); e.ToolTipText = error.Message; return; } } }
//函数悬停提示 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) { ShowTooltipWithLabel(ea.ToolTipTitle, ea.ToolTipText); } }
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 { } }