Ejemplo n.º 1
0
        protected virtual void SetupElement(
            ElementBase elem,
            InfContentsElem17 cttElem,
            InfElementsElemContainer17 elElem)
        {
            elem.TitleTextId = elElem._elem.titleTextId;
            elem.Deleted     = cttElem != null && cttElem.deleted != 0;

            elem.TemplateId = elElem._elem.templateId;
            elem.ConceptId  = elElem._elem.conceptId;

            // elem.OnComponentPosChanged(-1, ComponentPos);
            elem.ComponentPos = elElem._elem.componPos;
            // elem.AFactor = elElem._elem.AFactor;

            if (cttElem != null)
            {
                elem.ParentId      = cttElem.parentId;
                elem.FirstChildId  = cttElem.firstChildId;
                elem.LastChildId   = cttElem.lastChildId;
                elem.NextSiblingId = cttElem.nextSiblingId;
                elem.PrevSiblingId = cttElem.prevSiblingId;

                elem.DescendantCount = cttElem.descendantCount;
                elem.ChildrenCount   = cttElem.childrenCount;
            }
        }
Ejemplo n.º 2
0
        protected virtual ElementFieldFlags UpdateElement(
            ElementBase elem,
            InfContentsElem17 cttElem,
            InfElementsElemContainer17 elElem)
        {
#if DEBUG && !DEBUG_IN_PROD
            LogTo.Debug("[{0} {1}] Updating",
                        elem.GetType().Name,
                        elem.Id);
#endif

            ElementFieldFlags flags = ElementFieldFlags.None;

            void UpdateFlag(object sender, PropertyChangedEventArgs e)
            {
                var fieldFlag = ElementBase.FieldFlagMapping.SafeGet(e.PropertyName);

                flags |= fieldFlag;
            }

            elem.PropertyChanged += UpdateFlag;

            if (elElem != null)
            {
                elem.TitleTextId = elElem._elem.titleTextId;

                elem.TemplateId = elElem._elem.templateId;
                elem.ConceptId  = elElem._elem.conceptId;

                elem.ComponentPos = elElem._elem.componPos;
                // elem.AFactor = elElem._elem.AFactor
            }

            if (cttElem != null)
            {
                elem.Deleted = cttElem.deleted != 0;

                elem.ParentId      = cttElem.parentId;
                elem.FirstChildId  = cttElem.firstChildId;
                elem.LastChildId   = cttElem.lastChildId;
                elem.NextSiblingId = cttElem.nextSiblingId;
                elem.PrevSiblingId = cttElem.prevSiblingId;

                elem.DescendantCount = cttElem.descendantCount;
                elem.ChildrenCount   = cttElem.childrenCount;
            }

            elem.PropertyChanged -= UpdateFlag;

            elem.OnUpdated(flags);

            return(flags);
        }
Ejemplo n.º 3
0
        protected virtual void Commit(int id,
                                      InfContentsElem17 cttElem,
                                      InfElementsElemContainer17 elElem)
        {
            var el = _getElementFunc(id);

            if (el != null)
            {
                var flags = UpdateElement(el, cttElem, elElem);

                _onElementUpdatedCallback(el, flags);
            }

            else
            {
                el = _createFunc(id, (ElementType)elElem._elem.elementType);

                SetupElement(el, cttElem, elElem);

                _onElementCreatedCallback(el);
            }
        }