本文整理汇总了C#中Mono.TextEditor.CodeSegmentPreviewWindow类的典型用法代码示例。如果您正苦于以下问题:C# CodeSegmentPreviewWindow类的具体用法?C# CodeSegmentPreviewWindow怎么用?C# CodeSegmentPreviewWindow使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
CodeSegmentPreviewWindow类属于Mono.TextEditor命名空间,在下文中一共展示了CodeSegmentPreviewWindow类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HideCodeSegmentPreviewWindow
public void HideCodeSegmentPreviewWindow ()
{
if (previewWindow != null) {
previewWindow.Destroy ();
previewWindow = null;
}
}
示例2: ShowTooltip
void ShowTooltip (TextSegment segment, Rectangle hintRectangle)
{
if (previewWindow != null && previewWindow.Segment == segment)
return;
CancelCodeSegmentTooltip ();
HideCodeSegmentPreviewWindow ();
if (segment.IsInvalid || segment.Length == 0)
return;
codeSegmentTooltipTimeoutId = GLib.Timeout.Add (650, delegate {
previewWindow = new CodeSegmentPreviewWindow (textEditor, false, segment);
if (previewWindow.IsEmptyText) {
previewWindow.Destroy ();
previewWindow = null;
return false;
}
int ox = 0, oy = 0;
this.textEditor.GdkWindow.GetOrigin (out ox, out oy);
ox += textEditor.Allocation.X;
oy += textEditor.Allocation.Y;
int x = hintRectangle.Right;
int y = hintRectangle.Bottom;
previewWindow.CalculateSize ();
var req = previewWindow.SizeRequest ();
int w = req.Width;
int h = req.Height;
var geometry = this.textEditor.Screen.GetUsableMonitorGeometry (this.textEditor.Screen.GetMonitorAtPoint (ox + x, oy + y));
if (x + ox + w > geometry.X + geometry.Width)
x = hintRectangle.Left - w;
if (y + oy + h > geometry.Y + geometry.Height)
y = hintRectangle.Top - h;
int destX = System.Math.Max (0, ox + x);
int destY = System.Math.Max (0, oy + y);
previewWindow.Move (destX, destY);
previewWindow.ShowAll ();
return false;
});
}
示例3: ShowTooltip
void ShowTooltip (ISegment segment, Rectangle hintRectangle)
{
if (previewSegment == segment)
return;
CancelCodeSegmentTooltip ();
HideCodeSegmentPreviewWindow ();
previewSegment = segment;
if (segment == null)
return;
codeSegmentTooltipTimeoutId = GLib.Timeout.Add (650, delegate {
previewWindow = new CodeSegmentPreviewWindow (this.textEditor, false, segment);
int ox = 0, oy = 0;
this.textEditor.GdkWindow.GetOrigin (out ox, out oy);
int x = hintRectangle.Right;
int y = hintRectangle.Bottom;
previewWindow.CalculateSize ();
int w = previewWindow.SizeRequest ().Width;
int h = previewWindow.SizeRequest ().Height;
Gdk.Rectangle geometry = this.textEditor.Screen.GetMonitorGeometry (this.textEditor.Screen.GetMonitorAtPoint (ox + x, oy + y));
if (x + ox + w > geometry.Right)
x = hintRectangle.Left - w;
if (y + oy + h > geometry.Bottom)
y = hintRectangle.Top - h;
int destX = System.Math.Max (0, ox + x);
int destY = System.Math.Max (0, oy + y);
previewWindow.Move (destX, destY);
previewWindow.ShowAll ();
return false;
});
}
示例4: DestroyPreviewWindow
void DestroyPreviewWindow ()
{
if (previewWindow != null) {
previewWindow.Destroy ();
previewWindow = null;
}
}