コード例 #1
0
 /// <summary>
 /// Constructs a new title with dynamic texts
 /// </summary>
 public ReportTitle(ReportTitleSize size, Func <TModel, string> leftAlignedTextGetter, Func <TModel, string> rightAlignedTextGetter = null)
 {
     if (leftAlignedTextGetter == null)
     {
         throw new ArgumentNullException("leftAlignedTextGetter");
     }
     this.Size = size;
     this.LeftAlignedTextGetter  = leftAlignedTextGetter;
     this.RightAlignedTextGetter = rightAlignedTextGetter;
 }
コード例 #2
0
 /// <summary>
 /// Constructs a new title with static texts
 /// </summary>
 public ReportTitle(ReportTitleSize size, string leftAlignedText, string rightAlignedText = null)
 {
     if (leftAlignedText == null)
     {
         throw new ArgumentNullException("leftAlignedText");
     }
     this.Size             = size;
     this.LeftAlignedText  = leftAlignedText;
     this.RightAlignedText = rightAlignedText;
 }
コード例 #3
0
        /// <summary>
        /// Adds a new title to the report and returns it
        /// </summary>
        public ReportTitle <TModel> AddTitle(ReportTitleSize size, string leftAlignedText, string rightAlignedText = null)
        {
            if (leftAlignedText == null)
            {
                throw new ArgumentNullException("leftAlignedText");
            }
            var title = new ReportTitle <TModel>(size, leftAlignedText, rightAlignedText);

            this.Components.Add(new Tuple <LambdaExpression, ReportComponent>(null, title));
            return(title);
        }
コード例 #4
0
        /// <summary>
        /// Returns the font based on settings
        /// </summary>
        private Font GetFont(ReportTitleSize size, bool leftText, ReportSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            switch (size)
            {
            case ReportTitleSize.H1:
                return(leftText ? settings.TitleH1LeftAlignedTextFont : settings.TitleH1RightAlignedTextFont);

            case ReportTitleSize.H2:
                return(leftText ? settings.TitleH2LeftAlignedTextFont : settings.TitleH2RightAlignedTextFont);

            case ReportTitleSize.H3:
                return(leftText ? settings.TitleH3LeftAlignedTextFont : settings.TitleH3RightAlignedTextFont);
            }
            throw new Exception("Unsuported size");
        }
コード例 #5
0
        /// <summary>
        /// Returns the border width based on settings
        /// </summary>
        /// <param name="size"></param>
        /// <param name="settings"></param>
        /// <returns></returns>
        private float GetBorderWidth(ReportTitleSize size, ReportSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            switch (size)
            {
            case ReportTitleSize.H1:
                return(settings.TitleH1BorderWidth);

            case ReportTitleSize.H2:
                return(settings.TitleH2BorderWidth);

            case ReportTitleSize.H3:
                return(settings.TitleH3BorderWidth);
            }
            throw new Exception("Unsuported size");
        }