private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidthCm = 0.7f;

            float rankWidth  = Izvestaj.convCmToInch(rankWidthCm);
            float imeWidth   = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth  = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;

            if (this.praznaLista)
            {
                // Kada je lista prazna, namerno biram male vrednosti da bih sprecio da velicina kolona prazne liste
                // u Form-u utice na konacnu velicinu kolona. Npr. ako imam dve prazne i dve pune liste, i ako podesim dve
                // pune liste tako da su kolone manje od kolona prazne liste, konacna velicina kolone ce ipak biti ona u
                // praznoj listi. Ovim se to sprecava.
                rankWidth  = Izvestaj.convCmToInch(rankWidthCm);
                imeWidth   = Izvestaj.convCmToInch(rankWidthCm * 2);
                klubWidth  = Izvestaj.convCmToInch(rankWidthCm * 2);
                ocenaWidth = Izvestaj.convCmToInch(rankWidthCm * 2);
            }

            doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, ocenaWidth);
        }
Esempio n. 2
0
        private void createColumns(Graphics g, RectangleF contentBounds, float imeWidth, float klubWidth,
                                   float kategorijaWidth)
        {
            float rankWidthCm = 0.7f;
            float rankWidth   = Izvestaj.convCmToInch(rankWidthCm);

            doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, kategorijaWidth);
        }
        private void createColumns(Graphics g, RectangleF contentBounds, float imeWidth, float klubWidth)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidthCm = 0.7f;
            float rankWidth   = Izvestaj.convCmToInch(rankWidthCm);
            float ocenaWidth  = this.formGrid.Columns[3].Width * printWidth / gridWidth;

            doCreateColumns(g, contentBounds, rankWidth, imeWidth, klubWidth, ocenaWidth);
        }
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidthCm  = 0.75f;
            float skokWidthCm  = 0.5f;
            float ocenaWidthCm = 2.0f;

            if (brojEOcena > 0)
            {
                ocenaWidthCm = 1.9f;
            }

            float rankWidth = Izvestaj.convCmToInch(rankWidthCm);
            float imeWidth  = this.formGrid.Columns[1].Width * printWidth / gridWidth;

            float kategorijaWidth;

            if (this.stampajKategoriju)
            {
                kategorijaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            }
            else
            {
                kategorijaWidth = 0.0F;
            }

            float klubWidth;

            if (this.stampajKlub)
            {
                klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            }
            else
            {
                klubWidth = 0.0F;
            }

            float skokWidth  = Izvestaj.convCmToInch(skokWidthCm);
            float ocenaWidth = Izvestaj.convCmToInch(ocenaWidthCm);

            float xRank       = contentBounds.X;
            float xIme        = xRank + Izvestaj.convCmToInch(rankWidthCm);
            float xKategorija = xIme + imeWidth;
            float xKlub       = xKategorija + kategorijaWidth;
            float xSkok       = 0.0f;
            float xSprava;

            if (sprava == Sprava.Preskok)
            {
                xSkok   = xKlub + klubWidth;
                xSprava = xSkok + Izvestaj.convCmToInch(skokWidthCm);
            }
            else
            {
                xSprava = xKlub + klubWidth;
            }
            float xTotal = xSprava + ocenaWidth * (4 + brojEOcena);

            float xRightEnd = xSprava + ocenaWidth * (4 + brojEOcena);

            if (sprava == Sprava.Preskok)
            {
                xRightEnd += ocenaWidth;
            }

            float delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }

            xRank       += delta;
            xIme        += delta;
            xKlub       += delta;
            xKategorija += delta;
            if (sprava == Sprava.Preskok)
            {
                xSkok += delta;
            }
            xSprava   += delta;
            xTotal    += delta;
            xRightEnd += delta;

            float[] xEn = new float[6];
            for (int i = 0; i < brojEOcena; i++)
            {
                if (i == 0)
                {
                    xEn[i] = xSprava + ocenaWidth;
                }
                else
                {
                    xEn[i] = xEn[i - 1] + ocenaWidth;
                }
            }
            float xE;

            if (brojEOcena == 0)
            {
                xE = xSprava + ocenaWidth;
            }
            else
            {
                xE = xEn[brojEOcena - 1] + ocenaWidth;
            }
            float xPen = xE + ocenaWidth;
            float xTot = xPen + ocenaWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

            imeFormat.Alignment     = StringAlignment.Near;
            imeFormat.LineAlignment = StringAlignment.Center;

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.Alignment     = StringAlignment.Near;
            klubFormat.LineAlignment = StringAlignment.Center;

            StringFormat kategorijaFormat = new StringFormat(StringFormatFlags.NoWrap);

            kategorijaFormat.Alignment     = StringAlignment.Near;
            kategorijaFormat.LineAlignment = StringAlignment.Center;

            StringFormat skokFormat = new StringFormat(StringFormatFlags.NoWrap);

            skokFormat.Alignment     = StringAlignment.Center;
            skokFormat.LineAlignment = StringAlignment.Center;

            StringFormat spravaFormat = Izvestaj.centerCenterFormat;
            StringFormat totalFormat  = Izvestaj.centerCenterFormat;

            StringFormat rankHeaderFormat       = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat        = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat       = Izvestaj.centerCenterFormat;
            StringFormat kategorijaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat skokHeaderFormat       = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat     = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat      = Izvestaj.centerCenterFormat;

            String rankTitle       = Opcije.Instance.RedBrojString;
            String imeTitle        = Opcije.Instance.ImeString;
            String klubTitle       = Opcije.Instance.KlubDrzavaString;
            String kategorijaTitle = Opcije.Instance.KategorijaString;
            String skokTitle       = "";
            String totalTitle      = Opcije.Instance.TotalString;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            ReportColumn column = addColumn(xKategorija, kategorijaWidth, kategorijaFormat, kategorijaTitle, kategorijaHeaderFormat);

            column.Visible = stampajKategoriju;
            column         = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);
            column.Visible = stampajKlub;
            if (sprava == Sprava.Preskok)
            {
                column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSkok, skokWidth, null, skokFormat,
                                              skokTitle, skokHeaderFormat, true);
            }

            string fmtD   = "F" + Opcije.Instance.BrojDecimalaD;
            string fmtE   = "F" + Opcije.Instance.BrojDecimalaE;
            string fmtPen = "F" + Opcije.Instance.BrojDecimalaPen;
            string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            ReportColumn column1;

            if (sprava == Sprava.Preskok)
            {
                column1 = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSprava, ocenaWidth, fmtD, spravaFormat,
                                               "D", spravaHeaderFormat, true);
            }
            else
            {
                column1 = addColumn(xSprava, ocenaWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
            }
            column1.Image = SlikeSprava.getImage(sprava);
            column1.Split = true;
            column1.Span  = true;

            if (brojEOcena > 0)
            {
                for (int i = 0; i < brojEOcena; i++)
                {
                    if (sprava == Sprava.Preskok)
                    {
                        ReportColumn prevColumn = column;
                        if (i == 0)
                        {
                            prevColumn = column1;
                        }
                        column = addDvaPreskokaColumn(prevColumn.getItemsIndexEnd(), 2, xEn[i], ocenaWidth, fmtE,
                                                      spravaFormat, "E" + (i + 1).ToString(), spravaHeaderFormat, true);
                    }
                    else
                    {
                        column = addColumn(xEn[i], ocenaWidth, fmtE, spravaFormat, "E" + (i + 1).ToString(),
                                           spravaHeaderFormat);
                    }
                    column.Image = SlikeSprava.getImage(sprava);
                    column.Split = true;
                }
            }

            ReportColumn prevColumn2 = column;

            if (brojEOcena == 0)
            {
                prevColumn2 = column1;
            }
            if (sprava == Sprava.Preskok)
            {
                column = addDvaPreskokaColumn(prevColumn2.getItemsIndexEnd(), 2, xE, ocenaWidth, fmtE, spravaFormat,
                                              "E", spravaHeaderFormat, true);
            }
            else
            {
                column = addColumn(xE, ocenaWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
            }
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            if (sprava == Sprava.Preskok)
            {
                column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xPen, ocenaWidth, fmtPen, spravaFormat,
                                              "Pen.", spravaHeaderFormat, true);
            }
            else
            {
                column = addColumn(xPen, ocenaWidth, fmtPen, spravaFormat, "Pen.", spravaHeaderFormat);
            }
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            if (sprava == Sprava.Preskok)
            {
                column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xTot, ocenaWidth, fmtTot, spravaFormat,
                                              Opcije.Instance.TotalString, spravaHeaderFormat, true);
            }
            else
            {
                column = addColumn(xTot, ocenaWidth, fmtTot, spravaFormat, Opcije.Instance.TotalString, spravaHeaderFormat);
            }
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            if (column1.Span)
            {
                column1.SpanEndColumn = column;
            }

            if (sprava == Sprava.Preskok)
            {
                column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat,
                                   totalTitle, totalHeaderFormat);
            }
        }
Esempio n. 5
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidthCm = 0.7f;
            float rankWidth   = Izvestaj.convCmToInch(rankWidthCm);

            float imeWidth     = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float prezimeWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            // float godinaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float polWidthCm  = 1.5f;
            float polWidth    = Izvestaj.convCmToInch(polWidthCm);
            float klubWidth   = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float drzavaWidth = this.formGrid.Columns[4].Width * printWidth / gridWidth;


            float xRank    = contentBounds.X;
            float xIme     = xRank + rankWidth;
            float xPrezime = xIme + imeWidth;
            float xPol     = xPrezime + prezimeWidth;
            float xKlub    = xPol + polWidth;
            float xDrzava  = xKlub + klubWidth;

            float xRightEnd = xDrzava + drzavaWidth;

            float delta = (contentBounds.Right - xRightEnd) / 2;  // moza da bude i negativno

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xIme      += delta;
            xPrezime  += delta;
            xPol      += delta;
            xKlub     += delta;
            xDrzava   += delta;
            xRightEnd += delta;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

            imeFormat.Alignment     = StringAlignment.Near;
            imeFormat.LineAlignment = StringAlignment.Center;

            StringFormat prezimeFormat = new StringFormat(StringFormatFlags.NoWrap);

            prezimeFormat.Alignment     = StringAlignment.Near;
            prezimeFormat.LineAlignment = StringAlignment.Center;

            StringFormat polFormat = new StringFormat(StringFormatFlags.NoWrap);

            polFormat.Alignment     = StringAlignment.Near;
            polFormat.LineAlignment = StringAlignment.Center;

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.Alignment     = StringAlignment.Near;
            klubFormat.LineAlignment = StringAlignment.Center;

            StringFormat drzavaFormat = new StringFormat(StringFormatFlags.NoWrap);

            drzavaFormat.Alignment     = StringAlignment.Near;
            drzavaFormat.LineAlignment = StringAlignment.Center;

            StringFormat rankHeaderFormat    = Izvestaj.nearCenterFormat;
            StringFormat imeHeaderFormat     = Izvestaj.nearCenterFormat;
            StringFormat prezimeHeaderFormat = Izvestaj.nearCenterFormat;
            StringFormat polHeaderFormat     = Izvestaj.nearCenterFormat;
            StringFormat klubHeaderFormat    = Izvestaj.nearCenterFormat;
            StringFormat drzavaHeaderFormat  = Izvestaj.nearCenterFormat;

            String rankTitle    = "RB";
            String imeTitle     = "Ime";
            String prezimeTitle = "Prezime";
            String polTitle     = "Pol";
            String klubTitle    = "Klub";
            String drzavaTitle  = "Drzava";

            Columns.Clear();

            bool         drawItemRect = false;
            ReportColumn column       = addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);

            column.DrawItemRect = drawItemRect;
            column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            column.DrawItemRect = drawItemRect;
            column = addColumn(xPrezime, prezimeWidth, prezimeFormat, prezimeTitle, prezimeHeaderFormat);
            column.DrawItemRect = drawItemRect;
            column = addColumn(xPol, polWidth, polFormat, polTitle, polHeaderFormat);
            column.DrawItemRect = drawItemRect;
            column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);
            column.DrawItemRect = drawItemRect;
            column = addColumn(xDrzava, drzavaWidth, drzavaFormat, drzavaTitle, drzavaHeaderFormat);
            column.DrawItemRect = drawItemRect;
        }