コード例 #1
0
 /// <summary>
 /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Field"/>.
 /// </summary>
 public Field()
 {
     this.v_groupedvalue = false;
     this.v_row          = 0;
     this.v_format       = "###,###,###,###,##0.00";
     this.v_border       = null;
     this.v_blank        = "";
     this.v_font         = null;
 }
コード例 #2
0
 /// <summary>
 /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Object"/>.
 /// </summary>
 public Object()
 {
     this.v_type      = Spartacus.Reporting.ObjectType.TEXT;
     this.v_column    = "";
     this.v_value     = "";
     this.v_posx      = 0.0;
     this.v_posy      = 0.0;
     this.v_align     = Spartacus.Reporting.FieldAlignment.LEFT;
     this.v_pdfobject = null;
     this.v_font      = null;
 }
コード例 #3
0
        /// <summary>
        /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Field"/>.
        /// </summary>
        public Field(string p_column, string p_title, Spartacus.Reporting.FieldAlignment p_align, double p_fill, Spartacus.Database.Type p_type)
        {
            this.v_groupedvalue = false;
            this.v_row          = 0;
            this.v_format       = "###,###,###,###,##0.00";
            this.v_border       = null;
            this.v_blank        = "";
            this.v_font         = null;

            this.v_column = p_column;
            this.v_title  = p_title;
            this.v_align  = p_align;
            this.v_fill   = p_fill;
            this.v_type   = p_type;
        }
コード例 #4
0
        /// <summary>
        /// Lê fonte.
        /// </summary>
        /// <param name="p_font">Objeto fonte, onde vai guardar as informações.</param>
        /// <param name="p_reader">Objeto XML.</param>
        private void ReadFont(Spartacus.Reporting.Font p_font, System.Xml.XmlReader p_reader)
        {
            while (p_reader.Read())
            {
                if (p_reader.IsStartElement())
                {
                    switch (p_reader.Name)
                    {
                    case "family":
                        p_font.SetFamily(p_reader.ReadString());
                        break;

                    case "size":
                        p_font.SetSize(p_reader.ReadString());
                        break;

                    case "bold":
                        if (p_reader.ReadString() == "TRUE")
                        {
                            p_font.v_bold = true;
                        }
                        else
                        {
                            p_font.v_bold = false;
                        }
                        break;

                    case "italic":
                        if (p_reader.ReadString() == "TRUE")
                        {
                            p_font.v_italic = true;
                        }
                        else
                        {
                            p_font.v_italic = false;
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
        }
コード例 #5
0
        /// <summary>
        /// Renderiza um rótulo de número de página no Bloco.
        /// </summary>
        /// <param name="p_object">Objeto a ser renderizado.</param>
        /// <param name="p_posx">Posição X.</param>
        /// <param name="p_posy">Posição Y.</param>
        /// <param name="p_rightmargin">Margem direita.</param>
        /// <param name="p_font">Fonte.</param>
        /// <param name="p_pdf">Objeto PDF.</param>
        /// <param name="p_page">Página onde será renderizado.</param>
        private void RenderPageNumber(Spartacus.Reporting.Object p_object, double p_posx, double p_posy, double p_rightmargin, Spartacus.Reporting.Font p_font, PDFjet.NET.PDF p_pdf, PDFjet.NET.Page p_page)
        {
            PDFjet.NET.TextLine v_text;

            v_text = new PDFjet.NET.TextLine(p_font.GetFont(p_pdf));

            v_text.SetText(p_object.v_value);

            switch (p_object.v_align)
            {
            case Spartacus.Reporting.FieldAlignment.LEFT:
                v_text.SetPosition(p_posx + p_object.v_posx, p_posy + p_object.v_posy);
                break;

            case Spartacus.Reporting.FieldAlignment.RIGHT:
                v_text.SetPosition(p_page.GetWidth() - p_rightmargin - v_text.GetWidth(), p_posy + p_object.v_posy);
                break;

            case Spartacus.Reporting.FieldAlignment.CENTER:
                v_text.SetPosition(p_posx + ((p_page.GetWidth() - p_rightmargin - p_posx) / 2) - (v_text.GetWidth() / 2), p_posy + p_object.v_posy);
                break;

            default:
                break;
            }

            v_text.DrawOn(p_page);

            p_object.v_pdfobject = v_text;
        }
コード例 #6
0
        /// <summary>
        /// Renderiza o Bloco em uma Página.
        /// </summary>
        /// <param name="p_font">Fonte.</param>
        /// <param name="p_posx">Posição X.</param>
        /// <param name="p_posy">Posição Y.</param>
        /// <param name="p_rightmargin">Margem direita.</param>
        /// <param name="p_pdf">Objeto PDF.</param>
        /// <param name="p_page">Página onde o Bloco será renderizado.</param>
        public void Render(Spartacus.Reporting.Font p_font, double p_posx, double p_posy, double p_rightmargin, PDFjet.NET.PDF p_pdf, PDFjet.NET.Page p_page)
        {
            PDFjet.NET.Line v_line;
            int             k;

            // renderizando objetos do bloco
            for (k = 0; k < this.v_objects.Count; k++)
            {
                switch (this.v_objects[k].v_type)
                {
                case Spartacus.Reporting.ObjectType.IMAGE:
                    this.RenderImage(this.v_objects[k], p_posx, p_posy, p_rightmargin, p_pdf, p_page);
                    break;

                case Spartacus.Reporting.ObjectType.PAGENUMBER:
                    if (this.v_objects[k].v_font != null)
                    {
                        this.RenderPageNumber(this.v_objects[k], p_posx, p_posy, p_rightmargin, this.v_objects[k].v_font, p_pdf, p_page);
                    }
                    else
                    {
                        this.RenderPageNumber(this.v_objects[k], p_posx, p_posy, p_rightmargin, p_font, p_pdf, p_page);
                    }
                    break;

                case Spartacus.Reporting.ObjectType.TEXT:
                    if (this.v_objects[k].v_font != null)
                    {
                        this.RenderText(this.v_objects[k], p_posx, p_posy, p_rightmargin, this.v_objects[k].v_font, p_pdf, p_page);
                    }
                    else
                    {
                        this.RenderText(this.v_objects[k], p_posx, p_posy, p_rightmargin, p_font, p_pdf, p_page);
                    }
                    break;

                default:
                    break;
                }
            }

            // borda superior
            if (this.v_border.v_top)
            {
                v_line = new PDFjet.NET.Line(p_posx, p_posy, p_page.GetWidth() - p_rightmargin, p_posy);
                v_line.DrawOn(p_page);
            }

            // borda inferior
            if (this.v_border.v_bottom)
            {
                v_line = new PDFjet.NET.Line(p_posx, p_posy + this.v_height, p_page.GetWidth() - p_rightmargin, p_posy + this.v_height);
                v_line.DrawOn(p_page);
            }

            // borda esquerda
            if (this.v_border.v_left)
            {
                v_line = new PDFjet.NET.Line(p_posx, p_posy, p_posx, p_posy + this.v_height);
                v_line.DrawOn(p_page);
            }

            // borda direita
            if (this.v_border.v_right)
            {
                v_line = new PDFjet.NET.Line(p_page.GetWidth() - p_rightmargin, p_posy, p_page.GetWidth() - p_rightmargin, p_posy + this.v_height);
                v_line.DrawOn(p_page);
            }
        }
コード例 #7
0
 /// <summary>
 /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Field"/>.
 /// </summary>
 public Field()
 {
     this.v_groupedvalue = false;
     this.v_row = 0;
     this.v_format = "###,###,###,###,##0.00";
     this.v_border = null;
     this.v_blank = "";
     this.v_font = null;
 }
コード例 #8
0
 /// <summary>
 /// Inicializa uma nova instância da classe <see cref="Spartacus.Reporting.Object"/>.
 /// </summary>
 public Object()
 {
     this.v_type = Spartacus.Reporting.ObjectType.TEXT;
     this.v_column = "";
     this.v_value = "";
     this.v_posx = 0.0;
     this.v_posy = 0.0;
     this.v_align = Spartacus.Reporting.FieldAlignment.LEFT;
     this.v_pdfobject = null;
     this.v_font = null;
 }