MonoDevelop.Ide.CodeCompletion.TooltipInformationWindow.AddOverload C# (CSharp) Method

AddOverload() public method

public AddOverload ( MonoDevelop.Ide.CodeCompletion.CompletionData data, CancellationToken cancelToken ) : Task
data MonoDevelop.Ide.CodeCompletion.CompletionData
cancelToken System.Threading.CancellationToken
return Task
		public async Task AddOverload (CompletionData data, CancellationToken cancelToken)
		{
			try {
				var tooltipInformation = await data.CreateTooltipInformation (false, cancelToken);
				if (tooltipInformation == null || tooltipInformation.IsEmpty || cancelToken.IsCancellationRequested)
					return;

				using (var layout = new Pango.Layout (PangoContext)) {
					layout.FontDescription = Theme.Font;
					layout.SetMarkup (tooltipInformation.SignatureMarkup);
					int w, h;
					layout.GetPixelSize (out w, out h);
					if (w >= Allocation.Width - 10) {
						tooltipInformation = await data.CreateTooltipInformation (true, cancelToken);
					}
				}
				if (cancelToken.IsCancellationRequested)
					return;
				AddOverload (tooltipInformation);
			} catch (Exception e) {
				LoggingService.LogError ("Error while adding overload : " + data, e);
			}
		}

Same methods

TooltipInformationWindow::AddOverload ( MonoDevelop.Ide.CodeCompletion.TooltipInformation tooltipInformation ) : void

Usage Example

Exemplo n.º 1
0
		protected override Window CreateTooltipWindow (TextEditor editor, int offset, Gdk.ModifierType modifierState, TooltipItem item)
		{
			var doc = IdeApp.Workbench.ActiveDocument;
			if (doc == null)
				return null;

			var titem = item.Item as TTI;

			if (titem == null)
				return null;

			var result = new TooltipInformationWindow ();
			result.ShowArrow = true;

			foreach(var i in AmbiguousType.TryDissolve(titem.t))
			{
				if (i == null)
					continue;
				var tooltipInformation = TooltipInfoGen.Create(i, editor.ColorStyle);
				if (tooltipInformation != null && !string.IsNullOrEmpty(tooltipInformation.SignatureMarkup))
					result.AddOverload(tooltipInformation);
			}

			if (result.Overloads < 1) {
				result.Dispose ();
				return null;
			}

			result.RepositionWindow ();
			return result;
		}
All Usage Examples Of MonoDevelop.Ide.CodeCompletion.TooltipInformationWindow::AddOverload