Пример #1
0
        static List <DmTagNodeReversed> GetParentNodes(DmContext context, DmTagNode node)
        {
            List <DmTagNodeReversed> res = new List <DmTagNodeReversed>();

            if (node.Children == null || node.Children.Count == 0)
            {
                res.Add(new DmTagNodeReversed()
                {
                    Tag = node.Tag, Type = node.Type
                });
                context.TagNodesReversed.Add(res[0]);
                return(res);
            }
            foreach (DmTagNode child in node.Children)
            {
                List <DmTagNodeReversed> list = GetParentNodes(context, child);
                foreach (DmTagNodeReversed rchild in list)
                {
                    DmTagNodeReversed rnode = new DmTagNodeReversed()
                    {
                        Tag = node.Tag, Type = node.Type, Parent = rchild
                    };
                    context.TagNodesReversed.Add(rnode);
                    res.Add(rnode);
                }
            }
            return(res);
        }
        private void tlCategories_DoubleClick(object sender, EventArgs e)
        {
            if (File == null)
            {
                return;
            }
            TreeListNode node = this.tlCategories.CalcHitInfo(this.tlCategories.PointToClient(Control.MousePosition)).Node;

            if (node == null)
            {
                return;
            }
            object    item  = this.tlCategories.GetDataRecordByNode(node);
            DmTag     tag   = item as DmTag;
            DmTagNode tnode = item as DmTagNode;

            if (tnode != null)
            {
                tag = tnode.Tag;
            }
            if (File.ContainsTag(tag, TagType))
            {
                XtraMessageBox.Show("This tag has been already added.", SettingsStore.ApplicationName);
            }
            Model.AddKeyword(File, tag, TagType);
            InitializeAddedKeywordsEdit(tag);
        }
Пример #3
0
 void InitializeTags(DmContext context, TagNodeDataSource source)
 {
     foreach (TagNode node in source.Nodes)
     {
         DmTag tag = GetOrCreateTag(context, node);
         node.Tag = tag;
         DmTagNode tagNode = CreateNode(node);
         context.TagNodes.Add(tagNode);
     }
 }
Пример #4
0
        DmTagNode CreateNode(TagNode node)
        {
            DmTagNode dn = new DmTagNode()
            {
                Id = GetTagGuidForId(node.Id), Tag = node.Tag, Type = TagType.Tag
            };

            if (node.ParentId != -1)
            {
                dn.ParentId = GetTagGuidForId(node.ParentId);
            }

            node.Node = dn;
            return(dn);
        }
            public override object GetResultValue()
            {
                DmTagNode node = GetSelectedDataItem() as DmTagNode;

                if (node == null)
                {
                    return(null);
                }
                foreach (TokenEditToken token in OwnerEdit.Properties.Tokens)
                {
                    if (token.Value == node.Tag)
                    {
                        return(token);
                    }
                }
                return(null);
            }
Пример #6
0
 static List <DmTagNodeReversed> ConntectNodeToChildren(DmContext context, DmTagNode node) => GetParentNodes(context, node);