public override void BuildNode(ITreeBuilder treeBuilder, object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf closedIcon) { IEvent data = dataObject as IEvent; label = AmbienceService.GetAmbience(data).GetString(data, OutputFlags.ClassBrowserEntries | OutputFlags.IncludeMarkup); icon = Context.GetIcon(data.StockIcon); }
public string GetComponentTypeOf(Func <string, string> callback, string varName) { if (callback == null) { return("var"); } string var = callback(varName); ITextEditorResolver textEditorResolver = CurrentContext.Document.GetContent <ITextEditorResolver> (); if (textEditorResolver != null) { ResolveResult result = textEditorResolver.GetLanguageItem(CurrentContext.Document.TextEditor.CursorPosition, var); if (result != null) { IReturnType componentType = DomType.GetComponentType(CurrentContext.ProjectDom, result.ResolvedType); if (componentType != null) { Ambience ambience = AmbienceService.GetAmbience(CurrentContext.Template.MimeType); return(ambience != null?ambience.GetString(componentType, OutputFlags.IncludeGenerics) : componentType.ToInvariantString()); } } } return("var"); }
public TypeDataProvider(MonoDevelop.Projects.DotNetProject project) { var ctx = TypeSystemService.GetCompilation(project); List = new List <ITypeDefinition> (ctx.MainAssembly.GetAllTypeDefinitions()); this.ambience = AmbienceService.GetAmbience(project.LanguageName); }
public ImportSymbolCompletionData(MonoDevelop.Ide.Gui.Document doc, ImportSymbolCache cache, IType type) { this.doc = doc; this.cache = cache; // this.data = doc.Editor; this.ambience = AmbienceService.GetAmbience(doc.Editor.MimeType); this.type = type; this.unit = doc.ParsedDocument; }
public ImportSymbolCompletionData(MonoDevelop.Ide.Gui.Document doc, ImportSymbolCache cache, IType type) { this.doc = doc; this.cache = cache; // this.data = doc.Editor; this.ambience = AmbienceService.GetAmbience(doc.Editor.MimeType); this.type = type; this.unit = doc.ParsedDocument; this.DisplayFlags |= ICSharpCode.NRefactory.Completion.DisplayFlags.IsImportCompletion; }
public LanguageItemWindow(ExtensibleTextEditor ed, Gdk.ModifierType modifierState, ResolveResult result, string errorInformations, ICompilationUnit unit) { ProjectDom dom = ed.ProjectDom; Ambience ambience = AmbienceService.GetAmbience(ed.Document.MimeType); string tooltip = null; if (result != null && ed.TextEditorResolverProvider != null) { tooltip = ed.TextEditorResolverProvider.CreateTooltip(dom, unit, result, errorInformations, ambience, modifierState); if (result.ResolveErrors.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append(tooltip); sb.AppendLine(); sb.AppendLine(); sb.AppendLine(GettextCatalog.GetPluralString("Error:", "Errors:", result.ResolveErrors.Count)); for (int i = 0; i < result.ResolveErrors.Count; i++) { sb.Append('\t'); sb.Append(result.ResolveErrors[i]); if (i + 1 < result.ResolveErrors.Count) { sb.AppendLine(); } } tooltip = sb.ToString(); } } else { tooltip = errorInformations; } if (string.IsNullOrEmpty(tooltip)) { IsEmpty = true; return; } var label = new MonoDevelop.Components.FixedWidthWrapLabel() { Wrap = Pango.WrapMode.WordChar, Indent = -20, BreakOnCamelCasing = true, BreakOnPunctuation = true, Markup = tooltip, }; this.BorderWidth = 3; Add(label); UpdateFont(label); EnableTransparencyControl = true; }
public TypeDataProvider(MonoDevelop.Projects.DotNetProject project) { TypeNamesList = new List <string> (); var ctx = TypeSystemService.GetCompilation(project); TypesList = new List <ITypeDefinition> (ctx.MainAssembly.GetAllTypeDefinitions()); this.ambience = AmbienceService.GetAmbience(project.LanguageName); foreach (var typeDef in TypesList) { TypeNamesList.Add(ambience.GetString((IEntity)typeDef, OutputFlags.IncludeGenerics | OutputFlags.UseFullName | OutputFlags.IncludeMarkup)); } }
public LanguageItemWindow(ExtensibleTextEditor ed, Gdk.ModifierType modifierState, ResolveResult result, string errorInformations, IParsedFile unit) { Ambience ambience = AmbienceService.GetAmbience(ed.Document.MimeType); string tooltip = null; if (result is UnknownIdentifierResolveResult) { tooltip = string.Format("error CS0103: The name `{0}' does not exist in the current context", ((UnknownIdentifierResolveResult)result).Identifier); } else if (result is UnknownMemberResolveResult) { var ur = (UnknownMemberResolveResult)result; if (ur.TargetType.Kind != TypeKind.Unknown) { tooltip = string.Format("error CS0117: `{0}' does not contain a definition for `{1}'", ur.TargetType.FullName, ur.MemberName); } } else if (result != null && ed.TextEditorResolverProvider != null) { tooltip = ed.TextEditorResolverProvider.CreateTooltip(unit, result, errorInformations, ambience, modifierState); // TODO: Type sysetm conversion. (btw. this isn't required because the analyzer should provide semantic error messages.) // if (result.ResolveErrors.Count > 0) { // StringBuilder sb = new StringBuilder (); // sb.Append (tooltip); // sb.AppendLine (); // sb.AppendLine (); // sb.AppendLine (GettextCatalog.GetPluralString ("Error:", "Errors:", result.ResolveErrors.Count)); // for (int i = 0; i < result.ResolveErrors.Count; i++) { // sb.Append ('\t'); // sb.Append (result.ResolveErrors[i]); // if (i + 1 < result.ResolveErrors.Count) // sb.AppendLine (); // } // tooltip = sb.ToString (); // } } else { tooltip = errorInformations; } if (string.IsNullOrEmpty(tooltip) || tooltip == "?") { IsEmpty = true; return; } var label = new MonoDevelop.Components.FixedWidthWrapLabel() { Wrap = Pango.WrapMode.WordChar, Indent = -20, BreakOnCamelCasing = true, BreakOnPunctuation = true, Markup = tooltip, }; this.BorderWidth = 3; Add(label); UpdateFont(label); EnableTransparencyControl = true; }