Beispiel #1
0
 private void fillItemData()
 {
     tbName.Text            = editedItem.getName();
     tbcDescription.Text    = editedItem.description;
     tbComment.Text         = editedItem.comment;
     beImage.Value          = editedItem.pathToImage;
     pImage.BackgroundImage = editedItem.image;
     cbVisibility.Checked   = editedItem.visibility;
     cbSingleUse.Checked    = editedItem.singleUse;
     foreach (ListViewDataItem lvPerson in lvPersons.Items)
     {
         if (editedItem.personsId.Contains((int)lvPerson.Value))
         {
             lvPerson.CheckState = Telerik.WinControls.Enumerations.ToggleState.On;
         }
     }
     opening = false;
 }
        private void compileDocument()
        {
            //doc.LineSpacing = 12;

            /*
             * Paragraph paragraph1 = new Paragraph();
             * Stream stream = Application.GetResourceStream(new Uri(@"/RadRichTextBox-Getting-Started;component/Images/RadRichTextBox.png", UriKind.RelativeOrAbsolute)).Stream;
             * Size size = new Size(236, 50);
             * ImageInline imageInline = new ImageInline(stream, size, "png");
             * paragraph1.Inlines.Add(imageInline);
             * section.Blocks.Add(paragraph1);
             */
            // вид документа:
            // предыстория, на отдельной странице (потом разрыв)
            // имя персонажа большими буквами посередине страницы
            // описание, сюжет
            // список целей, ненумерованным списком
            // список предметов (если есть), нумерованным списком
            // правила игры


            doc = new RadDocument();
            doc.MergeSpansWithSameStyles();
            doc.ParagraphDefaultSpacingAfter  = 0;
            doc.ParagraphDefaultSpacingBefore = 0;
            Padding padding = new System.Windows.Forms.Padding(0, 20, 100, 60);

            doc.SectionDefaultPageMargin = padding;
            //doc.SectionDefaultPageMargin.
            //doc.DefaultPageLayoutSettings.Width = 200;
            //doc.DefaultPageLayoutSettings.Height = 250;
            RadDocument tempDoc = new RadDocument();

            // **** Prehistory***********
            tempDoc = htmlProvider.Import(prehistory.writtenText);
            mergeDocuments(tempDoc);
            doc.CaretPosition.MoveToLastPositionInDocument();
            doc.InsertPageBreak();

            // **** Person Name ***********
            Section   section    = new Section();
            Paragraph paragraph1 = new Paragraph();

            paragraph1.TextAlignment = Telerik.WinControls.RichTextBox.Layout.RadTextAlignment.Center;
            Span span1 = new Span(chosenPerson.getName());

            span1.FontSize      = 24;
            span1.FontStyle     = TextStyle.Bold;
            span1.UnderlineType = Telerik.WinControls.RichTextBox.UI.UnderlineType.Wave;
            paragraph1.Inlines.Add(span1);
            section.Blocks.Add(paragraph1);
            doc.Sections.Add(section);

            // **** Person's description***********
            tempDoc = htmlProvider.Import(chosenPerson.description);
            mergeDocuments(tempDoc, section);

            // **** Aim list***********
            BulletedList aimList  = new BulletedList(char.ConvertFromUtf32(0x25CF)[0], doc);
            Section      section2 = new Section();
            Paragraph    par2     = new Paragraph();

            doc.CaretPosition.MoveToLastPositionInDocument();
            doc.InsertLineBreak();
            Span span2 = new Span("Your Aims:");

            par2.Inlines.Add(span2);
            section2.Blocks.Add(par2);

            foreach (int aimID in chosenPerson.aimsId)
            {
                CAim      aim  = aimManager.getAim(aimID);
                Paragraph par  = new Paragraph();
                Span      span = new Span(aim.getName());
                if (aim.description != "")
                {
                    span.Text += " (" + aim.description + ")";
                }
                par.Inlines.Add(span);
                par.LineSpacingType = LineSpacingType.AtLeast;
                aimList.AddParagraph(par);
                section2.Blocks.Add(par);
            }
            doc.Sections.Add(section2);

            // **** Item list***********
            if (chosenPerson.itemsId.Count > 0)
            {
                NumberedList itemList = new NumberedList(doc);
                Section      section3 = new Section();
                Paragraph    par3     = new Paragraph();
                Span         span3    = new Span("Your Items:");
                par3.Inlines.Add(span3);
                section3.Blocks.Add(par3);

                foreach (int itemID in chosenPerson.itemsId)
                {
                    CItem     item = itemManager.getItem(itemID);
                    Paragraph par  = new Paragraph();
                    Span      span = new Span(item.getName());
                    if (item.description != "")
                    {
                        span.Text += " (" + item.description + ")";
                    }
                    par.Inlines.Add(span);
                    par.LineSpacingType = LineSpacingType.AtLeast;
                    itemList.AddParagraph(par);
                    section3.Blocks.Add(par);
                }
                doc.Sections.Add(section3);
            }

            // **** Rules***********
            doc.CaretPosition.MoveToLastPositionInDocument();
            doc.InsertLineBreak();
            tempDoc = htmlProvider.Import(rules.writtenText);
            mergeDocuments(tempDoc, doc.Sections.Last);
        }