Ejemplo n.º 1
0
        public void SaveLoadTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            Paragraph p = new Paragraph(document);

            p.StyleName = "Standard";
            ODFForm main_form = new ODFForm(document, "mainform");

            main_form.Method = Method.Get;
            ODFFrame frm = new ODFFrame(main_form, p.Content, "frm", "5mm", "5mm", "5cm", "3cm");

            frm.Label = "Save and Load test";
            main_form.Controls.Add(frm);

            ODFButton butt = new ODFButton(main_form, p.Content, "butt", "1cm", "15mm", "4cm", "1cm");

            butt.Label = "A simple button :)";
            main_form.Controls.Add(butt);

            document.Forms.Add(main_form);
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "saveload.odt");

            document.Load(AARunMeFirstAndOnce.outPutFolder + "saveload.odt");
            ODFButton bt = document.FindControlById("butt") as ODFButton;

            Assert.IsNotNull(bt, "Could not find control with >butt< ID");
            bt.Label = "This label has chanhed";
            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "saveload2.odt");
        }
Ejemplo n.º 2
0
        public void GenericPropertiesTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            Paragraph p = new Paragraph(document);

            p.StyleName = "Standard";
            ODFForm main_form = new ODFForm(document, "mainform");

            // add form:properties to the form
            main_form.Properties.Add(new SingleFormProperty(document, PropertyValueType.String, "name", "Oleg Yegorov"));
            main_form.Properties.Add(new SingleFormProperty(document, PropertyValueType.String, "comment", "ODF rulezz!"));
            main_form.Properties.Add(new SingleFormProperty(document, PropertyValueType.Boolean, "some_bool_value", "true"));
            // please check content.xml file to see that they were really added :)

            main_form.Method = Method.Get;
            ODFFrame frm = new ODFFrame(main_form, p.Content, "frm", "5mm", "5mm", "5cm", "7cm");

            frm.Label = "Generic properties test.";
            main_form.Controls.Add(frm);

            document.Forms.Add(main_form);
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "generic_prop.odt");
        }
Ejemplo n.º 3
0
        public void ODFListBoxAndComboBoxTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            Paragraph p = new Paragraph(document);

            p.StyleName = "Standard";
            ODFForm main_form = new ODFForm(document, "mainform");

            main_form.Method = Method.Get;

            ODFFrame frm = new ODFFrame(main_form, p.Content, "frm", "5mm", "5mm", "5cm", "7cm");

            frm.Label = "List- and ComboBox test";
            main_form.Controls.Add(frm);

            ODFListBox lb = new ODFListBox(main_form, p.Content, "lb", "1cm", "15mm", "4cm", "5cm");

            lb.Options.Add(new ODFOption(document, "Charlie"));
            lb.Options.Add(new ODFOption(document, "John"));
            lb.Options.Add(new ODFOption(document, "Dieter"));
            lb.Options.Add(new ODFOption(document, "Bill"));
            lb.Options.Add(new ODFOption(document, "Oleg"));
            lb.Options.Add(new ODFOption(document, "Lars"));
            main_form.Controls.Add(lb);

            ODFComboBox cb = new ODFComboBox(main_form, p.Content, "cb", "1cm", "65mm", "4cm", "6mm");

            cb.Items.Add(new ODFItem(document, "Charlie"));
            cb.Items.Add(new ODFItem(document, "John"));
            cb.Items.Add(new ODFItem(document, "Dieter"));
            cb.Items.Add(new ODFItem(document, "Bill"));
            cb.Items.Add(new ODFItem(document, "Oleg"));
            cb.Items.Add(new ODFItem(document, "Lars"));
            cb.CurrentValue = "Please select a value...";
            cb.DropDown     = XmlBoolean.True;

            main_form.Controls.Add(cb);

            document.Forms.Add(main_form);
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "listbox_combobox.odt");
        }
Ejemplo n.º 4
0
        public void ODFFrameTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            // Create a main paragraph
            Paragraph p = new Paragraph(document);
            // Create a main form
            ODFForm main_form = new ODFForm(document, "mainform");

            main_form.Method = Method.Get;

            // Create a frame
            ODFFrame frm = new ODFFrame(main_form, p.Content, "frm", "5mm", "5mm", "5cm", "3cm");

            frm.Label = "ODFFrame test";
            // Add the frame to the form control list
            main_form.Controls.Add(frm);

            // Create a button
            ODFButton butt = new ODFButton(main_form, p.Content, "butt", "1cm", "15mm", "4cm", "1cm");

            butt.Label = "A simple button :)";
            // Add the button to the form control list
            main_form.Controls.Add(butt);

            // Add the forms to the document!
            document.Forms.Add(main_form);
            // Add the paragraph to the content list
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "frame_test.odt");
            document.Load(AARunMeFirstAndOnce.outPutFolder + "frame_test.odt");
            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "frame_test2.odt");
        }
Ejemplo n.º 5
0
        public void NestedFormTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            // Create a main paragraph
            Paragraph p = new Paragraph(document);
            // Create a main form
            ODFForm main_form  = new ODFForm(document, "mainform");
            ODFForm child_form = new ODFForm(document, "childform");

            main_form.Method = Method.Get;
            main_form.Method = Method.Get;

            // Create a frame
            ODFFrame frm = new ODFFrame(main_form, p.Content, "frm", "5mm", "5mm", "5cm", "3cm");

            frm.Label = "Main form";
            // Add the frame to the form control list
            main_form.Controls.Add(frm);

            // Create a button
            ODFButton butt = new ODFButton(main_form, p.Content, "butt", "1cm", "15mm", "4cm", "1cm");

            butt.Label = "This is a main form";
            // Add the button to the form control list
            main_form.Controls.Add(butt);

            // Add the forms to the main form!
            document.Forms.Add(main_form);
            // Add the paragraph to the content list
            document.Content.Add(p);


            // adding controls to the nested form
            ODFFrame frm_child = new ODFFrame(child_form, p.Content, "frm_child", "5mm", "35mm", "5cm", "3cm");

            frm_child.Label = "Child form";
            child_form.Controls.Add(frm_child);

            ODFButton butt_child = new ODFButton(child_form, p.Content, "butt_child", "1cm", "45mm", "4cm", "1cm");

            butt_child.Label = "This is a child form";
            child_form.Controls.Add(butt_child);
            main_form.ChildForms.Add(child_form);

            ODFButton b = document.FindControlById("butt_child") as ODFButton;

            Assert.IsNotNull(b, "Error! could not find the specified control");
            b.Label = "Child form:)";


            // Add the forms to the main form!
            document.Forms.Add(main_form);
            // Add the paragraph to the content list
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "nested_forms_test.odt");
            document.Load(AARunMeFirstAndOnce.outPutFolder + "nested_forms_test.odt");
            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "nested_forms_test2.odt");
        }
Ejemplo n.º 6
0
        public void ODFHiddenAndFormActionTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

            // Create a main paragraph
            Paragraph p = new Paragraph(document);
            // Create a main form

            // Create the first form (Method = GET)
            ODFForm form1 = new ODFForm(document, "form1");

            form1.Method = Method.Get;
            form1.Href   = "http://foo.foo";

            // Create all the controls for form1
            ODFFrame frm1 = new ODFFrame(form1, p.Content, "frm1", "5mm", "5mm", "11cm", "3cm");

            frm1.Label = "Form submission test (Method = GET, Hidden name = hid)";
            form1.Controls.Add(frm1);
            ODFButton butt1 = new ODFButton(form1, p.Content, "butt1", "2cm", "15mm", "8cm", "1cm");

            butt1.Label      = "Submit to foo.foo!";
            butt1.ButtonType = ButtonType.Submit;
            butt1.Name       = "butt1";
            form1.Controls.Add(butt1);
            ODFHidden hid1 = new ODFHidden(form1, p.Content, "hid1", "0cm", "0cm", "0cm", "0cm");

            hid1.Value = "hello!";
            hid1.Name  = "hid1";
            form1.Controls.Add(hid1);

            // Create the second form (Method = POST)
            ODFForm form2 = new ODFForm(document, "form2");

            form2.Method = Method.Post;
            form2.Href   = "http://foo.foo.2";
            ODFFrame frm2 = new ODFFrame(form2, p.Content, "frm2", "5mm", "45mm", "11cm", "3cm");

            frm2.Label = "Form submission test (Method = POST, Hidden name = hid)";
            form2.Controls.Add(frm2);

            // Create all the controls for form2
            ODFButton butt2 = new ODFButton(form2, p.Content, "butt2", "2cm", "55mm", "8cm", "1cm");

            butt2.Label      = "Submit to foo.foo!";
            butt2.ButtonType = ButtonType.Submit;
            butt2.Name       = "butt2";
            form2.Controls.Add(butt2);
            ODFHidden hid2 = new ODFHidden(form2, p.Content, "hid2", "0cm", "0cm", "0cm", "0cm");

            hid2.Value = "hello!";
            hid2.Name  = "hid2";
            form2.Controls.Add(hid2);

            document.Forms.Add(form1);
            document.Forms.Add(form2);
            document.Content.Add(p);

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "hidden_subm_test.odt");
            document.Load(AARunMeFirstAndOnce.outPutFolder + "hidden_subm_test.odt");
            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "hidden_subm_test2.odt");
        }
Ejemplo n.º 7
0
        private void menuItem4_Click(object sender, System.EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textDocument.New();
                Paragraph p1 = new Paragraph(textDocument);
                p1.TextContent.Add(new SimpleText(textDocument, "This is a test form generated by the ODF Forms demo generator using the AODL library."));

                Paragraph p2 = new Paragraph(textDocument);

                ODFForm fMain = textDocument.AddNewForm("mainform");

                ODFFrame frame = new ODFFrame(fMain, p2.Content, "frame", "5mm", "5mm", "9cm", "5cm");
                frame.Label      = "Demo Form";
                frame.AnchorType = AnchorType.Paragraph;


                ODFFixedText ft_name = new ODFFixedText(fMain, p2.Content, "ft_name", "8mm", "10mm", "3cm", "4mm");
                ft_name.Label = "Name";

                ODFTextArea name = new ODFTextArea(fMain, p2.Content, "name", "8mm", "14mm", "3cm", "5mm");
                name.CurrentValue = eName.Text;
                name.AnchorType   = AnchorType.Paragraph;

                ODFFixedText ft_surname = new ODFFixedText(fMain, p2.Content, "ft_surname", "8mm", "20mm", "3cm", "4mm");
                ft_surname.Label = "Surname";

                ODFTextArea surname = new ODFTextArea(fMain, p2.Content, "surname", "8mm", "24mm", "3cm", "5mm");
                surname.CurrentValue = eSurname.Text;
                surname.AnchorType   = AnchorType.Paragraph;

                ODFFixedText ft_gender = new ODFFixedText(fMain, p2.Content, "ft_gender", "8mm", "30mm", "3cm", "4mm");
                ft_gender.Label = "Gender";

                ODFListBox gender = new ODFListBox(fMain, p2.Content, "gender", "8mm", "35mm", "3cm", "5mm");

                ODFOption male = new ODFOption(textDocument, "Male");
                if (eGender.SelectedIndex == 0)
                {
                    male.CurrentSelected = XmlBoolean.True;
                }
                gender.Options.Add(male);
                ODFOption female = new ODFOption(textDocument, "Female");
                if (eGender.SelectedIndex == 1)
                {
                    female.CurrentSelected = XmlBoolean.True;
                }
                gender.Options.Add(female);
                gender.AnchorType = AnchorType.Paragraph;
                gender.DropDown   = XmlBoolean.True;

                ODFFixedText ft_age = new ODFFixedText(fMain, p2.Content, "ft_age", "8mm", "40mm", "3cm", "4mm");
                ft_age.Label = "Age";
                ODFFormattedText age = new ODFFormattedText(fMain, p2.Content, "age", "8mm", "44mm", "3cm", "5mm");
                age.CurrentValue = eAge.Value.ToString();
                age.MinValue     = 16;
                age.MaxValue     = 100;


                ODFFixedText ft_addinfo = new ODFFixedText(fMain, p2.Content, "ft_addinfo", "45mm", "10mm", "45mm", "4mm");
                ft_addinfo.Label = "Additional information";

                ODFTextArea addinfo = new ODFTextArea(fMain, p2.Content, "addinfo", "45mm", "14mm", "45mm", "25mm");
                addinfo.CurrentValue = eAdditional.Text;
                addinfo.AnchorType   = AnchorType.Paragraph;
                addinfo.Properties.Add(new SingleFormProperty(textDocument, PropertyValueType.Boolean, "MultiLine", "true"));

                ODFCheckBox usesaodl = new ODFCheckBox(fMain, p2.Content, "usesaodl", "45mm", "40mm", "45mm", "25mm");
                if (eUsesAODL.Checked)
                {
                    usesaodl.CurrentState = State.Checked;
                }
                usesaodl.Label      = "This person uses AODL:)";
                usesaodl.AnchorType = AnchorType.Paragraph;

                fMain.Controls.Add(frame);
                fMain.Controls.Add(ft_name);
                fMain.Controls.Add(name);
                fMain.Controls.Add(ft_surname);
                fMain.Controls.Add(surname);
                fMain.Controls.Add(ft_gender);
                fMain.Controls.Add(gender);
                fMain.Controls.Add(ft_age);
                fMain.Controls.Add(age);
                fMain.Controls.Add(ft_addinfo);
                fMain.Controls.Add(addinfo);
                fMain.Controls.Add(usesaodl);

                textDocument.Content.Add(p1);
                textDocument.Content.Add(p2);

                textDocument.SaveTo(saveFileDialog1.FileName);
                lastOpenedFile = saveFileDialog1.FileName;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Gets the form.
        /// </summary>
        /// <param name="formnode">The node of the form.</param>
        /// <returns></returns>
        private ODFForm CreateForm(XmlNode formnode)
        {
            ODFForm form = null;

            try
            {
                if (formnode.Name == "form:form")
                {
                    if (this._debugMode)
                    {
                        this.LogNode(formnode, "Log form node before");
                    }

                    //Create a new ODFForm

                    ///////////TODO. Fix for child forms!
                    form = new ODFForm(formnode.CloneNode(true), this._document);

                    form.SuppressControlEvents();
                    foreach (XmlNode nodeChild in form.Node.ChildNodes)
                    {
                        switch (nodeChild.Name)
                        {
                        case "form:form":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFForm frmchild = CreateForm(nodeChild);
                                if (frmchild != null)
                                {
                                    form.ChildForms.Add(frmchild);
                                }
                                form.Node.RemoveChild(nodeChild);
                            }
                            break;

                        case "form:properties": break;

                        case "form:button":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFButton button = new ODFButton(form, nodeChild);
                                button.FixPropertyCollection();
                                form.Controls.Add(button);
                            }
                            break;

                        case "form:listbox":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFListBox listbox = new ODFListBox(form, nodeChild);
                                listbox.FixPropertyCollection();
                                listbox.FixOptionCollection();
                                form.Controls.Add(listbox);
                            }
                            break;

                        case "form:combobox":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFComboBox combobox = new ODFComboBox(form, nodeChild);
                                combobox.FixPropertyCollection();
                                combobox.FixItemCollection();
                                form.Controls.Add(combobox);
                            }
                            break;

                        case "form:textarea":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFTextArea text = new ODFTextArea(form, nodeChild);
                                text.FixPropertyCollection();
                                form.Controls.Add(text);
                            }
                            break;

                        case "form:frame":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFFrame frm = new ODFFrame(form, nodeChild);
                                frm.FixPropertyCollection();
                                form.Controls.Add(frm);
                            }
                            break;

                        case "form:file":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFFile file = new ODFFile(form, nodeChild);
                                file.FixPropertyCollection();
                                form.Controls.Add(file);
                            }
                            break;

                        case "form:hidden":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFHidden hidden = new ODFHidden(form, nodeChild);
                                hidden.FixPropertyCollection();
                                form.Controls.Add(hidden);
                            }
                            break;

                        case "form:checkbox":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFCheckBox cb = new ODFCheckBox(form, nodeChild);
                                cb.FixPropertyCollection();
                                form.Controls.Add(cb);
                            }
                            break;

                        case "form:radio":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFRadioButton rb = new ODFRadioButton(form, nodeChild);
                                rb.FixPropertyCollection();
                                form.Controls.Add(rb);
                            }
                            break;

                        case "form:formatted-text":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFFormattedText text = new ODFFormattedText(form, nodeChild);
                                text.FixPropertyCollection();
                                form.Controls.Add(text);
                            }
                            break;

                        case "form:value-range":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFValueRange vr = new ODFValueRange(form, nodeChild);
                                vr.FixPropertyCollection();
                                form.Controls.Add(vr);
                            }
                            break;

                        case "form:image":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFImage img = new ODFImage(form, nodeChild);
                                img.FixPropertyCollection();
                                form.Controls.Add(img);
                            }
                            break;

                        case "form:image-frame":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFImageFrame imgf = new ODFImageFrame(form, nodeChild);
                                imgf.FixPropertyCollection();
                                form.Controls.Add(imgf);
                            }
                            break;

                        case "form:grid":
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFGrid gr = new ODFGrid(form, nodeChild);
                                gr.FixPropertyCollection();
                                gr.FixColumnCollection();
                                form.Controls.Add(gr);
                            }
                            break;

                        default:
                            if (nodeChild.ParentNode == form.Node)
                            {
                                ODFGenericControl gc = new ODFGenericControl(form, nodeChild);
                                gc.FixPropertyCollection();
                                form.Controls.Add(gc);
                            }
                            break;
                        }
                    }
                    form.RestoreControlEvents();
                    form.FixPropertyCollection();
                    //	formnode.RemoveAll();
                    //	formnode.InnerText = "";
                }
            }


            catch (Exception ex)
            {
                throw new AODLException("Exception while processing a form:form node.", ex);
            }
            return(form);
        }