protected virtual ElementBase CreateInternal(int id,
                                                     InfContentsElem cttElem,
                                                     InfElementsElem elElem)
        {
            switch ((ElementType)elElem.elementType)
            {
            case ElementType.Topic:
                return(new Topic(id,
                                 cttElem,
                                 elElem));

            case ElementType.Item:
                return(new Item(id,
                                cttElem,
                                elElem));

            case ElementType.ConceptGroup:
                return(new ConceptGroup(id,
                                        cttElem,
                                        elElem));

            case ElementType.Task:
                return(new Task(id,
                                cttElem,
                                elElem));
            }

#if DEBUG
            throw new InvalidDataException("Unknown object type");
#else
            return(new Topic(id, cttElem, elElem));
#endif
        }
Esempio n. 2
0
 public Item(int id,
             InfContentsElem cttElem,
             InfElementsElem elElem)
     : base(id,
            cttElem,
            elElem)
 {
 }
Esempio n. 3
0
 public ConceptGroup(int id,
                     InfContentsElem cttElem,
                     InfElementsElem elElem)
     : base(id,
            cttElem,
            elElem)
 {
 }
Esempio n. 4
0
        protected ElementBase(int id,
                              InfContentsElem cttElem,
                              InfElementsElem elElem)
        {
            Id = id;

#if DEBUG && !DEBUG_IN_PROD
            System.Diagnostics.Debug.WriteLine("[{0} {1}] Creating",
                                               GetType().Name,
                                               Id);
#endif

            TitleTextId = SetValue(elElem.titleTextId,
                                   nameof(TitleTextId));
            Deleted = SetValue(cttElem.deleted != 0,
                               nameof(Deleted));

            TemplateId = SetValue(elElem.templateId,
                                  nameof(TemplateId));
            ConceptId = SetValue(elElem.conceptId,
                                 nameof(ConceptId));

            ComponentPos = SetValue(elElem.componPos,
                                    nameof(ComponentPos));
            OnComponentPosChanged(-1,
                                  ComponentPos);
            //AFactor = SetDbg(elElem.AFactor, nameof(AFactor));

            ParentId = SetValue(cttElem.parentId,
                                nameof(ParentId));
            FirstChildId = SetValue(cttElem.firstChildId,
                                    nameof(FirstChildId));
            LastChildId = SetValue(cttElem.lastChildId,
                                   nameof(LastChildId));
            NextSiblingId = SetValue(cttElem.nextSiblingId,
                                     nameof(NextSiblingId));
            PrevSiblingId = SetValue(cttElem.prevSiblingId,
                                     nameof(PrevSiblingId));

            DescendantCount = SetValue(cttElem.descendantCount,
                                       nameof(DescendantCount));
            ChildrenCount = SetValue(cttElem.childrenCount,
                                     nameof(ChildrenCount));
        }