using Root.Reports;
using System;
using System.Drawing;
// Creation date: 25.07.2002
// Checked: 12.12.2002
// Author: Otto Mayer, mot@root.ch
// Version 1.01.00
// copyright (C) 2002 root-software ag - Bürglen Switzerland - www.root.ch; Otto Mayer, Stefan Spirig, Roger Gartenmann
// This library is free software; you can redistribute it and/or modirY it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation, version 2.1 of the License.
// This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You
// should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA www.opensource.org/licenses/lgpl-license.html
namespace ReportSamples {
/// Text Sample
class TextSample : Report {
//----------------------------------------------------------------------------------------------------x
/// Starts the text sample
public static void Main() {
RT.ViewPDF(new TextSample(), "TextSample.pdf");
}
//----------------------------------------------------------------------------------------------------x
/// Creates this report
protected override void Create() {
FontDef fd = new FontDef(this, "Arial");
FontProp fp = new FontPropMM(fd, 3);
FontProp fp_Title = new FontPropMM(fd, 20);
fp_Title.bBold = true;
FontProp fp_Small = new FontPropMM(fd, 1.3);
PenProp pp = new PenPropMM(this, 0.2, Color.Blue);
BrushProp bp = new BrushProp(this, Color.FromArgb(240, 240, 240));
Page page = new Page(this);
page.AddCenteredMM(40, new RepString(fp_Title, "Text Sample"));
fp_Title.rSizeMM = 4;
// font sample
Double rX = 20;
Double rY = 60;
page.AddMM(rX, rY, new RepString(fp_Title, "Fonts"));
rY += fp_Title.rLineFeedMM;
FontDef[] aFontDef = {new FontDef(this, "Courier"), fd, new FontDef(this, "Times-Roman")};
foreach (FontDef fontDef in aFontDef) {
FontProp fp_Test = new FontPropMM(fontDef, 3);
page.AddMM(rX, rY, new RepString(fp_Test, fontDef.sFontName));
fp_Test.bBold = true;
page.AddMM(rX + 50, rY, new RepString(fp_Test, fontDef.sFontName + " Bold"));
fp_Test.bBold = false;
fp_Test.bUnderline = true;
page.AddMM(rX + 110, rY, new RepString(fp_Test, fontDef.sFontName + " Underline"));
rY += fp.rLineFeedMM;
}
rY += 3;
aFontDef = new FontDef[] {new FontDef(this, "Symbol"), new FontDef(this, "ZapfDingbats")};
foreach (FontDef fontDef in aFontDef) {
FontProp fp_Test = new FontPropMM(fontDef, 3);
page.AddMM(rX, rY, new RepString(fp, fontDef.sFontName));
page.AddMM(rX + 50, rY, new RepString(fp_Test, "ABCDEFGHIJKLMNOPQRSTUVWXYZ"));
rY += fp.rLineFeedMM;
}
rY += 10;
// Int32 sample
rX = 20;
Double rYcopy = rY;
page.AddMM(rX, rY, new RepString(fp_Title, "Int32 Values"));
rY += fp_Title.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "no format string"));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"0000000\""));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "0000000"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#,#\""));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "$#,#"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, 12345, "$#;($#);Zero"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, -12345, "$#;($#);Zero"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#;($#);Zero\""));
page.AddRightMM(rX + 80, rY, new RepInt32(fp, 0, "$#;($#);Zero"));
// Single / Double sample
rX = 115;
rY = rYcopy;
page.AddMM(rX, rY, new RepString(fp_Title, "Single / Double Values"));
rY += fp_Title.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "no format string"));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"0.0000\""));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "0.0000"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#,#0.00\""));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "$#,#0.00"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, 123.456, "$#.0;($#.0);Zero"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, -123.456, "$#.0;($#.0);Zero"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"$#.0;($#.0);Zero\""));
page.AddRightMM(rX + 80, rY, new RepReal64(fp, 0, "$#.0;($#.0);Zero"));
rY += fp.rLineFeedMM + 10;
// DateTime sample
rX = 20;
rYcopy = rY;
page.AddMM(rX, rY, new RepString(fp_Title, "DateTime Values"));
rY += fp_Title.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "no format string"));
page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"D\""));
page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "D"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"t\""));
page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "t"));
rY += fp.rLineFeedMM;
page.AddMM(rX, rY, new RepString(fp, "format \"dd.MM.yyyy\""));
page.AddRightMM(rX + 80, rY, new RepDateTime(fp, DateTime.Now, "dd.MM.yyyy"));
// color sample
StaticContainer sc = new StaticContainer(RT.rMM(100), RT.rMM(100));
page.AddMM(115, rYcopy + 5, sc);
sc.RotateTransform(-8);
sc.AddAlignedMM(-2, RepObj.rAlignLeft, -6, RepObj.rAlignTop, new RepRectMM(bp, 85, 33));
rY = 0;
sc.AddMM(0, rY, new RepString(fp_Title, "Colors"));
rY += fp_Title.rLineFeedMM;
sc.AddMM(0, rY, new RepString(fp, "Red"));
fp.color = Color.Red; fp.bUnderline = true;
sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
fp.color = Color.Black; fp.bUnderline = false;
rY += fp.rLineFeedMM;
sc.AddMM(0, rY, new RepString(fp, "Green"));
fp.color = Color.Green; fp.bUnderline = true;
sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
fp.color = Color.Black; fp.bUnderline = false;
rY += fp.rLineFeedMM;
sc.AddMM(0, rY, new RepString(fp, "Blue"));
fp.color = Color.Blue; fp.bUnderline = true;
sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
fp.color = Color.Black; fp.bUnderline = false;
rY += fp.rLineFeedMM;
sc.AddMM(0, rY, new RepString(fp, "RGB(255,180,255)"));
fp.color = Color.FromArgb(200, 200, 255); fp.bUnderline = true;
sc.AddRightMM(80, rY, new RepString(fp, "ABCDEFGHIJKLM"));
fp.color = Color.Black; fp.bUnderline = false;
rY += rYcopy + fp.rLineFeedMM + 10;
// alignment sample
rX = 20;
String s = "Alignment";
page.AddMM(rX, rY, new RepString(fp_Title, s));
Double rLengthMM = fp_Title.rWidthMM(s);
page.AddMM(rX, rY + 3, new RepLineMM(pp, rLengthMM, 0));
page.AddMM(rX, rY + 2, new RepLineMM(pp, 0, 2));
page.AddMM(rX + rLengthMM, rY + 2, new RepLineMM(pp, 0, 2));
page.AddAlignedMM(rX + rLengthMM / 2, RepObj.rAlignCenter, rY + 4, RepObj.rAlignTop, new RepReal64(fp_Small, rLengthMM, "0.0 mm"));
rX = 100;
rY += fp_Title.rLineFeedMM;
Double rD = 15;
bp.color = Color.LightSkyBlue;
page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
page.AddAlignedMM(rX, RepObj.rAlignRight, rY, RepObj.rAlignBottom, new RepString(fp, "right - bottom"));
page.AddAlignedMM(rX, RepObj.rAlignRight, rY + rD, RepObj.rAlignTop, new RepString(fp, "right - top"));
page.AddMM(rX + rD, rY, new RepString(fp, "left - bottom")); // default
page.AddAlignedMM(rX + rD, RepObj.rAlignLeft, rY + rD, RepObj.rAlignTop, new RepString(fp, "left - top"));
page.AddAlignedMM(rX + rD / 2, RepObj.rAlignCenter, rY + rD / 2, RepObj.rAlignCenter, new RepString(fp, "center"));
rY += 30;
// rotated string
rX = 60;
page.AddMM(20, rY, new RepString(fp_Title, "Rotated Strings"));
rY += fp_Title.rLineFeedMM + 10;
rYcopy = rY;
rD = 10;
page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
fp.rAngle = 45;
page.AddAlignedMM(rX + rD, RepObj.rAlignLeft, rY + rD, RepObj.rAlignTop, new RepString(fp, "[45°]"));
fp.rAngle = 135;
page.AddMM(rX, rY + rD, new RepString(fp, "[135°]"));
fp.rAngle = 225;
page.AddAlignedMM(rX, RepObj.rAlignLeft, rY, RepObj.rAlignTop, new RepString(fp, "[225°]"));
fp.rAngle = 315;
page.AddMM(rX + rD, rY, new RepString(fp, "[315°]"));
fp.rAngle = 0;
rX = 155;
rY = rYcopy;
fp.bUnderline = true;
page.AddMM(rX, rY + rD, new RepRectMM(bp, rD, rD));
fp.rAngle = 45;
page.AddAlignedMM(rX, RepObj.rAlignRight, rY, RepObj.rAlignBottom, new RepString(fp, "1/4 * PI"));
fp.rAngle = 135;
page.AddAlignedMM(rX + rD, RepObj.rAlignRight, rY, RepObj.rAlignTop, new RepString(fp, "3/4 * PI"));
fp.rAngle = 225;
page.AddAlignedMM(rX + rD, RepObj.rAlignRight, rY + rD, RepObj.rAlignBottom, new RepString(fp, "5/4 * PI"));
fp.rAngle = 315;
page.AddAlignedMM(rX, RepObj.rAlignRight, rY + rD, RepObj.rAlignTop, new RepString(fp, "7/4 * PI"));
fp.rAngle = 0.0;
fp.bUnderline = false;
rY += 35;
}
}
}