コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
ファイル: AddViewDialog.cs プロジェクト: zheref/monodevelop
            public TypeDataProvider(MonoDevelop.Projects.DotNetProject project)
            {
                var ctx = TypeSystemService.GetCompilation(project);

                List          = new List <ITypeDefinition> (ctx.MainAssembly.GetAllTypeDefinitions());
                this.ambience = AmbienceService.GetAmbience(project.LanguageName);
            }
コード例 #4
0
        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;
        }
コード例 #5
0
        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;
        }
コード例 #6
0
        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;
        }
コード例 #7
0
ファイル: AddViewDialog.cs プロジェクト: slagusev/monodevelop
            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));
                }
            }
コード例 #8
0
        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;
        }