예제 #1
0
        public void TestLocTreeItem()
        {
            var         logRepository = _lifetimeScope.Resolve <ILocationViewModel>();
            LocTreeNode locTreeItem   = logRepository.LocTreeItem;

            Assert.AreEqual("TestAddress", locTreeItem.Source.Address);
        }
        public void LocalizedStringCache_LoadGroupNodes_DoesntLoadNoLongerUsedUnitsUIEnglish()
        {
            using (var folder = new TempFolder("LoadGroupNodes_EnglishTMXHasNoLongerUsedProperty_ArabicDoesnt_NoLongerUsedWins_EnglishUI"))
            {
                // Add a "generated" TMX for a lower version to force regeneration
                Directory.CreateDirectory(GetGeneratedDirectory(folder));
                AddEnglishTmx(GetGeneratedDirectory(folder), LowerVersion);

                SetupManager(folder, "en");
                var mgr      = LocalizationManager.LoadedManagers[AppId];
                var treeView = new TreeView();
                var node     = new LocTreeNode(mgr, mgr.Name, null, mgr.Name);
                treeView.Nodes.Add(node);
                var treeNodes = node.Nodes;
                mgr.StringCache.LoadGroupNodes(treeNodes);
                Assert.IsFalse(treeNodes.ContainsKey("notUsedId"));
                Assert.IsTrue(treeNodes.ContainsKey("theId"));
            }
        }
예제 #3
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Loads the specified tree node collection with all the string groups and their
        /// localizable string ids.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public void LoadGroupNodes(TreeNodeCollection topCollection)
        {
            TmxDocument.Body.TransUnits.Sort(TuComparer);
            LeafNodeList.Clear();

            foreach (var tu in GetTranslationUnitsForTree())
            {
                string id = GetBaseId(tu.Id);
                if (tu.GetPropValue(kNoLongerUsedPropTag) != null)
                {
                    continue;
                }

                var groupChain     = ParseGroupAndId(GetGroup(tu.Id), id);
                var nodeKey        = String.Empty;
                var nodeCollection = topCollection;
                LocTreeNode <TMXDocument> newNode;

                for (int i = groupChain.Count - 1; i > 0; i--)
                {
                    nodeKey = (nodeKey + "." + groupChain[i]).TrimStart('.');

                    var nodes = nodeCollection.Find(nodeKey, true);
                    if (nodes.Length > 0)
                    {
                        nodeCollection = nodes[0].Nodes;
                    }
                    else
                    {
                        newNode = new LocTreeNode <TMXDocument>(OwningManager, groupChain[i], null, nodeKey);
                        nodeCollection.Add(newNode);
                        nodeCollection = newNode.Nodes;
                    }
                }

                nodeKey = nodeKey + ("." + groupChain[0]).TrimStart('.');
                newNode = new LocTreeNode <TMXDocument>(OwningManager, groupChain[0], id, nodeKey);
                nodeCollection.Add(newNode);
                LeafNodeList.Add(newNode);
            }
        }
예제 #4
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Loads the specified tree node collection with all the string groups and their
        /// localizable string ids.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public void LoadGroupNodes(TreeNodeCollection topCollection)
        {
            LeafNodeList.Clear();

            foreach (var tu in GetTranslationUnitsForTree())
            {
                string id             = GetBaseId(tu.Id);
                var    groupChain     = ParseGroupAndId(GetGroup(tu.Id), id);
                var    nodeKey        = string.Empty;
                var    nodeCollection = topCollection;
                LocTreeNode <XLiffDocument> newNode;

                for (int i = groupChain.Count - 1; i > 0; i--)
                {
                    nodeKey = (nodeKey + "." + groupChain[i]).TrimStart('.');

                    var nodes = nodeCollection.Find(nodeKey, true);
                    if (nodes.Length > 0)
                    {
                        nodeCollection = nodes[0].Nodes;
                    }
                    else
                    {
                        newNode = new LocTreeNode <XLiffDocument>(OwningManager, groupChain[i], null,
                                                                  nodeKey);
                        nodeCollection.Add(newNode);
                        nodeCollection = newNode.Nodes;
                    }
                }

                nodeKey = nodeKey + ("." + groupChain[0]).TrimStart('.');
                newNode = new LocTreeNode <XLiffDocument>(OwningManager, groupChain[0], id, nodeKey);
                nodeCollection.Add(newNode);
                LeafNodeList.Add(newNode);
            }
        }