Esempio n. 1
0
        public void ODFFileTest()
        {
            //Create a new text document
            TextDocument document = new TextDocument();

            document.New();

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

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

            main_form.Method = Method.Get;

            // Create an ODFFile
            ODFFile file = new ODFFile(main_form, p.Content, "file", "5mm", "5mm", "5cm", "1cm");

            file.Title = "File control";
            // This control will not be printable!
            file.Printable = XmlBoolean.False;
            main_form.Controls.Add(file);

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

            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "file_test.odt");
            document.Load(AARunMeFirstAndOnce.outPutFolder + "file_test.odt");
            document.SaveTo(AARunMeFirstAndOnce.outPutFolder + "file_test2.odt");
        }
Esempio n. 2
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);
        }