Esempio n. 1
0
        public Przeciaganie(Rozmieszczenia _R, widok_matryca _WM, Jądro _J)
        {
            R = _R; WM = _WM; J = _J; kopiaR = _R;
            MessageBoxResult result = MessageBox.Show("Rozmieszczono figury. \nCzy chesz poprawićrozmieszczenie ręcznie?", "Rozmieszczanie manualne",
                                                      MessageBoxButton.YesNo, MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {
                _R.czyZmienaneRecznie = true;
                Okno = new manualna_edycja_okno_info(this);
                Okno.Show();
                czyEdytowac = true;
                rzaz        = J.odstep;

                kopiaPunktow = new Dictionary <int, Punkt>();

                foreach (MatrycaFiguraPunkt O in R.lokalizacja_figur)
                {
                    kopiaPunktow.Add(O.figura.ID, new Punkt(O.p.x, O.p.y));
                }
            }
            else if (result == MessageBoxResult.No)
            {
                czyEdytowac = false;
            }
        }
Esempio n. 2
0
 private static void  GetInfoPDF(Jądro J, int i, iTextSharp.text.pdf.PdfPTable table, List <string> listawybranychinformacji)
 {
     foreach (var item in listawybranychinformacji)
     {
         if (item == "Numer Matrycy")
         {
             iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell();
             iTextSharp.text.Paragraph    p    = new iTextSharp.text.Paragraph();
             p.Add(new iTextSharp.text.Phrase("Numer Matrycy"));
             p.Add(new iTextSharp.text.Phrase(Jądro.NAJLEPSZE.wypiszNRMatrycy(i)));
             p.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
             if (Jądro.NAJLEPSZE.wypiszNRMatrycy(i) != "")
             {
                 cell.AddElement(p);
                 table.AddCell(cell);
             }
         }
         if (item == "ID")
         {
             iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell();
             iTextSharp.text.Paragraph    p    = new iTextSharp.text.Paragraph();
             p.Add(new iTextSharp.text.Phrase("ID"));
             p.Add(new iTextSharp.text.Phrase(Jądro.NAJLEPSZE.wypiszID(i)));
             p.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
             if (Jądro.NAJLEPSZE.wypiszNRMatrycy(i) != "")
             {
                 cell.AddElement(p);
                 table.AddCell(cell);
             }
         }
         if (item == "Punkt Zaczepienia")
         {
             iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell();
             iTextSharp.text.Paragraph    p    = new iTextSharp.text.Paragraph();
             p.Add(new iTextSharp.text.Phrase("Punkt Zaczepienia"));
             p.Add(new iTextSharp.text.Phrase(Jądro.NAJLEPSZE.wypiszPunktZaczepienia(i)));
             p.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
             if (Jądro.NAJLEPSZE.wypiszNRMatrycy(i) != "")
             {
                 cell.AddElement(p);
                 table.AddCell(cell);
             }
         }
         if (item == "Wymiary")
         {
             iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell();
             iTextSharp.text.Paragraph    p    = new iTextSharp.text.Paragraph();
             p.Add(new iTextSharp.text.Phrase("Wymiary"));
             p.Add(new iTextSharp.text.Phrase(Jądro.NAJLEPSZE.wypiszWymiary(i)));
             p.Alignment = iTextSharp.text.Element.ALIGN_CENTER;
             if (Jądro.NAJLEPSZE.wypiszNRMatrycy(i) != "")
             {
                 cell.AddElement(p);
                 table.AddCell(cell);
             }
         }
     }
 }
Esempio n. 3
0
        public static void PDF(Jądro J, Widoki.widok_matryca W, Rysowanie rys, List <string> listawybranychinformacji)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "PDF file (*.pdf)|*.pdf";
            //  try
            // {
            if (saveFileDialog.ShowDialog() == true)
            {
                string        path = System.AppDomain.CurrentDomain.BaseDirectory + "tmp";
                DirectoryInfo di   = Directory.CreateDirectory(path);

                iTextSharp.text.Document      doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
                iTextSharp.text.pdf.PdfWriter wri = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(saveFileDialog.FileName, FileMode.Create));
                doc.Open();



                if (listawybranychinformacji[0] == "Cztery na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(2);
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }


                    float[] widths = new float[] { iTextSharp.text.PageSize.A4.Width - doc.LeftMargin, iTextSharp.text.PageSize.A4.Width - doc.RightMargin };

                    table.SetWidths(widths);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;

                    Wszystkie(W, rys, true);

                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);
                        table.AddCell(PNG);
                        if (rys.liczba_matryc + 1 % 2 != 0 && i + 1 > rys.liczba_matryc)
                        {
                            table.AddCell(new iTextSharp.text.pdf.PdfPCell(new iTextSharp.text.Phrase("")));
                        }

                        if (listawybranychinformacji.Count > 1 && i % 4 == 0)
                        {
                            for (int k = i; k <= i + 3; k++)
                            {
                                GetInfoPDF(J, k, tableInfo, listawybranychinformacji);
                            }
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        if ((i % 4 == 3 && i != 0) || i + 1 > rys.liczba_matryc)
                        {
                            doc.Add(table);
                            doc.NewPage();
                            table = new iTextSharp.text.pdf.PdfPTable(2);

                            table.SetWidths(widths);
                            table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                            table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                            table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                        }
                    }
                }
                else if (listawybranychinformacji[0] == "Dwie na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(1);
                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }

                    float[] widths = new float[] { iTextSharp.text.PageSize.A4.Width - doc.LeftMargin };

                    table.SetWidths(widths);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;

                    Wszystkie(W, rys, true);

                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);
                        table.AddCell(PNG);
                        if (listawybranychinformacji.Count > 1 && i % 2 == 0)
                        {
                            for (int k = i; k <= i + 1; k++)
                            {
                                GetInfoPDF(J, k, tableInfo, listawybranychinformacji);
                            }
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        if (i % 2 != 0 && i != 0 || i + 1 > rys.liczba_matryc)
                        {
                            doc.Add(table);
                            doc.NewPage();
                            table = new iTextSharp.text.pdf.PdfPTable(1);
                            table.SetWidths(widths);
                            table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                            table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                            table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                        }
                    }
                }
                else if (listawybranychinformacji[0] == "Jedna na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(1);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin));
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                    Wszystkie(W, rys, true);

                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }


                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);



                        table.AddCell(PNG);
                        if (listawybranychinformacji.Count > 1)
                        {
                            GetInfoPDF(J, i, tableInfo, listawybranychinformacji);
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        doc.Add(table);
                        doc.NewPage();
                        table = new iTextSharp.text.pdf.PdfPTable(1);
                        table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                        table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                    }
                }
                else if (listawybranychinformacji[0] == "Brak")
                {
                    if (listawybranychinformacji.Count > 1)
                    {
                        iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);


                        for (int i = 0; i <= rys.liczba_matryc; i++)
                        {
                            GetInfoPDF(J, i, table, listawybranychinformacji);

                            doc.Add(table);
                            table = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                    }
                }


                doc.Close();
                foreach (FileInfo file in di.GetFiles())
                {
                    file.Delete();
                }
                di.Delete();
            }
            //   }
            //   catch {
            //     MessageBox.Show("Coś poszło nie tak!","Błąd!", MessageBoxButton.OK,MessageBoxImage.Warning);
            //  }
        }