Beispiel #1
0
        void DisplayUnusedAcronyms(bool expand) //... as assessed in CheckForUnusedAcronyms
        {
            treeAcronyms.BeginUnboundLoad();

            //store which nodes are expanded, the focused node and the first visible node
            List <string> expandedNodesIDs = new List <string>();
            string        focusedNodeID    = string.Empty;
            string        topVisibleNodeID = string.Empty;

            AcronymManager.StoreNodeStates(treeAcronyms, ref expandedNodesIDs, ref focusedNodeID, ref topVisibleNodeID);

            treeAcronyms.Nodes.Clear();

            TreeListNode typeNode  = null;
            TreeListNode levelNode = null;

            foreach (VarConfig.AcronymRow acroRow in _acronymsToDisplay)
            {
                VarConfig.AcronymTypeRow typeRow = acroRow.AcronymLevelRow.AcronymTypeRow;
                if (typeNode == null || !(typeNode.Tag as VarConfig.AcronymTypeRow).Equals(typeRow))
                {
                    typeNode = treeAcronyms.AppendNode(null, null);
                    typeNode.SetValue(colAcronym, typeRow.LongName.ToUpper() + " (" + typeRow.ShortName.ToUpper() + ")");
                    typeNode.Tag = typeRow;
                }

                VarConfig.AcronymLevelRow levelRow = acroRow.AcronymLevelRow;
                if (levelNode == null || !(levelNode.Tag as VarConfig.AcronymLevelRow).Equals(levelRow))
                {
                    levelNode = treeAcronyms.AppendNode(null, typeNode);
                    levelNode.SetValue(colAcronym, levelRow.Name);
                    levelNode.Tag = levelRow;
                }

                TreeListNode acroNode = treeAcronyms.AppendNode(null, levelNode);
                acroNode.SetValue(colAcronym, acroRow.Description + " (" + acroRow.Name.ToUpper() + ")");
                acroNode.SetValue(colDeleteAcronyms, true);
                acroNode.Tag = acroRow;
            }

            //restore collapse/expanded, focused and first visible node states
            AcronymManager.RestoreNodeStates(treeAcronyms, expandedNodesIDs, focusedNodeID, topVisibleNodeID);

            treeAcronyms.EndUnboundLoad();

            colAcronym.BestFit();
            colDeleteAcronyms.BestFit();
            if (expand)
            {
                treeAcronyms.ExpandAll(); //initially, i.e. if called from btnLoad_Click, expand all nodes
            }
        }