本文整理汇总了C#中MonoDevelop.OpenUndoGroup方法的典型用法代码示例。如果您正苦于以下问题:C# MonoDevelop.OpenUndoGroup方法的具体用法?C# MonoDevelop.OpenUndoGroup怎么用?C# MonoDevelop.OpenUndoGroup使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MonoDevelop
的用法示例。
在下文中一共展示了MonoDevelop.OpenUndoGroup方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InsertTemplate
internal void InsertTemplate (CodeTemplate template, MonoDevelop.Ide.Editor.TextEditor editor, MonoDevelop.Ide.Editor.DocumentContext context)
{
using (var undo = editor.OpenUndoGroup ()) {
var result = template.InsertTemplateContents (editor, context);
var links = result.TextLinks.Select (l => new Mono.TextEditor.TextLink (l.Name) {
Links = l.Links.Select (s => new TextSegment (s.Offset, s.Length)).ToList (),
IsEditable = l.IsEditable,
IsIdentifier = l.IsIdentifier,
GetStringFunc = l.GetStringFunc != null ? (Func<Func<string, string>, Mono.TextEditor.PopupWindow.IListDataProvider<string>>)(arg => new ListDataProviderWrapper (l.GetStringFunc (arg))) : null
}).ToList ();
var tle = new TextLinkEditMode (this, result.InsertPosition, links);
tle.TextLinkMode = TextLinkMode.General;
if (tle.ShouldStartTextLinkMode) {
tle.OldMode = CurrentMode;
tle.StartMode ();
CurrentMode = tle;
GLib.Timeout.Add (10, delegate {
tle.UpdateTextLinks ();
return false;
});
}
}
}
示例2: InsertTemplate
internal void InsertTemplate (CodeTemplate template, MonoDevelop.Ide.Editor.TextEditor editor, MonoDevelop.Ide.Editor.DocumentContext context)
{
using (var undo = editor.OpenUndoGroup ()) {
var result = template.InsertTemplateContents (editor, context);
var links = result.TextLinks.Select (l => new Mono.TextEditor.TextLink (l.Name) {
Links = l.Links.Select (s => new TextSegment (s.Offset, s.Length)).ToList (),
IsEditable = l.IsEditable,
IsIdentifier = l.IsIdentifier
}).ToList ();
var tle = new TextLinkEditMode (this, result.InsertPosition, links);
tle.TextLinkMode = TextLinkMode.General;
if (tle.ShouldStartTextLinkMode) {
tle.OldMode = CurrentMode;
tle.StartMode ();
CurrentMode = tle;
}
}
}