Пример #1
0
        /**
         * Creates a default view pane for the specified tab ID.
         */

        private void CreateDefaultPane(string tabId, string[] tabResourceTypes, int tabLinkType)
        {
            ViewsCategoriesPane pane = new ViewsCategoriesPane();

            pane.RootResource = Core.ResourceTreeManager.ResourceTreeRoot;

            ContentTypeFilter filter = new ContentTypeFilter();

            if (tabResourceTypes != null)
            {
                string[] filterTypes = new string [tabResourceTypes.Length + 1];
                filterTypes [0] = "WorkspaceOtherView";
                Array.Copy(tabResourceTypes, 0, filterTypes, 1, tabResourceTypes.Length);
                filter.SetFilter(filterTypes, tabLinkType);
            }
            else
            {
                filter.SetFilter(tabResourceTypes, tabLinkType);
            }
            pane.AddContentTypes(tabResourceTypes);
            pane.AddNodeFilter(filter);
            pane.ShowWorkspaceOtherView = true;

            AddPane(tabId, StandardViewPanes.ViewsCategories, pane, "Views and Categories", _defaultPaneImage);
        }
Пример #2
0
        internal void PrepareData(IWin32Window ownerWindow, IResourceList resList)
        {
            CategoryManager mgr = Core.CategoryManager as CategoryManager;

            _resList = resList;

            _propCategory = mgr.PropCategory;

            RestoreSettings();

            _contentTypes = resList.GetAllTypes();

            _contentTypeFilter = new ContentTypeFilter();
            _contentTypeFilter.SetFilter(_contentTypes, -1);
            _categoryTree.AddNodeFilter(_contentTypeFilter);
            _categoryTree.AddNodeFilter(new CategoryNodeFilter());

            _categoryTree.ThreeStateCheckboxes = true;
            _categoryTree.ParentProperty       = Core.Props.Parent;
            _categoryTree.OpenProperty         = mgr.PropCategoryExpanded;
            _categoryTree.RootResource         = Core.ResourceTreeManager.ResourceTreeRoot;
            _categoryTree.ShowContextMenu      = false;

            if (resList.Count == 1)
            {
                _lblResource.Resource = resList [0];
            }
            else
            {
                _lblCategoriesFor.Text = "Categories for " + resList.Count + " resources:";
                _lblResource.Visible   = false;
            }

            if (_categoryTree.SelectedNode == null && _categoryTree.Nodes.Count > 0)
            {
                _categoryTree.SelectedNode = _categoryTree.Nodes [0];
            }
            UpdateButtonState();

            _categoryTree.Focus();
        }