Exemplo n.º 1
0
        protected ReportColumn addColumn(float x, float width)
        {
            ReportColumn result = new ReportColumn(columns.Count, x, width, String.Empty);

            columns.Add(result);
            result.Lista = this;
            return(result);
        }
Exemplo n.º 2
0
        protected ReportColumn addColumn(float x, float width, string headerTitle,
                                         StringFormat headerFormat)
        {
            ReportColumn result = new ReportColumn(columns.Count, x, width, headerTitle);

            result.HeaderFormat = headerFormat;
            columns.Add(result);
            result.Lista = this;
            return(result);
        }
Exemplo n.º 3
0
        protected ReportColumn addColumn(int itemsIndex, float x, float width,
                                         StringFormat itemRectFormat, string format)
        {
            ReportColumn result = new ReportColumn(itemsIndex, x, width, String.Empty);

            result.Format         = format;
            result.ItemRectFormat = itemRectFormat;
            columns.Add(result);
            result.Lista = this;
            return(result);
        }
Exemplo n.º 4
0
        protected float getColumnMaxWidth(int colIndex, Graphics g, Font f)
        {
            ReportColumn col = columns[colIndex];
            float        max = 0;

            for (int i = 0; i < items.Count; i++)
            {
                object[] itemsRow = items[i];
                max = Math.Max(max, col.getMaxWidth(g, itemsRow, f));
            }
            return(max);
        }
Exemplo n.º 5
0
        protected ReportColumn addColumn(int itemsIndex, float x, float width, string format,
                                         StringFormat itemRectFormat, string headerTitle,
                                         StringFormat headerFormat)
        {
            ReportColumn result = new ReportColumn(itemsIndex, x, width, headerTitle);

            result.Format         = format;
            result.ItemRectFormat = itemRectFormat;
            result.HeaderFormat   = headerFormat;
            columns.Add(result);
            result.Lista = this;
            return(result);
        }
Exemplo n.º 6
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;
        }
Exemplo n.º 7
0
        private void doCreateColumns(Graphics g, RectangleF contentBounds, float funkcijaWidth, float imeWidth, float klubWidth)
        {
            float xFunkcija = contentBounds.X + (columnNumber - 1) * contentBounds.Width / 2;
            float xIme      = xFunkcija + funkcijaWidth;
            float xKlub     = xIme + imeWidth;
            float xRightEnd = xKlub + klubWidth;

            float rightMargin;

            if (!sveSpraveNaJednojStrani)
            {
                rightMargin = contentBounds.Right;
            }
            else
            {
                rightMargin = contentBounds.Right - (2 - columnNumber) * contentBounds.Width / 2;
            }

            // Kada imam dve kolone, razmak izmedju tabela podesavam da bude isti kao i razmak sa leve i desne strane.
            float delta;

            if (columnNumber == 1)
            {
                delta = contentBounds.X - (2 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin));  // moza da bude i negativno
                if (delta > contentBounds.X)
                {
                    delta = contentBounds.X;
                }
                xFunkcija -= delta;
                xIme      -= delta;
                xKlub     -= delta;
                xRightEnd -= delta;
            }
            else
            {
                delta = (1 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin));  // moza da bude i negativno
                if (delta < 0)
                {
                    delta = 0.0f;
                }
                xFunkcija += delta;
                xIme      += delta;
                xKlub     += delta;
                xRightEnd += delta;
            }

            StringFormat funkcijaFormat = 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 funkcijaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat      = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat     = Izvestaj.centerCenterFormat;

            String funkcijaTitle = "Funkcija";
            String imeTitle      = "Ime";
            String klubTitle     = "Klub/Drzava";

            Columns.Clear();

            ReportColumn column1 = addColumn(xFunkcija, funkcijaWidth, funkcijaFormat, funkcijaTitle, funkcijaHeaderFormat);

            column1.Image = SlikeSprava.getImage(sprava);
            column1.Split = true;
            column1.Span  = true;

            ReportColumn column;

            column       = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            column       = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            if (column1.Span)
            {
                column1.SpanEndColumn = column;
            }
        }
Exemplo n.º 8
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            // kolo i kval sam podesio kao polovinu Rank kolone.
            float rankWidth  = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth   = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth  = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float koloWidth  = rankWidth / 2;
            float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float kvalWidth  = rankWidth / 2;

            int brojOcena = 3;

            float xRank = contentBounds.X;
            float xIme  = xRank + rankWidth;
            float xKlub = xIme + imeWidth;
            float xKolo = 0.0f;
            float xSprava;

            xKolo   = xKlub + klubWidth;
            xSprava = xKolo + koloWidth;

            float xTotal = xSprava + (ocenaWidth * brojOcena);
            float xKval  = xTotal + ocenaWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

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

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

            xRank     += delta;
            xIme      += delta;
            xKlub     += delta;
            xKolo     += delta;
            xSprava   += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            float xE   = xSprava + ocenaWidth;
            float xPen = xE + ocenaWidth;
            float xTot = xPen;

            float spravaDWidth   = ocenaWidth;
            float spravaEWidth   = ocenaWidth;
            float spravaTotWidth = 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 koloFormat = new StringFormat(StringFormatFlags.NoWrap);

            koloFormat.Alignment     = StringAlignment.Center;
            koloFormat.LineAlignment = StringAlignment.Center;

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

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat    = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat koloHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = "Rank";
            String imeTitle   = "Ime";
            String klubTitle  = "Klub";
            String koloTitle  = "";
            String totalTitle = "Total";
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            ReportColumn column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

            column = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xKolo, koloWidth, null, koloFormat,
                                               koloTitle, koloHeaderFormat);

            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;

            column1 = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xSprava, spravaDWidth, fmtD,
                                                spravaFormat, "D", spravaHeaderFormat);
            column1.Image = SlikeSprava.getImage(sprava);
            column1.Split = true;
            column1.Span  = true;

            column = addSpravaFinaleKupaColumn(column1.getItemsIndexEnd(), 2, xE, spravaEWidth, fmtE, spravaFormat,
                                               "E", spravaHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            string title = "Total";

            column = addSpravaFinaleKupaColumn(column.getItemsIndexEnd(), 2, xTot, spravaTotWidth, fmtTot, spravaFormat,
                                               title, spravaHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;
            column.Brush = totalBrush;

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

            column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat,
                               totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;

            if (kvalColumn)
            {
                column = addColumn(column.getItemsIndexEnd(), xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
        }
Exemplo n.º 9
0
        private void doCreateColumns(Graphics g, RectangleF contentBounds, float rankWidth, float imeWidth, float klubWidth,
                                     float ocenaWidth)
        {
            float xRank     = contentBounds.X + (columnNumber - 1) * contentBounds.Width / 2;
            float xIme      = xRank + rankWidth;
            float xKlub     = xIme + imeWidth;
            float xOcena    = xKlub + klubWidth;
            float xRightEnd = xOcena + ocenaWidth;

            float rightMargin;

            if (!sveSpraveNaJednojStrani)
            {
                rightMargin = contentBounds.Right;
            }
            else
            {
                rightMargin = contentBounds.Right - (2 - columnNumber) * contentBounds.Width / 2;
            }

            // Kada imam dve kolone, razmak izmedju tabela podesavam da bude isti kao i razmak sa leve i desne strane.
            // TODO3: Sledece izracunavanje delte ne radi dobro kada ima samo jedna kolona (isto i u izvestaju za start
            // liste i rasporede sudija).
            float delta;

            if (columnNumber == 1)
            {
                delta = contentBounds.X - (2 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin));  // moza da bude i negativno
                if (delta > contentBounds.X)
                {
                    delta = contentBounds.X;
                }
                xRank     -= delta;
                xIme      -= delta;
                xKlub     -= delta;
                xOcena    -= delta;
                xRightEnd -= delta;
            }
            else
            {
                delta = (1 / 3.0f) * (contentBounds.X - (xRightEnd - rightMargin));  // moza da bude i negativno
                if (delta < 0)
                {
                    delta = 0.0f;
                }
                xRank     += delta;
                xIme      += delta;
                xKlub     += delta;
                xOcena    += delta;
                xRightEnd += delta;
            }

            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 ocenaFormat = Izvestaj.centerCenterFormat;

            StringFormat rankHeaderFormat  = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat  = Izvestaj.centerCenterFormat;
            StringFormat ocenaHeaderFormat = Izvestaj.centerCenterFormat;

            String rankTitle  = Opcije.Instance.RedBrojString;
            String imeTitle   = Opcije.Instance.ImeString;
            String klubTitle  = Opcije.Instance.KlubDrzavaString;
            String ocenaTitle = Opcije.Instance.OcenaString;

            Columns.Clear();

            ReportColumn column1 = addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);

            column1.Image = SlikeSprava.getImage(sprava);
            column1.Split = true;
            column1.Span  = true;

            ReportColumn column;

            column       = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            column       = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            string fmtTot = "F" + Opcije.Instance.BrojDecimalaTotal;

            column       = addColumn(xOcena, ocenaWidth, fmtTot, ocenaFormat, ocenaTitle, ocenaHeaderFormat);
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

            if (column1.Span)
            {
                column1.SpanEndColumn = column;
            }
        }
Exemplo n.º 10
0
 protected ReportColumn addColumn(int itemsIndex, float x, float width,
     StringFormat itemRectFormat, string format)
 {
     ReportColumn result = new ReportColumn(itemsIndex, x, width, String.Empty);
     result.Format = format;
     result.ItemRectFormat = itemRectFormat;
     columns.Add(result);
     result.Lista = this;
     return result;
 }
Exemplo n.º 11
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth  = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float ekipaWidth = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float koloWidth  = rankWidth / 2;

            float spravaWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float totalWidth  = spravaWidth;
            float kvalWidth   = rankWidth / 2;

            float xRank    = contentBounds.X;
            float xEkipa   = xRank + rankWidth;
            float xKolo    = xEkipa + ekipaWidth;
            float xParter  = xKolo + koloWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }

            float xKval = xTotal + totalWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

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

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xEkipa    += delta;
            xKolo     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            StringFormat ekipaFormat = new StringFormat(StringFormatFlags.NoWrap);

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

            StringFormat koloFormat = new StringFormat(StringFormatFlags.NoWrap);

            koloFormat.Alignment     = StringAlignment.Center;
            koloFormat.LineAlignment = StringAlignment.Center;

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

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat ekipaHeaderFormat  = Izvestaj.centerCenterFormat;
            StringFormat koloHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = "Rank";
            String ekipaTitle = "Ekipa";
            String koloTitle  = ""; // TODO3: Neka bude uspravno (isto u i ostalim izvestajima sa vise kola).
            String totalTitle = "Total";
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            ReportColumn column = addColumn(xEkipa, ekipaWidth, ekipaFormat, ekipaTitle, ekipaHeaderFormat);

            column = addKoloColumn(column.getItemsIndexEnd(), 2, xKolo, koloWidth, null, koloFormat,
                                   koloTitle, koloHeaderFormat);

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

            Sprava[] sprave = Sprave.getSprave(gimnastika);

            float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
            for (int i = 0; i < sprave.Length; i++)
            {
                column = addSpravaColumn(column.getItemsIndexEnd(), 2, x[i], spravaWidth, fmtTot,
                                         spravaFormat, "", spravaHeaderFormat);
                column.Image = SlikeSprava.getImage(sprave[i]);
            }

            column = addTotalColumn(column.getItemsIndexEnd(), 3, xTotal, totalWidth, fmtTot, totalFormat,
                                    totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;

            if (kvalColumn)
            {
                column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
        }
Exemplo n.º 12
0
 protected ReportColumn addColumn(int itemsIndex, float x, float width, string format,
     StringFormat itemRectFormat, string headerTitle,
     StringFormat headerFormat)
 {
     ReportColumn result = new ReportColumn(itemsIndex, x, width, headerTitle);
     result.Format = format;
     result.ItemRectFormat = itemRectFormat;
     result.HeaderFormat = headerFormat;
     columns.Add(result);
     result.Lista = this;
     return result;
 }
Exemplo n.º 13
0
 protected ReportColumn addColumn(float x, float width, string headerTitle,
     StringFormat headerFormat)
 {
     ReportColumn result = new ReportColumn(columns.Count, x, width, headerTitle);
     result.HeaderFormat = headerFormat;
     columns.Add(result);
     result.Lista = this;
     return result;
 }
Exemplo n.º 14
0
 protected ReportColumn addColumn(float x, float width)
 {
     ReportColumn result = new ReportColumn(columns.Count, x, width, String.Empty);
     columns.Add(result);
     result.Lista = this;
     return result;
 }
Exemplo n.º 15
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.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);
            }
        }
Exemplo n.º 16
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            // TODO3: Ne bi trebalo pristupati kolonama po fixnom indexu (kao u sledecoj liniji) zato sto je moguce da se
            // index promeni (ako npr. dodam novu kolonu). Isto i u ostalim izvestajima.

            // TODO3: Trenutno se velicine svih kolona za ocene podesavaju prema velicini prve kolone (D). Promeni da se
            // svaka podesava odvojeno. (i u ostalim izvestajima)

            // skok i kval sam podesio kao polovinu Rank kolone.
            float rankWidth  = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth   = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth  = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float skokWidth  = rankWidth / 2;
            float ocenaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float kvalWidth  = rankWidth / 2;

            int brojOcena;

            if (prikaziPenal)
            {
                brojOcena = 4;
            }
            else
            {
                brojOcena = 3;
            }

            float xRank = contentBounds.X;
            float xIme  = xRank + rankWidth;
            float xKlub = xIme + imeWidth;
            float xSkok = 0.0f;
            float xSprava;

            if (obaPreskoka)
            {
                xSkok   = xKlub + klubWidth;
                xSprava = xSkok + skokWidth;
            }
            else
            {
                xSprava = xKlub + klubWidth;
            }

            float xTotal = xSprava + (ocenaWidth * brojOcena);
            float xKval  = xTotal + ocenaWidth;

            if (!obaPreskoka)
            {
                xKval = xSprava + (ocenaWidth * brojOcena);
            }

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

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

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

            xRank += delta;
            xIme  += delta;
            xKlub += delta;
            if (obaPreskoka)
            {
                xSkok += delta;
            }
            xSprava   += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            float xE   = xSprava + ocenaWidth;
            float xPen = xE + ocenaWidth;
            float xTot;

            if (prikaziPenal)
            {
                xTot = xPen + ocenaWidth;
            }
            else
            {
                xTot = xPen;
            }

            float spravaDWidth   = ocenaWidth;
            float spravaEWidth   = ocenaWidth;
            float spravaTotWidth = 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 skokFormat = new StringFormat(StringFormatFlags.NoWrap);

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

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

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

            String rankTitle  = Opcije.Instance.RankString;
            String imeTitle   = Opcije.Instance.ImeString;
            String klubTitle  = Opcije.Instance.KlubDrzavaString;
            String skokTitle  = ""; // TODO3: Neka bude uspravno (isto i u izvestaju za sudijske formulare).
            String totalTitle = Opcije.Instance.TotalString;
            String kvalTitle  = String.Empty;

            Columns.Clear();

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

            column.IncludeInMarking = true;

            column = addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            column.IncludeInMarking = true;

            column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);
            column.IncludeInMarking = true;

            if (obaPreskoka)
            {
                column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSkok, skokWidth, null, skokFormat,
                                              skokTitle, skokHeaderFormat);
            }

            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 (obaPreskoka)
            {
                column1 = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xSprava, spravaDWidth, fmtD,
                                               spravaFormat, "D", spravaHeaderFormat);
            }
            else
            {
                column1 = addColumn(xSprava, spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
            }
            column1.Image = SlikeSprava.getImage(sprava);
            column1.Split = true;
            column1.Span  = true;

            if (obaPreskoka)
            {
                column = addDvaPreskokaColumn(column1.getItemsIndexEnd(), 2, xE, spravaEWidth, fmtE, spravaFormat,
                                              "E", spravaHeaderFormat);
            }
            else
            {
                column = addColumn(xE, spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
            }
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;

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

            string title = Opcije.Instance.TotalString;

            if (obaPreskoka)
            {
                column = addDvaPreskokaColumn(column.getItemsIndexEnd(), 2, xTot, spravaTotWidth, fmtTot, spravaFormat,
                                              title, spravaHeaderFormat);
            }
            else
            {
                column = addColumn(xTot, spravaTotWidth, fmtTot, spravaFormat, title, spravaHeaderFormat);
            }
            column.Image = SlikeSprava.getImage(sprava);
            column.Split = true;
            column.Brush = totalBrush;

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

            if (obaPreskoka)
            {
                column = addColumn(column.getItemsIndexEnd(), xTotal, ocenaWidth, fmtTot, totalFormat,
                                   totalTitle, totalHeaderFormat);
                column.Brush = totalAllBrush;
            }

            if (kvalColumn)
            {
                column = addColumn(column.getItemsIndexEnd(), xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
        }
Exemplo n.º 17
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth  = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;
            float koloWidth = rankWidth / 2;

            float spravaWidth = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float totalWidth  = spravaWidth;

            if (extended)
            {
                spravaWidth = spravaWidth * 2.3f;
            }

            float xRank    = contentBounds.X;
            float xIme     = xRank + rankWidth;
            float xKlub    = xIme + imeWidth;
            float xKolo    = xKlub + klubWidth;
            float xParter  = xKolo + koloWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }
            float xRightEnd = xTotal + totalWidth;

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

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

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xIme      += delta;
            xKlub     += delta;
            xKolo     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xTotal    += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            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 koloFormat = new StringFormat(StringFormatFlags.NoWrap);

            koloFormat.Alignment     = StringAlignment.Center;
            koloFormat.LineAlignment = StringAlignment.Center;

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

            StringFormat rankHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat imeHeaderFormat    = Izvestaj.centerCenterFormat;
            StringFormat klubHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat koloHeaderFormat   = Izvestaj.centerCenterFormat;
            StringFormat spravaHeaderFormat = Izvestaj.centerCenterFormat;
            StringFormat totalHeaderFormat  = Izvestaj.centerCenterFormat;

            String rankTitle  = "Rank";
            String imeTitle   = "Ime";
            String klubTitle  = "Klub";
            String koloTitle  = "";
            String totalTitle = "Total";
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            ReportColumn column = addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

            column = addKoloColumn(column.getItemsIndexEnd(), 4, xKolo, koloWidth, null, koloFormat,
                                   koloTitle, koloHeaderFormat);

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

            Sprava[] sprave = Sprave.getSprave(gimnastika);

            if (extended)
            {
                float[] x = { xParter, xParterE, xParterTot, xKonj,    xKonjE,    xKonjTot,
                              xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot,
                              xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot };
                for (int i = 0; i < sprave.Length; i++)
                {
                    ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
                    column1.Image = SlikeSprava.getImage(sprave[i]);
                    column1.Split = true;
                    column1.Span  = true;

                    column       = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;

                    column       = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;
                    column.Brush = totalBrush;

                    if (column1.Span)
                    {
                        column1.SpanEndColumn = column;
                    }
                }
            }
            else
            {
                float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
                for (int i = 0; i < sprave.Length; i++)
                {
                    column = addSpravaColumn(column.getItemsIndexEnd(), 4, x[i], spravaWidth, fmtTot,
                                             spravaFormat, "", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                }
            }

            column = addTotalColumn(column.getItemsIndexEnd(), 5, xTotal, totalWidth, fmtTot, totalFormat,
                                    totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;
        }
Exemplo n.º 18
0
        private void createColumns(Graphics g, RectangleF contentBounds)
        {
            float gridWidth  = getGridTextWidth(this.formGrid, TEST_TEXT);
            float printWidth = g.MeasureString(TEST_TEXT, itemFont).Width;

            float rankWidth = this.formGrid.Columns[0].Width * printWidth / gridWidth;
            float imeWidth  = this.formGrid.Columns[1].Width * printWidth / gridWidth;
            float klubWidth = this.formGrid.Columns[2].Width * printWidth / gridWidth;

            float spravaWidth  = this.formGrid.Columns[3].Width * printWidth / gridWidth;
            float penaltyWidth = spravaWidth * (2.0f / 3);
            float totalWidth   = spravaWidth;

            if (extended)
            {
                spravaWidth = spravaWidth * 2.3f;
            }
            float kvalWidth = rankWidth / 2;

            float xRank    = contentBounds.X;
            float xIme     = xRank + rankWidth;
            float xKlub    = xIme + imeWidth;
            float xParter  = xKlub + klubWidth;
            float xKonj    = xParter + spravaWidth;
            float xKarike  = xKonj + spravaWidth;
            float xPreskok = xKarike + spravaWidth;
            float xRazboj  = xPreskok + spravaWidth;
            float xVratilo = xRazboj + spravaWidth;
            float xTotal   = xVratilo + spravaWidth;

            if (gimnastika == Gimnastika.ZSG)
            {
                xTotal = xRazboj;
            }

            float xPenalty = xTotal;

            if (penalty)
            {
                xTotal += penaltyWidth;
            }

            float xKval = xTotal + totalWidth;

            float xRightEnd = xKval;

            if (kvalColumn)
            {
                xRightEnd += kvalWidth;
            }

            float dWidth = (xKonj - xParter) / 3;

            float xParterE    = xParter + dWidth;
            float xParterTot  = xParterE + dWidth;
            float xKonjE      = xKonj + dWidth;
            float xKonjTot    = xKonjE + dWidth;
            float xKarikeE    = xKarike + dWidth;
            float xKarikeTot  = xKarikeE + dWidth;
            float xPreskokE   = xPreskok + dWidth;
            float xPreskokTot = xPreskokE + dWidth;
            float xRazbojE    = xRazboj + dWidth;
            float xRazbojTot  = xRazbojE + dWidth;
            float xVratiloE   = xVratilo + dWidth;
            float xVratiloTot = xVratiloE + dWidth;

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

            if (delta < -contentBounds.X)
            {
                delta = -contentBounds.X;
            }
            xRank     += delta;
            xIme      += delta;
            xKlub     += delta;
            xParter   += delta;
            xKonj     += delta;
            xKarike   += delta;
            xPreskok  += delta;
            xRazboj   += delta;
            xVratilo  += delta;
            xPenalty  += delta;
            xTotal    += delta;
            xKval     += delta;
            xRightEnd += delta;

            xParterE  += delta;
            xKonjE    += delta;
            xKarikeE  += delta;
            xPreskokE += delta;
            xRazbojE  += delta;
            xVratiloE += delta;

            xParterTot  += delta;
            xKonjTot    += delta;
            xKarikeTot  += delta;
            xPreskokTot += delta;
            xRazbojTot  += delta;
            xVratiloTot += delta;

            float spravaDWidth   = dWidth;
            float spravaEWidth   = dWidth;
            float spravaTotWidth = xKonj - xParter - 2 * dWidth;

            StringFormat rankFormat = Izvestaj.centerCenterFormat;

            // TODO3: Ispravi sledece greske gde je umesto Alignment stavljeno ponovljeno LineAlignment. Uradi to i u
            // ostalim izvestajima.

            StringFormat imeFormat = new StringFormat(StringFormatFlags.NoWrap);

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

            StringFormat klubFormat = new StringFormat(StringFormatFlags.NoWrap);

            klubFormat.LineAlignment = StringAlignment.Center;
            klubFormat.LineAlignment = StringAlignment.Center;

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

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

            String rankTitle  = Opcije.Instance.RankString;
            String imeTitle   = Opcije.Instance.ImeString;
            String klubTitle  = Opcije.Instance.KlubDrzavaString;
            String totalTitle = Opcije.Instance.TotalString;
            String kvalTitle  = String.Empty;

            Columns.Clear();

            addColumn(xRank, rankWidth, rankFormat, rankTitle, rankHeaderFormat);
            addColumn(xIme, imeWidth, imeFormat, imeTitle, imeHeaderFormat);
            addColumn(xKlub, klubWidth, klubFormat, klubTitle, klubHeaderFormat);

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

            Sprava[]     sprave = Sprave.getSprave(gimnastika);
            ReportColumn column;

            if (extended)
            {
                float[] x = { xParter, xParterE, xParterTot, xKonj,    xKonjE,    xKonjTot,
                              xKarike, xKarikeE, xKarikeTot, xPreskok, xPreskokE, xPreskokTot,
                              xRazboj, xRazbojE, xRazbojTot, xVratilo, xVratiloE, xVratiloTot };
                for (int i = 0; i < sprave.Length; i++)
                {
                    ReportColumn column1 = addColumn(x[3 * i], spravaDWidth, fmtD, spravaFormat, "D", spravaHeaderFormat);
                    column1.Image = SlikeSprava.getImage(sprave[i]);
                    column1.Split = true;
                    column1.Span  = true;

                    column       = addColumn(x[3 * i + 1], spravaEWidth, fmtE, spravaFormat, "E", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;

                    column       = addColumn(x[3 * i + 2], spravaTotWidth, fmtTot, spravaFormat, "Total", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                    column.Split = true;
                    column.Brush = totalBrush;

                    if (column1.Span)
                    {
                        column1.SpanEndColumn = column;
                    }
                }
            }
            else
            {
                float[] x = { xParter, xKonj, xKarike, xPreskok, xRazboj, xVratilo };
                for (int i = 0; i < sprave.Length; i++)
                {
                    column       = addColumn(x[i], spravaWidth, fmtTot, spravaFormat, "", spravaHeaderFormat);
                    column.Image = SlikeSprava.getImage(sprave[i]);
                }
            }

            column       = addColumn(xTotal, totalWidth, fmtTot, totalFormat, totalTitle, totalHeaderFormat);
            column.Brush = totalAllBrush;

            if (kvalColumn)
            {
                column = addColumn(xKval, kvalWidth, kvalFormat, kvalTitle);
                column.DrawHeaderRect = false;
                column.DrawItemRect   = false;
            }
            if (penalty)
            {
                column = addColumn(xPenalty, penaltyWidth, fmtPen, totalFormat, "Pen.", totalHeaderFormat);
                if (!kvalColumn)
                {
                    // Posto se kvalifikacioni status uvek dodaje u report items, cak i ako ne postoji kolona za
                    // kval. status, moram da azuriram report item index za penalty ako nije dodata kolona za
                    // kvalifikacioni status.
                    column.itemsIndex += 1;
                }
            }
        }