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"); }
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"); }
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"); }
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"); }
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"); }
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"); }
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; } }
/// <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); }