本文整理匯總了C#中Mono.TextEditor.CodeSegmentPreviewWindow.Destroy方法的典型用法代碼示例。如果您正苦於以下問題:C# CodeSegmentPreviewWindow.Destroy方法的具體用法?C# CodeSegmentPreviewWindow.Destroy怎麽用?C# CodeSegmentPreviewWindow.Destroy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Mono.TextEditor.CodeSegmentPreviewWindow
的用法示例。
在下文中一共展示了CodeSegmentPreviewWindow.Destroy方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: 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;
});
}
示例2: ShowTooltip
void ShowTooltip (ISegment segment, Rectangle hintRectangle)
{
if (previewSegment == segment)
return;
CancelCodeSegmentTooltip ();
HideCodeSegmentPreviewWindow ();
previewSegment = segment;
if (segment == null || segment.Length == 0)
return;
codeSegmentTooltipTimeoutId = GLib.Timeout.Add (650, delegate {
previewWindow = new CodeSegmentPreviewWindow (this.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);
int x = hintRectangle.Right;
int y = hintRectangle.Bottom;
previewWindow.CalculateSize ();
int w = previewWindow.SizeRequest ().Width;
int h = previewWindow.SizeRequest ().Height;
int monitor = this.textEditor.Screen.GetMonitorAtPoint (ox + x + w, oy + y);
Gdk.Rectangle geometry = this.textEditor.Screen.GetUsableMonitorGeometry (monitor);
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;
});
}