List<TableCell> _Items; // list of TableCell public 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<SortBy> _Items; // list of SortBy public 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<StaticColumn> _Items; // list of StaticColumn public StaticColumns(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { StaticColumn sc; _Items = new List<StaticColumn>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "StaticColumn": sc = new StaticColumn(r, this, xNodeLoop); break; default: sc=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown StaticColumns element '" + xNodeLoop.Name + "' ignored."); break; } if (sc != null) _Items.Add(sc); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For StaticColumns at least one StaticColumn is required."); else _Items.TrimExcess(); }
string _key; // key used for caching value /// <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<SeriesGrouping> _Items; // list of SeriesGrouping public 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(); }
List<DataPoint> _Items; // list of datapoint public DataPoints(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { DataPoint dp; _Items = new List<DataPoint>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "DataPoint": dp = new DataPoint(r, this, xNodeLoop); break; default: dp=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown DataPoints element '" + xNodeLoop.Name + "' ignored."); break; } if (dp != null) _Items.Add(dp); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For DataPoints at least one DataPoint is required."); else _Items.TrimExcess(); }
List<TableGroup> _Items; // list of TableGroup entries public 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(); }
bool _ContainsArray; // true if any of the parameters is an array reference public 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<Textbox> _GrowList; // list of TextBox's that need to be checked for growth public TableRow(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { _TableCells=null; _Height=null; _Visibility=null; _CanGrow = false; _GrowList = null; // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "TableCells": _TableCells = new TableCells(r, this, xNodeLoop); break; case "Height": _Height = new RSize(r, xNodeLoop); break; case "Visibility": _Visibility = new Visibility(r, this, xNodeLoop); break; default: // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown TableRow element '" + xNodeLoop.Name + "' ignored."); break; } } if (_TableCells == null) OwnerReport.rl.LogError(8, "TableRow requires the TableCells element."); if (_Height == null) OwnerReport.rl.LogError(8, "TableRow requires the Height element."); }
List<GroupEntry> _NestedGroup; // group one hierarchy below public 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; }
List<FilterValue> _Items; // list of FilterValue public FilterValues(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { FilterValue f; _Items = new List<FilterValue>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "FilterValue": f = new FilterValue(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 FilterValues element '" + xNodeLoop.Name + "' ignored."); break; } if (f != null) _Items.Add(f); } if (_Items.Count == 0) OwnerReport.rl.LogError(8, "For FilterValues at least one FilterValue is required."); else _Items.TrimExcess(); }
List<MatrixRow> _Items; // list of MatrixRow public 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(); }
List<ChartSeries> _Items; // list of chart series public 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(); }
public 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<DrillthroughParameter> _Items; // list of report items public DrillthroughParameters(ReportDefn r, ReportLink p, XmlNode xNode) : base(r, p) { DrillthroughParameter d; _Items = new List<DrillthroughParameter>(); // Loop thru all the child nodes foreach(XmlNode xNodeLoop in xNode.ChildNodes) { if (xNodeLoop.NodeType != XmlNodeType.Element) continue; switch (xNodeLoop.Name) { case "Parameter": d = new DrillthroughParameter(r, this, xNodeLoop); break; default: d=null; // don't know what this is // don't know this element - log it OwnerReport.rl.LogError(4, "Unknown Parameters element '" + xNodeLoop.Name + "' ignored."); break; } if (d != null) _Items.Add(d); } if (_Items.Count > 0) _Items.TrimExcess(); }
public DesignerForm(List<string> files) { KeyPreview = true; GetStartupState(); //BuildMenus(); InitializeComponent(); Application.AddMessageFilter(this); this.MdiChildActivate += new EventHandler(RdlDesigner_MdiChildActivate); this.Closing += new System.ComponentModel.CancelEventHandler(this.RdlDesigner_Closing); _GetPassword = new NeedPassword(this.GetPassword); InitProperties(); InitToolbar(); InitStatusBar(); InitIpc(); _CurrentFiles = files; // open up the current files if any if (_CurrentFiles != null) { foreach (string file in _CurrentFiles) { CreateMDIChild(file, null, false); } _CurrentFiles = null; // don't need this any longer } DesignTabChanged(this, new EventArgs()); }
string _key; // key for cache when scope is dataset we can cache the result /// <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); }
private string BuildTable() { StringBuilder sb = new StringBuilder(); float width = TableWidth(); sb.AppendFormat("<table style=\"table-layout:fixed;width:{0}pt;border-style:none;border-collapse:collapse;\">", width); // Define the columns sb.Append("<colgroup>"); List<ReportItem> riSort = new List<ReportItem>(_ris.Items); riSort.Sort(CompareRIsByX); // float last_offset=0; float offset; float pt; for (int i = 0; i < riSort.Count; i++) { pt = riSort[i].LeftCalc(_rpt); sb.AppendFormat("<col style=\"width:{0}pts;\">", pt); offset = pt + riSort[i].WidthOrOwnerWidth(_rpt); // if (last_offset < offset) } sb.Append("</colgroup>"); // Define the rows riSort.Sort(CompareRIsByY); sb.Append("</table>"); return sb.ToString(); }
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); }
public 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> public PageTextHtmlLexer(string html) { // token queue tokens = new List<string>(); // read the file contents reader = new CharReader(html); }
float _PageWidth; // default width for all pages public Pages(Report r) { _report = r; _pages = new List<Page>(); // array of Page objects _bm = new Bitmap(10, 10); // create a small bitmap to base our graphics _g = Graphics.FromImage(_bm); }
string _key; // key for caching; when scope is dataset we can cache the result /// <summary> /// Aggregate function: Min returns the lowest value /// Return type is same as input expression /// </summary> public FunctionAggrMin(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "aggrmax" + Interlocked.Increment(ref Parser.Counter).ToString(); // Determine the result _tc = e.GetTypeCode(); dataCache.Add(this); }
public FillPie(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 Single XScale, YScale; public 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 DrillParametersDialog(string report, List<DrillParameter> parameters) { _DrillReport = report; // This call is required by the Windows.Forms Form Designer. InitializeComponent(); // Initialize form using the style node values InitValues(parameters); }
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(); }
string _key; // key for retaining prior rows values /// <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 FunctionAggrRvAvg(List<ICacheData> dataCache, IExpr e, object scp) : base(e, scp) { _key = "aggrrvavg" + 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); }
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); }