Ejemplo n.º 1
0
 protected ClassViewToolWindowBase(IServiceProvider serviceProvider, bool searchOnly)
     : base(serviceProvider)
 {
     this._searchOnly = searchOnly;
     this._searchMode = ClassViewToolWindowSearchMode.TypeName;
     if (!searchOnly)
     {
         this._mode = ClassViewToolWindowMode.Browse;
     }
     else
     {
         this._mode = ClassViewToolWindowMode.Search;
     }
     this.InitializeComponent();
 }
Ejemplo n.º 2
0
        bool ICommandHandler.HandleCommand(Microsoft.Matrix.UIComponents.Command command)
        {
            bool flag = false;
            bool flag2 = false;
            bool flag3 = false;
            if (command.CommandGroup == typeof(ClassViewCommands))
            {
                switch (command.CommandID)
                {
                    case 1:
                    {
                        ClassViewProjectData projectData = this._project.ProjectData;
                        ICollection assemblyEntries = projectData.AssemblyEntries;
                        ArrayList list = new ArrayList(assemblyEntries.Count);
                        foreach (ClassViewProjectData.AssemblyEntry entry in assemblyEntries)
                        {
                            try
                            {
                                list.Add(entry.AssemblyName);
                                continue;
                            }
                            catch
                            {
                                continue;
                            }
                        }
                        AssemblyName[] initialList = (AssemblyName[]) list.ToArray(typeof(AssemblyName));
                        IUIService service = (IUIService) base.ServiceProvider.GetService(typeof(IUIService));
                        AssemblySelectionDialog form = new AssemblySelectionDialog(base.ServiceProvider, initialList);
                        if (service.ShowDialog(form) == DialogResult.OK)
                        {
                            projectData.ClearAssemblyEntries();
                            foreach (AssemblyName name in form.SelectedAssemblies)
                            {
                                projectData.AddAssemblyEntry(name);
                            }
                            flag3 = true;
                        }
                        flag = true;
                        break;
                    }
                    case 2:
                        if (this.Mode != ClassViewToolWindowMode.Browse)
                        {
                            ClassViewListViewItem item2 = (ClassViewListViewItem) this._listView.SelectedItems[0];
                            TypeProjectItem projectItem = item2.ProjectItem;
                            this.OpenTypeView(projectItem.Type);
                        }
                        else
                        {
                            ClassViewTreeNode selectedNode = this._treeView.SelectedNode as ClassViewTreeNode;
                            if (selectedNode != null)
                            {
                                TypeProjectItem item = selectedNode.ProjectItem as TypeProjectItem;
                                if (item != null)
                                {
                                    this.OpenTypeView(item.Type);
                                }
                            }
                        }
                        flag = true;
                        break;

                    case 5:
                    {
                        if (this._searchTask != null)
                        {
                            TypeSearchTask task = this._searchTask;
                            this._searchTask = null;
                            task.Cancel();
                        }
                        string searchValue = command.Text.Trim();
                        if (searchValue.Length != 0)
                        {
                            this._listView.Items.Clear();
                            if ((this.SearchMode == ClassViewToolWindowSearchMode.MemberName) && !searchValue.StartsWith("::"))
                            {
                                searchValue = "::" + searchValue;
                            }
                            TypeSearchTask searchTask = TypeSearchTask.CreateSearchTask(this._project.ProjectData, searchValue);
                            if (searchTask != null)
                            {
                                this.PerformSearch(searchTask);
                            }
                            else
                            {
                                IMxUIService service2 = (IMxUIService) this.GetService(typeof(IMxUIService));
                                if (service2 != null)
                                {
                                    string error = "The specified search string did not have a valid syntax.\r\n\r\nUse the following syntax to define your search criteria:\r\n<TypeName> - Search for types by their name.\r\n<Namespace>.<TypeName> - Search for types by their full name.\r\n::<MemberName> - Search for types containing a matching field, property, event or method.";
                                    service2.ReportError(error, "Type Search", true);
                                }
                            }
                        }
                        flag = true;
                        break;
                    }
                    case 6:
                        this.SearchMode = ClassViewToolWindowSearchMode.TypeName;
                        flag = true;
                        flag2 = true;
                        break;

                    case 7:
                        this.SearchMode = ClassViewToolWindowSearchMode.MemberName;
                        flag = true;
                        flag2 = true;
                        break;

                    case 10:
                        this._project.ProjectData.SortMode = ClassViewProjectSortMode.Alphabetical;
                        flag3 = true;
                        flag = true;
                        break;

                    case 11:
                        this._project.ProjectData.SortMode = ClassViewProjectSortMode.ByClassType;
                        flag3 = true;
                        flag = true;
                        break;

                    case 12:
                        this._project.ProjectData.SortMode = ClassViewProjectSortMode.ByClassVisibility;
                        flag3 = true;
                        flag = true;
                        break;

                    case 13:
                        this._project.ProjectData.ViewMode = ClassViewProjectViewMode.Assembly;
                        if (this.Mode != ClassViewToolWindowMode.Browse)
                        {
                            this.Mode = ClassViewToolWindowMode.Browse;
                            flag2 = true;
                        }
                        flag3 = true;
                        flag = true;
                        break;

                    case 14:
                        this._project.ProjectData.ViewMode = ClassViewProjectViewMode.Namespace;
                        if (this.Mode != ClassViewToolWindowMode.Browse)
                        {
                            this.Mode = ClassViewToolWindowMode.Browse;
                            flag2 = true;
                        }
                        flag3 = true;
                        flag = true;
                        break;

                    case 15:
                        if (this.Mode != ClassViewToolWindowMode.Search)
                        {
                            this.Mode = ClassViewToolWindowMode.Search;
                            flag2 = true;
                        }
                        flag = true;
                        break;

                    case 0x10:
                        this._project.ProjectData.ShowNonPublicMembers = !this._project.ProjectData.ShowNonPublicMembers;
                        flag3 = true;
                        flag = true;
                        break;
                }
            }
            if (flag3)
            {
                this.LoadTree(true);
                return flag;
            }
            if (flag2)
            {
                this.UpdateCommands();
            }
            return flag;
        }