List<CodeModule> _Items; // list of code module #endregion Fields #region Constructors internal CodeModules(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { _Items = new List<CodeModule>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; if (xNodeLoop.Name == "CodeModule") { CodeModule cm = new CodeModule(r, this, xNodeLoop); _Items.Add(cm); } else { // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown CodeModules element '" + xNodeLoop.Name + "' ignored."); } } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For CodeModules at least one CodeModule is required."); else _Items.TrimExcess(); }
List<Filter> _Items; // list of Filter #endregion Fields #region Constructors internal Filters(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { Filter f; _Items = new List<Filter>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "Filter": f = new Filter(r, this, xNodeLoop); break; default: f=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown Filters element '" + xNodeLoop.Name + "' ignored."); break; } if (f != null) _Items.Add(f); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "Filters require at least one Filter be defined."); else _Items.TrimExcess(); }
List<TableCell> _Items; // list of TableCell #endregion Fields #region Constructors internal TableCells(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { TableCell tc; _Items = new List<TableCell>(); // Loop thru all the child nodes int colIndex=0; // keep track of the column numbers foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "TableCell": tc = new TableCell(r, this, xNodeLoop, colIndex); colIndex += tc.ColSpan; break; default: tc=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown TableCells element '" + xNodeLoop.Name + "' ignored."); break; } if (tc != null) _Items.Add(tc); } if (_Items.Count > 0) _Items.TrimExcess(); }
List<ChartSeries> _Items; // list of chart series #endregion Fields #region Constructors internal ChartData(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { ChartSeries cs; _Items = new List<ChartSeries>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "ChartSeries": cs = new ChartSeries(r, this, xNodeLoop); break; default: cs=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown ChartData element '" + xNodeLoop.Name + "' ignored."); break; } if (cs != null) _Items.Add(cs); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For ChartData at least one ChartSeries is required."); else _Items.TrimExcess(); }
string _key; // key used for caching value #endregion Fields #region Constructors /// <summary> /// Aggregate function: CountDistinct /// /// Return type is double /// </summary> public FunctionAggrCountDistinct(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "countdistinct" + Interlocked.Increment(ref Parser.Counter).ToString(); dataCache.Add(this); }
List<QueryParameter> _Items; // list of QueryParameter #endregion Fields #region Constructors internal QueryParameters(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { _ContainsArray = false; QueryParameter q; _Items = new List<QueryParameter>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "QueryParameter": q = new QueryParameter(r, this, xNodeLoop); break; default: q=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown QueryParameters element '" + xNodeLoop.Name + "' ignored."); break; } if (q != null) _Items.Add(q); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For QueryParameters at least one QueryParameter is required."); else _Items.TrimExcess(); }
List<GroupExpression> _Items; // list of GroupExpression #endregion Fields #region Constructors internal GroupExpressions(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { GroupExpression g; _Items = new List<GroupExpression>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "GroupExpression": g = new GroupExpression(r, this, xNodeLoop); break; default: g=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown GroupExpressions element '" + xNodeLoop.Name + "' ignored."); break; } if (g != null) _Items.Add(g); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "GroupExpressions require at least one GroupExpression be defined."); else _Items.TrimExcess(); }
List<DataValue> _Items; // list of DataValue #endregion Fields #region Constructors internal DataValues(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { DataValue dv; _Items = new List<DataValue>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "DataValue": dv = new DataValue(r, this, xNodeLoop); break; default: dv=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown DataValues element '" + xNodeLoop.Name + "' ignored."); break; } if (dv != null) _Items.Add(dv); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For DataValues at least one DataValue is required."); else _Items.TrimExcess(); }
internal RowGroupings(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { RowGrouping g; _Items = new List<RowGrouping>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "RowGrouping": g = new RowGrouping(r, this, xNodeLoop); break; default: g=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown RowGroupings element '" + xNodeLoop.Name + "' ignored."); break; } if (g != null) _Items.Add(g); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For RowGroupings at least one RowGrouping is required."); else { _Items.TrimExcess(); _StaticCount = GetStaticCount(); } }
List<StaticMember> _Items; // list of StaticMember #endregion Fields #region Constructors internal StaticCategories(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { StaticMember sm; _Items = new List<StaticMember>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "StaticMember": sm = new StaticMember(r, this, xNodeLoop); break; default: sm=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown StaticCategories element '" + xNodeLoop.Name + "' ignored."); break; } if (sm != null) _Items.Add(sm); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For StaticCategories at least one StaticMember is required."); else _Items.TrimExcess(); }
List<SortBy> _Items; // list of SortBy #endregion Fields #region Constructors internal Sorting(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { SortBy s; _Items = new List<SortBy>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "SortBy": s = new SortBy(r, this, xNodeLoop); break; default: s=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown Sorting element '" + xNodeLoop.Name + "' ignored."); break; } if (s != null) _Items.Add(s); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "Sorting requires at least one SortBy be defined."); else _Items.TrimExcess(); }
List<MatrixRow> _Items; // list of MatrixRow #endregion Fields #region Constructors internal MatrixRows(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { MatrixRow m; _Items = new List<MatrixRow>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "MatrixRow": m = new MatrixRow(r, this, xNodeLoop); break; default: m=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown MatrixRows element '" + xNodeLoop.Name + "' ignored."); break; } if (m != null) _Items.Add(m); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For MatrixRows at least one MatrixRow is required."); else _Items.TrimExcess(); }
float _yOffset; // current y offset; top margin, page header, other details, ... #endregion Fields #region Constructors public Page(int page) { _pageno = page; _items = new List<PageItem>(); _emptyItems = 0; _needSort = false; }
int _StartRow; // Starting row of the group (inclusive) #endregion Fields #region Constructors internal GroupEntry(Grouping g, Sorting s, int start) { _Group = g; _Sort = s; _StartRow = start; _EndRow = -1; _NestedGroup = new List<GroupEntry>(); // Check to see if grouping and sorting are the same if (g == null || s == null) return; // nothing to check if either is null if (s.Items.Count != g.GroupExpressions.Items.Count) return; for (int i = 0; i < s.Items.Count; i++) { SortBy sb = s.Items[i] as SortBy; if (sb.Direction == SortDirectionEnum.Descending) return; // TODO we could optimize this FunctionField ff = sb.SortExpression.Expr as FunctionField; if (ff == null || ff.GetTypeCode() != TypeCode.String) return; GroupExpression ge = g.GroupExpressions.Items[i] as GroupExpression; FunctionField ff2 = ge.Expression.Expr as FunctionField; if (ff2 == null || ff.Fld != ff2.Fld) return; } _Sort = null; // we won't need to sort since the groupby will handle it correctly }
public StreamGen(string directory, string relativeDirectory, string ext) { _Directory = directory; _RelativeDirectory = relativeDirectory; if (_Directory[_Directory.Length-1] == Path.DirectorySeparatorChar || _Directory[_Directory.Length-1] == Path.AltDirectorySeparatorChar) _Directory = _Directory.Substring(0, _Directory.Length-1); // ensure we have a separator before and after the relative directory name if (_RelativeDirectory == null) _RelativeDirectory = Path.DirectorySeparatorChar.ToString(); if (!(_RelativeDirectory[0] == Path.DirectorySeparatorChar || _RelativeDirectory[0] == Path.AltDirectorySeparatorChar)) _RelativeDirectory = Path.DirectorySeparatorChar + _RelativeDirectory; if (!(_RelativeDirectory[_RelativeDirectory.Length-1] == Path.DirectorySeparatorChar || _RelativeDirectory[_RelativeDirectory.Length-1] == Path.AltDirectorySeparatorChar)) _RelativeDirectory = _RelativeDirectory + Path.DirectorySeparatorChar; _FileList = new List<string>(); string relativeName; _io = GetIOStream(out relativeName, ext); _FileName = _Directory + relativeName; _rand = null; }
string _key; // key for cache when scope is dataset we can cache the result #endregion Fields #region Constructors /// <summary> /// Aggregate function: Stdevp = (sqrt(n sum(square(x)) - square((sum(x))) / n*n) /// Stdev assumes values are a sample of the population of data. If the data /// is the entire representation then use Stdevp. /// /// Return type is decimal for decimal expressions and double for all /// other expressions. /// </summary> public FunctionAggrStdevp(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "aggrstdevp" + Interlocked.Increment(ref Parser.Counter).ToString(); dataCache.Add(this); }
List<TableGroup> _Items; // list of TableGroup entries #endregion Fields #region Constructors internal TableGroups(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { TableGroup tg; _Items = new List<TableGroup>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "TableGroup": tg = new TableGroup(r, this, xNodeLoop); break; default: tg=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown TableGroups element '" + xNodeLoop.Name + "' ignored."); break; } if (tg != null) _Items.Add(tg); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For TableGroups at least one TableGroup is required."); else _Items.TrimExcess(); }
List<SubreportParameter> _Items; // list of SubreportParameter #endregion Fields #region Constructors internal SubReportParameters(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { SubreportParameter rp; _Items = new List<SubreportParameter>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "Parameter": rp = new SubreportParameter(r, this, xNodeLoop); break; default: rp=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown SubreportParameters element '" + xNodeLoop.Name + "' ignored."); break; } if (rp != null) _Items.Add(rp); } if (_Items.Count > 0) _Items.TrimExcess(); }
List<SeriesGrouping> _Items; // list of SeriesGrouping #endregion Fields #region Constructors internal SeriesGroupings(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { SeriesGrouping sg; _Items = new List<SeriesGrouping>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "SeriesGrouping": sg = new SeriesGrouping(r, this, xNodeLoop); break; default: sg=null; // don't know what this is break; } if (sg != null) _Items.Add(sg); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For SeriesGroupings at least one SeriesGrouping is required."); else _Items.TrimExcess(); }
internal DialogValidValues(List<ParameterValueItem> list) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Initialize form using the style node values InitValues(list); }
internal DrawEllipse(Single Xin, Single Yin, Single WidthIn, Single HeightIn, System.Collections.Hashtable ObjectTableIn) { X = Xin; Y = Yin; Width = WidthIn; Height = HeightIn; items = new List<PageItem>(); }
internal ReportLog(ReportLog rl) { if (rl != null && rl.ErrorItems != null) { _MaxSeverity = rl.MaxSeverity; _ErrorItems = new List<string>(rl.ErrorItems); } }
/// <summary> /// Initializes a new instance of the Lexer class with the specified /// TextReader to lex. /// </summary> /// <param name="source">A TextReader to lex.</param> internal PageTextHtmlLexer(string html) { // token queue tokens = new List<string>(); // read the file contents reader = new CharReader(html); }
private TypeCode _tc; // type of result: decimal or double #endregion Fields #region Constructors /// <summary> /// Aggregate function: Running Max returns the highest value to date within a group /// Return type is same as input expression /// </summary> public FunctionAggrRvMax(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "aggrrvmax" + Interlocked.Increment(ref Parser.Counter).ToString(); // Determine the result _tc = e.GetTypeCode(); dataCache.Add(this); }
//private Single XScale, YScale; internal EMF(Single Xin, Single Yin, Single Widthin, Single Heightin) { X = Xin; Y = Yin; Width = Widthin; Height = Heightin; ObjectTable = new System.Collections.Hashtable(); PageItems = new List<PageItem>(); }
internal FillPolygon(Single Xin, Single Yin, Single WidthIn, Single HeightIn, System.Collections.Hashtable ObjectTableIn) { X = Xin; Y = Yin; Width = WidthIn; Height = HeightIn; ObjectTable = ObjectTableIn; items = new List<PageItem>(); }
private TypeCode _tc; // type of result: decimal or double #endregion Fields #region Constructors /// <summary> /// Aggregate function: RunningValue Sum returns the sum of all values of the /// expression within the scope up to that row /// Return type is decimal for decimal expressions and double for all /// other expressions. /// </summary> public FunctionAggrRvSum(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "aggrrvsum" + Interlocked.Increment(ref Parser.Counter).ToString(); // Determine the result _tc = e.GetTypeCode(); if (_tc != TypeCode.Decimal) // if not decimal _tc = TypeCode.Double; // force result to double dataCache.Add(this); }
internal CustomReportItemCtl(DesignXmlDraw dxDraw, List<XmlNode> reportItems) { _Draw = dxDraw; this._ReportItems = reportItems; _Type = _Draw.GetElementValue(_ReportItems[0], "Type", ""); // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Initialize form using the style node values InitValues(); }
public OneFileStreamGen(string filename, bool bOverwrite) { _Overwrite = bOverwrite; string ext = Path.GetExtension(filename).Substring(1); // extension (without the '.') _Directory = Path.GetDirectoryName(filename); _FileName = Path.GetFileNameWithoutExtension(filename); _FileList = new List<string>(); string relativeName; _io = GetIOStream(out relativeName, ext); }
List<ReportClass> _Items; // list of report class #endregion Fields #region Constructors internal Classes(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { _Items = new List<ReportClass>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; if (xNodeLoop.Name == "Class") { ReportClass rc = new ReportClass(r, this, xNodeLoop); _Items.Add(rc); } } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For Classes at least one Class is required."); else _Items.TrimExcess(); }