本文整理汇总了C#中MonoDevelop.Ide.Gui.TextEditor.GetPositionFromLineColumn方法的典型用法代码示例。如果您正苦于以下问题:C# TextEditor.GetPositionFromLineColumn方法的具体用法?C# TextEditor.GetPositionFromLineColumn怎么用?C# TextEditor.GetPositionFromLineColumn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop.Ide.Gui.TextEditor
的用法示例。
在下文中一共展示了TextEditor.GetPositionFromLineColumn方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateWrapperClassForMember
internal static string CreateWrapperClassForMember(IMember member, string fileName, TextEditor editor)
{
if (member == null)
return "";
StringBuilder result = new StringBuilder ();
int startLine = member.Location.Line;
int endLine = member.Location.Line;
if (!member.BodyRegion.IsEmpty)
endLine = member.BodyRegion.End.Line + 1;
string text;
result.Append ("class " + member.DeclaringType.Name + " {");
if (editor != null) {
int col, maxLine;
editor.GetLineColumnFromPosition (editor.TextLength - 1, out col, out maxLine);
endLine = System.Math.Max (endLine, maxLine);
int endPos = editor.GetPositionFromLineColumn (endLine, editor.GetLineLength (endLine));
if (endPos < 0)
endPos = editor.TextLength;
text = editor.GetText (editor.GetPositionFromLineColumn (startLine, 0), endPos);
} else {
Mono.TextEditor.Document doc = new Mono.TextEditor.Document ();
doc.Text = File.ReadAllText (fileName) ?? "";
startLine = Math.Min (doc.LineCount, Math.Max (1, startLine));
endLine = Math.Min (doc.LineCount, Math.Max (1, endLine));
int startOffset = doc.LocationToOffset (startLine - 1, 0);
text = doc.GetTextAt (startOffset, doc.LocationToOffset (endLine - 1, doc.GetLine (endLine - 1).EditableLength) - startOffset);
}
if (!string.IsNullOrEmpty (text))
result.Append (text);
result.Append ("}");
return result.ToString ();
}
示例2: GetClosingBraceForLine
static int GetClosingBraceForLine (TextEditor editor, int line, out int openingLine)
{
int offset = editor.GetPositionFromLineColumn (line, 1);
offset = SearchMatchingBracket (editor, offset, '{', '}', -1);
if (offset == -1) {
openingLine = -1;
return -1;
}
int col;
editor.GetLineColumnFromPosition (offset, out openingLine, out col);
return offset;
}
示例3: AddRegisterDirective
public void AddRegisterDirective (RegisterDirective directive, TextEditor editor, bool preserveCaretPosition)
{
var node = GetRegisterInsertionPointNode ();
if (node == null)
return;
Doc.Info.RegisteredTags.Add (directive);
var line = Math.Max (node.Location.EndLine, node.Location.BeginLine);
var pos = editor.GetPositionFromLineColumn (line, editor.GetLineLength (line) + 1);
if (pos < 0)
return;
editor.BeginAtomicUndo ();
var oldCaret = editor.CursorPosition;
var inserted = editor.InsertText (pos, editor.NewLine + directive.ToString ());
if (preserveCaretPosition) {
editor.CursorPosition = (pos < oldCaret)? oldCaret + inserted : oldCaret;
}
editor.EndAtomicUndo ();
}