Пример #1
0
 public override bool Evaluate(
     object @object
     )
 {
     elements.Add(ArticleElement.Wrap((PdfDirectObject)@object));
     return(false);
 }
Пример #2
0
        public bool Remove(
            ArticleElement @object
            )
        {
            if (!Contains(@object))
            {
                return(false);
            }

            Unlink(@object.BaseDataObject);
            return(true);
        }
Пример #3
0
        public int IndexOf(
            ArticleElement @object
            )
        {
            if (@object == null)
            {
                return(-1); // NOTE: By definition, no bead can be null.
            }
            ElementIndexer indexer = new ElementIndexer(@object.BaseDataObject);

            Iterate(indexer);
            return(indexer.Index);
        }
Пример #4
0
        public void Add(
            ArticleElement @object
            )
        {
            PdfDictionary itemBead  = @object.BaseDataObject;
            PdfDictionary firstBead = FirstBead;

            if (firstBead != null) // Non-empty list.
            {
                Link(itemBead, firstBead);
            }
            else // Empty list.
            {
                FirstBead = itemBead;
                Link(itemBead, itemBead);
            }
        }
Пример #5
0
        public ArticleElement this[
            int index
        ]
        {
            get
            {
                if (index < 0)
                {
                    throw new ArgumentOutOfRangeException();
                }

                ElementGetter getter = new ElementGetter(index);
                Iterate(getter);
                PdfDictionary bead = getter.Bead;
                if (bead == null)
                {
                    throw new ArgumentOutOfRangeException();
                }

                return(ArticleElement.Wrap(bead.Reference));
            }
            set
            { throw new NotImplementedException(); }
        }
Пример #6
0
        public void Insert(
            int index,
            ArticleElement @object
            )
        {
            if (index < 0)
            {
                throw new ArgumentOutOfRangeException();
            }

            ElementGetter getter = new ElementGetter(index);

            Iterate(getter);
            PdfDictionary bead = getter.Bead;

            if (bead == null)
            {
                Add(@object);
            }
            else
            {
                Link(@object.BaseDataObject, bead);
            }
        }
Пример #7
0
 public bool Contains(
     ArticleElement @object
     )
 {
     return(IndexOf(@object) >= 0);
 }