protected override void OnIntelliPromptSmartTagClicked(EventArgs e) { ToolStripDropDownClosedEventHandler handler = null; SmartTag tag = base.get_IntelliPrompt().get_SmartTag().get_ActiveSmartTag(); if ((tag != null) && (tag.get_Tag() is NamespaceCompletionData)) { string str; if (base.get_IntelliPrompt().get_MemberList().get_Visible()) { base.get_IntelliPrompt().get_MemberList().Abort(); } base.get_IntelliPrompt().get_SmartTag().set_AutoHideTimeout(0xea60); NamespaceCompletionData data = (NamespaceCompletionData)tag.get_Tag(); ContextMenuStrip strip = new ContextMenuStrip(); foreach (NamespaceSuggestion suggestion in data.Suggestions) { NamespaceSuggestion localItem = suggestion; str = (localItem.ExtraReference == null) ? "" : (" (in " + Path.GetFileName(localItem.ExtraReference) + ")"); strip.Items.Add("using " + localItem.Namespace + str, null, delegate(object sender, EventArgs e) { if (localItem.CaseFixedIdentifier != null) { this.get_Document().ReplaceText(0, new TextRange(data.Offset, data.Offset + data.Length), localItem.CaseFixedIdentifier); } MainForm.Instance.AddNamespaceToQuery(localItem.Namespace); if (localItem.ExtraReference != null) { MainForm.Instance.AddReferenceToQuery(localItem.ExtraReference, true); } this.get_IntelliPrompt().get_SmartTag().Hide(); this.get_IntelliPrompt().get_SmartTag().Clear(); this.AddedNamespace(); }); } strip.Items.Add("-"); foreach (NamespaceSuggestion suggestion in data.Suggestions) { NamespaceSuggestion localItem = suggestion; str = (localItem.ExtraReference == null) ? "" : (" (in " + Path.GetFileName(localItem.ExtraReference) + ")"); strip.Items.Add(localItem.Namespace + "." + (localItem.CaseFixedIdentifier ?? data.Identifier) + str, null, delegate(object sender, EventArgs e) { this.get_Document().ReplaceText(0, new TextRange(data.Offset, data.Offset + data.Length), localItem.Namespace + "." + (localItem.CaseFixedIdentifier ?? data.Identifier)); if (localItem.ExtraReference != null) { MainForm.Instance.AddReferenceToQuery(localItem.ExtraReference, true); } this.AddedNamespace(); }); } if (handler == null) { handler = (sender, e) => base.get_IntelliPrompt().get_SmartTag().set_AutoHideTimeout(0x2710); } strip.Closed += handler; strip.Items[0].Select(); Rectangle rectangle = base.get_IntelliPrompt().get_SmartTag().get_DesktopBounds(); strip.Show(rectangle.X, rectangle.Y + rectangle.Height); } base.OnIntelliPromptSmartTagClicked(e); }
public ICompletionData CreateNamespaceCompletionData(INamespace ns) { var cd = new NamespaceCompletionData(ns); return cd; }
public ICompletionData CreateNamespaceCompletionData(INamespace ns) { var cd = new NamespaceCompletionData(ns); return(cd); }