本文整理汇总了C#中Gtk.InsertWithTags方法的典型用法代码示例。如果您正苦于以下问题:C# Gtk.InsertWithTags方法的具体用法?C# Gtk.InsertWithTags怎么用?C# Gtk.InsertWithTags使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gtk
的用法示例。
在下文中一共展示了Gtk.InsertWithTags方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Redo
public override void Redo (Gtk.TextBuffer buffer)
{
RemoveSplitTags (buffer);
Gtk.TextIter cursor = buffer.GetIterAtOffset (Offset);
Gtk.TextTag[] tags = {Tag};
buffer.InsertWithTags (ref cursor, Id, tags);
buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (Offset));
buffer.MoveMark (buffer.InsertMark,
buffer.GetIterAtOffset (Offset + chop.Length));
}
示例2: InsertTimeStamp
protected override void InsertTimeStamp(Gtk.TextBuffer buffer, ref Gtk.TextIter iter,
string timestamp, MessageModel msg)
{
if (String.IsNullOrWhiteSpace(msg.ID)) {
buffer.Insert(ref iter, timestamp);
} else {
var uri = new Uri(String.Format("https://twitter.com/{0}/status/{1}", msg.GetNick(), msg.ID));
var tags = new List<Gtk.TextTag>();
// link URI tag
var linkTag = new LinkTag(uri);
linkTag.TextEvent += OnLinkTagTextEvent;
_MessageTextTagTable.Add(linkTag);
tags.Add(linkTag);
// link style tag
tags.Add(LinkTag);
buffer.InsertWithTags(ref iter, timestamp, tags.ToArray());
}
buffer.Insert(ref iter, " ");
}
示例3: InsertToBuffer
private void InsertToBuffer(Gtk.TextBuffer buffer, ref Gtk.TextIter iter, TextMessagePartModel fmsgti)
{
var tags = new List<Gtk.TextTag>();
if (fmsgti.Text == null) {
// Gtk.TextBuffer.Insert*() asserts on text == NULL
return;
}
if (fmsgti.ForegroundColor != TextColor.None) {
var bg = ColorConverter.GetTextColor(BackgroundColor);
if (fmsgti.BackgroundColor != TextColor.None) {
bg = fmsgti.BackgroundColor;
}
TextColor color = TextColorTools.GetBestTextColor(
fmsgti.ForegroundColor, bg
);
string tagname = GetTextTagName(color, null);
var tag = _MessageTextTagTable.Lookup(tagname);
tags.Add(tag);
}
if (fmsgti.BackgroundColor != TextColor.None) {
// TODO: get this from ChatView
string tagname = GetTextTagName(null, fmsgti.BackgroundColor);
var tag = _MessageTextTagTable.Lookup(tagname);
tags.Add(tag);
}
if (fmsgti.Underline) {
#if LOG4NET && MSG_DEBUG
_Logger.Debug("AddMessage(): fmsgti.Underline is true");
#endif
tags.Add(UnderlineTag);
}
if (fmsgti.Bold) {
#if LOG4NET && MSG_DEBUG
_Logger.Debug("AddMessage(): fmsgti.Bold is true");
#endif
tags.Add(BoldTag);
}
if (fmsgti.Italic) {
#if LOG4NET && MSG_DEBUG
_Logger.Debug("AddMessage(): fmsgti.Italic is true");
#endif
tags.Add(ItalicTag);
}
if (tags.Count > 0) {
buffer.InsertWithTags(ref iter, fmsgti.Text, tags.ToArray());
} else {
buffer.Insert(ref iter, fmsgti.Text);
}
}