public void FixedSrcBuilder_ThrowsException_when_not_full()
        {
            bool caught = false;

            try
            {
                var b1 = new VA.ShapeSheet.Streams.SrcStreamArrayBuilder(1);
                var s1 = b1.ToStreamArray();
            }
            catch (System.ArgumentException e)
            {
                caught = true;
            }

            if (!caught)
            {
                Assert.Fail("Did not catch expected exception");
            }

            var b2     = new VA.ShapeSheet.Streams.SidSrcStreamArrayBuilder(1);
            var src    = new Src((short)0, (short)0, (short)0);
            var sidsrc = new SidSrc((short)0, src);

            b2.Add(sidsrc);
            var s2 = b2.ToStreamArray();
        }
예제 #2
0
        private IEnumerable <Internal.QueryCellInfo> _enum_total_cellinfo(int shapeid, int shapeindex)
        {
            // enum Cells
            foreach (var col in this.Cells)
            {
                var sidsrc = new SidSrc((short)shapeid, col.Src);

                var cellinfo = new Internal.QueryCellInfo(sidsrc, col);
                yield return(cellinfo);
            }

            // enum SubQueries
            if (this._cache.CountShapes > 0)
            {
                var section_infos = _cache.GetSectionInfosForShapeAtIndex(shapeindex);
                foreach (var section_info in section_infos)
                {
                    foreach (int rowindex in section_info.RowIndexes)
                    {
                        foreach (var col in section_info.SubQuery.Columns)
                        {
                            var src = new VisioAutomation.ShapeSheet.Src(
                                (short)section_info.SubQuery.SectionIndex,
                                (short)rowindex,
                                col.CellIndex);
                            var sidsrc   = new VisioAutomation.ShapeSheet.SidSrc((short)shapeid, src);
                            var cellinfo = new Internal.QueryCellInfo(sidsrc, col);
                            yield return(cellinfo);
                        }
                    }
                }
            }
        }
        public void Add(SidSrc sidsrc, string value)
        {
            _check_for_sidsrc();
            var item = new WriteRecord(sidsrc, value);

            this._items.Add(item);
        }
예제 #4
0
 private IEnumerable <Internal.QueryCellInfo> _enum_total_cellinfo(int shapeid)
 {
     foreach (var col in this.Columns)
     {
         var sidsrc   = new SidSrc((short)shapeid, col.Src);
         var cellinfo = new Internal.QueryCellInfo(sidsrc, col);
         yield return(cellinfo);
     }
 }
예제 #5
0
        public void SetResult(SidSrc sidsrc, CellValueLiteral result)
        {
            if (this._resultRecords == null)
            {
                this._resultRecords = new WriteCache <SidSrc>();
            }

            this._resultRecords.Add(sidsrc, result.Value);
        }
예제 #6
0
        private void __SetValueIgnoreNull(SidSrc sidsrc, CellValueLiteral formula)
        {
            if (this._records == null)
            {
                this._records = new WriteRecordList(StreamType.SidSrc);
            }

            if (formula.HasValue)
            {
                this._records.Add(sidsrc, formula.Value);
            }
        }
예제 #7
0
        private void __SetFormulaIgnoreNull(SidSrc sidsrc, CellValueLiteral formula)
        {
            if (this._formulaRecords == null)
            {
                this._formulaRecords = new WriteCache <SidSrc>();
            }

            if (formula.HasValue)
            {
                this._formulaRecords.Add(sidsrc, formula.Value);
            }
        }
예제 #8
0
 public void SetValue(SidSrc sidsrc, CellValueLiteral formula)
 {
     this.__SetValueIgnoreNull(sidsrc, formula);
 }
예제 #9
0
        public void SetValue(short id, Src src, CellValueLiteral formula)
        {
            var sidsrc = new SidSrc(id, src);

            this.__SetValueIgnoreNull(sidsrc, formula);
        }
예제 #10
0
        public void SetResult(short id, Src src, CellValueLiteral result)
        {
            var sidsrc = new SidSrc(id, src);

            this.SetResult(sidsrc, result.Value);
        }
예제 #11
0
 public WriteRecord(SidSrc sidsrc, string value)
 {
     this.SidSrc = sidsrc;
     this.Value  = value;
 }
예제 #12
0
 public WriteRecord(Src src, string value)
 {
     this.SidSrc = new SidSrc(-1, src);
     this.Value  = value;
 }
예제 #13
0
 public QueryCellInfo(SidSrc sidsrc, ColumnBase col)
 {
     this.SidSrc = sidsrc;
     this.Column = col;
 }