Document DoShow()
        {
            Document result = null;

            foreach (var view in Ide.IdeApp.Workbench.Documents)
            {
                if (view.GetContent <AssemblyBrowserViewContent> () != null)
                {
                    view.Window.SelectWindow();
                    result = view;
                    break;
                }
            }

            if (result == null)
            {
                var binding             = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault();
                var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent();

                assemblyBrowserView.FillWidget();
                result = Ide.IdeApp.Workbench.OpenDocument(assemblyBrowserView, true);
            }
            if (idString != null)
            {
                var view = result.GetContent <AssemblyBrowserViewContent> ();
                view.Widget.suspendNavigation = true;
                view.EnsureDefinitionsLoaded(definitions);
                view.Open(idString, expandNode: false);
            }
            return(result);
        }
Exemple #2
0
        protected override void Run()
        {
            foreach (var view in IdeApp.Workbench.Documents)
            {
                if (view.GetContent <AssemblyBrowserViewContent> () != null)
                {
                    view.Window.SelectWindow();
                    return;
                }
            }
            var binding             = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault();
            var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent();

            assemblyBrowserView.FillWidget();

            IdeApp.Workbench.OpenDocument(assemblyBrowserView, true);
        }
Exemple #3
0
        protected override void Run()
        {
            foreach (var view in IdeApp.Workbench.Documents)
            {
                if (view.GetContent <AssemblyBrowserViewContent> () != null)
                {
                    view.Window.SelectWindow();
                    return;
                }
            }
            var binding             = DisplayBindingService.GetBindings <AssemblyBrowserDisplayBinding> ().FirstOrDefault();
            var assemblyBrowserView = binding != null?binding.GetViewContent() : new AssemblyBrowserViewContent();

            if (Ide.IdeApp.ProjectOperations.CurrentSelectedSolution == null)
            {
                foreach (var assembly in defaultAssemblies)
                {
                    assemblyBrowserView.Widget.AddReferenceByAssemblyName(assembly, assembly == defaultAssemblies [0]);
                }
            }
            else
            {
                foreach (var project in Ide.IdeApp.ProjectOperations.CurrentSelectedSolution.GetAllProjects())
                {
                    assemblyBrowserView.Widget.AddProject(project, false);

                    var netProject = project as DotNetProject;
                    if (netProject == null)
                    {
                        continue;
                    }
                    foreach (string file in netProject.GetReferencedAssemblies(ConfigurationSelector.Default, false))
                    {
                        if (!File.Exists(file))
                        {
                            continue;
                        }
                        assemblyBrowserView.Widget.AddReferenceByFileName(file, false);
                    }
                }
            }

            Ide.IdeApp.Workbench.OpenDocument(assemblyBrowserView, true);
        }
Exemple #4
0
        public IDisplayBinding GetDisplayBinding(FilePath fileName, string mimeType, Project ownerProject)
        {
            string mapping = null;
            var    key     = GetKey(fileName, mimeType);

            if (!mappings.TryGetValue(key, out mapping))
            {
                return(null);
            }

            foreach (var displayBinding in DisplayBindingService.GetBindings <IDisplayBinding> ())
            {
                if (displayBinding.GetType().FullName == mapping)
                {
                    return(displayBinding);
                }
            }

            return(null);
        }
        static IEnumerable <IDisplayBinding> GetDisplayBindings(FilePath filePath, string mimeType, Project ownerProject)
        {
            if (mimeType == null && !filePath.IsNullOrEmpty)
            {
                mimeType = DesktopService.GetMimeTypeForUri(filePath);
            }

            foreach (var b in DisplayBindingService.GetBindings <IDisplayBinding> ())
            {
                bool canHandle = false;
                try {
                    canHandle = b.CanHandle(filePath, mimeType, ownerProject);
                } catch (Exception ex) {
                    LoggingService.LogError("Error while getting display bindings", ex);
                }
                if (canHandle)
                {
                    yield return(b);
                }
            }
        }