Exemplo n.º 1
0
        public void CreateUserFromNewButton(TenantData data, string planName)
        {
            Log.Information("---Click New button---");
            Browser.WaitForAjax();
            OpenDrawer();
            Log.Information("---Select User Account---");

            Browser.WaitForAjax();

            this.drawer.SelectItem("USER ACCOUNT");

            Browser.WaitForAjax();
            this.drawer.SelectItem("QUICK CREATE");

            var emailTextBox = new HtmlTextBox(this, this.Browser.FindElement(By.Id("accountEmail")));

            emailTextBox.SetText(data.emailAddress);
            var passwordTextBox = new HtmlTextBox(this, this.Browser.FindElement(By.Id("accountPassword")));

            passwordTextBox.SetText(data.password);
            var repeatPswTextBox = new HtmlTextBox(this, this.Browser.FindElement(By.Id("confirmPassword")));

            repeatPswTextBox.SetText(data.password);
            Thread.Sleep(1000 * 2);
            IWebElement   ee = this.SearchContext.FindElement(By.Id("accountPlanDropDown"));
            SelectElement e  = new SelectElement(ee);

            e.WrappedElement.Click();
            e.SelectByText(planName + " (public)");
            Thread.Sleep(1000 * 2);
            var createButton = new HtmlButton(this, this.Browser.FindElement(By.XPath("//*[text()='Create']")));

            createButton.Click();
        }
Exemplo n.º 2
0
        public void Visit(HtmlTextBox h)
        {
            sb.Append(Tabs(h.Depth));
            sb.Append(string.Format("<{0}", h.Tag));

            foreach (var a in h.Attributes.Where(a => a.IsSet))
            {
                sb.Append(a);
            }

            foreach (var e in h.Events.Where(e => e.IsSet))
            {
                sb.Append(e);
            }

            sb.AppendLine(">");
        }
        private static HtmlTextBox CreateHtmlTextBoxFromDataTable(DataTable dataTable)
        {
            var fileName = Path.GetTempFileName();
            var fileStream = new FileStream(fileName, FileMode.OpenOrCreate);
            using (var streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
            {
                var columnIndexes = new int[dataTable.Columns.Count];
                for (var i = 0; i < columnIndexes.Length; i++)
                    columnIndexes[i] = i;
                HtmlFormatter.Write(dataTable.DefaultView, columnIndexes, streamWriter);
            }

            var htmlTextBox = new HtmlTextBox();
            htmlTextBox.Navigate(fileName);

            return htmlTextBox;
        }
Exemplo n.º 4
0
        public virtual void Visit(FormDatePicker formDatePicker, HtmlContainer htmlContainer)
        {
            if (formDatePicker.Icon == FormIcon.NotSet)
            {
                return;
            }

            HtmlTextBox htmlTextBox = null;
            int         i;

            for (i = 0; i < htmlContainer.Contents.Count; i++)
            {
                if (htmlContainer.Contents[i] is HtmlTextBox)
                {
                    htmlTextBox = (HtmlTextBox)htmlContainer.Contents[i];
                    break;
                }
            }

            if (htmlTextBox == null)
            {
                return;
            }

            htmlContainer.Remove(htmlTextBox);

            HtmlItalic htmlItalic = new HtmlItalic();

            htmlItalic.Class.AddRange(IconClass(formDatePicker.Icon));

            HtmlDiv htmlDiv = new HtmlDiv();

            htmlDiv.Add(htmlTextBox);
            htmlDiv.Insert(prepend ? 0 : 1, htmlItalic);

            htmlContainer.Insert(i, htmlDiv);
        }
        private static HtmlTextBox CreateHtmlTextBoxFromDataTable(DataTable dataTable)
        {
            var fileName = Path.GetTempFileName();
            var fileStream = new FileStream(fileName, FileMode.OpenOrCreate);
            using (var streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
            {
                var columnIndexes = new int[dataTable.Columns.Count];
                for (var i = 0; i < columnIndexes.Length; i++)
                {
                    columnIndexes[i] = i;
                }
                HtmlFormatter.Write(dataTable.DefaultView, columnIndexes, streamWriter);
            }
            var htmlTextBox = new HtmlTextBox();
            htmlTextBox.Navigate(fileName);

            //while (webBrowser.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
            //{
            //    Application.DoEvents();
            //}

            //File.Delete(fileName);
            return htmlTextBox;
        }
Exemplo n.º 6
0
        public virtual void Visit(FormTextBox formTextBox, HtmlContainer htmlContainer)
        {
            HtmlFieldset htmlFieldset = verbose ? new HtmlFieldset(formTextBox.Path) : new HtmlFieldset();

            htmlFieldset.Class.Add("formTextBox");

            if (!string.IsNullOrWhiteSpace(formTextBox.CssClass))
            {
                htmlFieldset.Class.AddRange(formTextBox.CssClass.Split(' ').Where(s => s != string.Empty));
            }

            htmlFieldset.Class.Add("form-group");

            if (!string.IsNullOrWhiteSpace(formTextBox.Path))
            {
                htmlFieldset.Class.Add(string.Format("{0}{1}", "formId", formTextBox.Path));
            }

            htmlFieldset.Class.Add("formField");

            if (initialize)
            {
                htmlFieldset.Class.Add(formTextBox.IsRequired ? "formRequired" : "formOptional");
            }
            else
            {
                if (formTextBox.HasValue)
                {
                    htmlFieldset.Class.Add(formTextBox.IsValid ? "formValid" : "formInvalid");
                }
                else
                {
                    htmlFieldset.Class.Add(formTextBox.IsRequired ? "formNotEntered" : "formOptional");
                }
            }

            htmlFieldset.Hidden.Value = formTextBox.IsHidden;

            htmlContainer.Add(htmlFieldset);

            HtmlTextBox htmlTextBox = new HtmlTextBox(formTextBox.Path);

            htmlTextBox.Class.Add("form-control");
            htmlTextBox.Disabled.Value = formTextBox.IsDisabled;
            htmlTextBox.ReadOnly.Value = formTextBox.IsReadOnly;
            htmlTextBox.Value.Value    = formTextBox.Value;

            string placeholder = null;

            if (!string.IsNullOrWhiteSpace(formTextBox.Placeholder))
            {
                if (formTextBox.IsRequired && formTextBox.IsRequiredInPlaceholder && !string.IsNullOrWhiteSpace(formTextBox.RequiredMark))
                {
                    placeholder = string.Format("{0} {1}", formTextBox.Placeholder, formTextBox.RequiredMark);
                }
                else if (!formTextBox.IsRequired && formTextBox.IsOptionalInPlaceholder && !string.IsNullOrWhiteSpace(formTextBox.OptionalMark))
                {
                    placeholder = string.Format("{0} {1}", formTextBox.Placeholder, formTextBox.OptionalMark);
                }
                else
                {
                    placeholder = formTextBox.Placeholder;
                }
            }

            htmlTextBox.Placeholder.Value = placeholder;

            if (!initialize && firstInvalidId == null)
            {
                if (formTextBox.IsRequired && !formTextBox.HasValue || !formTextBox.IsValid)
                {
                    firstInvalidId = htmlTextBox.Id.Value;
                }
            }

            switch (formTextBox.OrderElements)
            {
            case OrderElements.LabelMarkInput:

                AddLabelMark(formTextBox, htmlTextBox, htmlFieldset);
                htmlFieldset.Add(htmlTextBox);

                break;

            case OrderElements.MarkLabelInput:

                AddMarkLabel(formTextBox, htmlTextBox, htmlFieldset);
                htmlFieldset.Add(htmlTextBox);

                break;

            case OrderElements.InputLabelMark:

                htmlFieldset.Add(htmlTextBox);
                AddLabelMark(formTextBox, htmlTextBox, htmlFieldset);

                break;

            case OrderElements.InputMarkLabel:

                htmlFieldset.Add(htmlTextBox);
                AddMarkLabel(formTextBox, htmlTextBox, htmlFieldset);

                break;

            case OrderElements.LabelInputMark:

                AddLabel(formTextBox, htmlTextBox, htmlFieldset);
                htmlFieldset.Add(htmlTextBox);
                AddMark(formTextBox, htmlTextBox, htmlFieldset);

                break;

            case OrderElements.MarkInputLabel:

                AddMark(formTextBox, htmlTextBox, htmlFieldset);
                htmlFieldset.Add(htmlTextBox);
                AddLabel(formTextBox, htmlTextBox, htmlFieldset);

                break;

            default:
            case OrderElements.NotSet:

                break;
            }

            if (initialize)
            {
                return;
            }

            string message = null;

            if (formTextBox.UseLastMessage)
            {
                if (!string.IsNullOrEmpty(formTextBox.LastMessage))
                {
                    message = formTextBox.LastMessage;
                }
            }
            else if (formTextBox.IsRequired && !formTextBox.HasValue)
            {
                message = formTextBox.RequiredMessage;
            }
            else if (!formTextBox.IsValid)
            {
                message = formTextBox.ValidationMessage;
            }

            if (message == null)
            {
                return;
            }

            HtmlLabel htmlLabelMessage = new HtmlLabel(verbose ? string.Format("{0}{1}", formTextBox.Path, "Message") : "");

            htmlLabelMessage.Class.Add("formValidationMessage");
            htmlLabelMessage.For.Value = htmlTextBox.Id.Value;
            htmlLabelMessage.Add(new HtmlText(message));
            htmlFieldset.Add(htmlLabelMessage);
        }
Exemplo n.º 7
0
        private void DesignReport()
        {
            //get the processing table object since we're in the context of event
            //construct the select statement based on the selected report parameters

            DataSet ds        = new DataSet();
            var     dataTable = new DataTable();

            dataTable.Columns.Add("Column1", typeof(int));
            dataTable.Columns.Add("Column2", typeof(int));
            dataTable.Columns.Add("Column3", typeof(int));
            dataTable.Rows.Add(1, 2, 3);
            dataTable.Rows.Add(14, 23, 32);
            dataTable.Rows.Add(12, 24, 34);
            ds.Tables.Add(dataTable);
            table1.DataSource = ds.Tables[0];

            //create two HtmlTextBox items (one for header and one for data) which would be added to the items collection of the table
            HtmlTextBox textboxGroup;
            HtmlTextBox textBoxTable;

            //we do not clear the Rows collection, since we have a details row group and need to create columns only
            table1.ColumnGroups.Clear();
            table1.Body.Columns.Clear();
            table1.Body.Rows.Clear();
            int i = 0;

            table1.ColumnHeadersPrintOnEveryPage = true;
            foreach (System.Data.DataColumn dc in ds.Tables[0].Columns)
            {
                TableGroup tableGroupColumn = new TableGroup();
                table1.ColumnGroups.Add(tableGroupColumn);
                table1.Body.Columns.Add(new TableBodyColumn(Unit.Inch(1)));

                textboxGroup = new HtmlTextBox();
                textboxGroup.Style.BorderColor.Default = Color.Black;
                textboxGroup.Style.BorderStyle.Default = BorderType.Solid;
                textboxGroup.Value          = dc.ColumnName;
                textboxGroup.Size           = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3));
                tableGroupColumn.ReportItem = textboxGroup;

                textBoxTable = new HtmlTextBox();
                textBoxTable.Style.BorderColor.Default = Color.Black;
                textBoxTable.Style.BorderStyle.Default = BorderType.Solid;
                textBoxTable.Value = @"=Fields." + dc.ColumnName;
                textBoxTable.Size  = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3));
                this.table1.Body.SetCellContent(0, i++, textBoxTable);
                this.table1.Items.AddRange(new ReportItemBase[] { textBoxTable, textboxGroup });
            }


            table1.NoDataMessage = @"No Data Available!";
            //table1.DataSource = dataTable;
            //var reportObject = (ReportFull)Report.ReportParameters["reportFull"].Value;
            textBox1.Value = @"Header from Code";
            textBox2.Value = @"First Heading of Image";
            textBox3.Value = @"Second Heading of Image";
            textBox4.Value = @"Signature Value from Code";
            //pictureBox1.Value = @"C:\Users\Techverx\Downloads\1st Image.jpeg";
            //pictureBox2.Value = @"C:\Users\Techverx\Downloads\1st Image.jpeg";
        }
Exemplo n.º 8
0
        private HtmlDiv BuildDivNumberSpinner(FormNumberSpinner formNumberSpinner, HtmlTextBox htmlTextBox)
        {
            HtmlDiv htmlDivNumberSpinner = new HtmlDiv();

            string btnDecrName = verbose ? string.Format("{0}{1}", "Decr", formNumberSpinner.Path) : "";
            string btnIncrName = verbose ? string.Format("{0}{1}", "Incr", formNumberSpinner.Path) : "";

            string btnDecrOnClick = null;
            string btnIncrOnClick = null;

            if (formNumberSpinner.Update)
            {
                btnDecrOnClick = string.Format("__doPostBack('{0}', 'Decr');", formNumberSpinner.Path);
                btnIncrOnClick = string.Format("__doPostBack('{0}', 'Incr');", formNumberSpinner.Path);
            }
            else if (htmlTextBox.Id.IsSet)
            {
                btnDecrOnClick = string.Format("NumberSpinnerDecr('{0}');", htmlTextBox.Id.Value);
                btnIncrOnClick = string.Format("NumberSpinnerIncr('{0}');", htmlTextBox.Id.Value);

                scriptRegistry.Include("NumberSpinnerDecr");
                scriptRegistry.Include("NumberSpinnerIncr");
            }

            HtmlButton htmlButtonDecr = new HtmlButton(btnDecrName, btnDecrOnClick);
            HtmlButton htmlButtonIncr = new HtmlButton(btnIncrName, btnIncrOnClick);

            htmlButtonDecr.Value.Value = formNumberSpinner.DecrText;
            htmlButtonIncr.Value.Value = formNumberSpinner.IncrText;

            htmlButtonDecr.Disabled.Value = htmlButtonIncr.Disabled.Value = formNumberSpinner.IsReadOnly || (formNumberSpinner.Update && !formNumberSpinner.HasValue);

            if (!initialize && firstInvalidId == null)
            {
                if (formNumberSpinner.IsRequired && !formNumberSpinner.HasValue || !formNumberSpinner.IsValid)
                {
                    firstInvalidId = htmlTextBox.Id.Value;
                }
            }

            switch (formNumberSpinner.OrderNumberSpinner)
            {
            case OrderNumberSpinner.NumberDecrIncr:

                htmlDivNumberSpinner.Add(htmlTextBox);
                htmlDivNumberSpinner.Add(htmlButtonDecr);
                htmlDivNumberSpinner.Add(htmlButtonIncr);

                break;

            case OrderNumberSpinner.NumberIncrDecr:

                htmlDivNumberSpinner.Add(htmlTextBox);
                htmlDivNumberSpinner.Add(htmlButtonIncr);
                htmlDivNumberSpinner.Add(htmlButtonDecr);

                break;

            case OrderNumberSpinner.DecrNumberIncr:

                htmlDivNumberSpinner.Add(htmlButtonDecr);
                htmlDivNumberSpinner.Add(htmlTextBox);
                htmlDivNumberSpinner.Add(htmlButtonIncr);

                break;

            case OrderNumberSpinner.IncrNumberDecr:

                htmlDivNumberSpinner.Add(htmlButtonIncr);
                htmlDivNumberSpinner.Add(htmlTextBox);
                htmlDivNumberSpinner.Add(htmlButtonDecr);

                break;

            case OrderNumberSpinner.DecrIncrNumber:

                htmlDivNumberSpinner.Add(htmlButtonDecr);
                htmlDivNumberSpinner.Add(htmlButtonIncr);
                htmlDivNumberSpinner.Add(htmlTextBox);

                break;

            case OrderNumberSpinner.IncrDecrNumber:

                htmlDivNumberSpinner.Add(htmlButtonIncr);
                htmlDivNumberSpinner.Add(htmlButtonDecr);
                htmlDivNumberSpinner.Add(htmlTextBox);

                break;

            default:
            case OrderNumberSpinner.NotSet:

                break;
            }

            return(htmlDivNumberSpinner);
        }
Exemplo n.º 9
0
        public virtual void Visit(FormNumberSpinner formNumberSpinner, HtmlContainer htmlContainer)
        {
            HtmlDiv htmlDiv = verbose ? new HtmlDiv(formNumberSpinner.Path) : new HtmlDiv();

            htmlDiv.Class.Add("formNumberSpinner");

            if (!string.IsNullOrWhiteSpace(formNumberSpinner.CssClass))
            {
                htmlDiv.Class.AddRange(formNumberSpinner.CssClass.Split(' ').Where(s => s != string.Empty));
            }

            if (!string.IsNullOrWhiteSpace(formNumberSpinner.Path))
            {
                htmlDiv.Class.Add(string.Format("{0}{1}", "formId", formNumberSpinner.Path));
            }

            htmlDiv.Class.Add("formField");

            if (initialize)
            {
                htmlDiv.Class.Add(formNumberSpinner.IsRequired ? "formRequired" : "formOptional");
            }
            else
            {
                if (formNumberSpinner.HasValue)
                {
                    htmlDiv.Class.Add(formNumberSpinner.IsValid ? "formValid" : "formInvalid");
                }
                else
                {
                    htmlDiv.Class.Add(formNumberSpinner.IsRequired ? "formNotEntered" : "formOptional");
                }
            }

            htmlDiv.Hidden.Value = formNumberSpinner.IsHidden;

            htmlContainer.Add(htmlDiv);

            HtmlTextBox htmlTextBox = new HtmlTextBox(formNumberSpinner.Path);

            htmlTextBox.Disabled.Value = formNumberSpinner.IsDisabled;
            htmlTextBox.ReadOnly.Value = formNumberSpinner.IsReadOnly || !formNumberSpinner.IsDirectInput;
            htmlTextBox.Value.Value    = formNumberSpinner.HasValue ? formNumberSpinner.Value.ToString(string.Format("F{0}", formNumberSpinner.Precision)) : "";

            string placeholder = null;

            if (!string.IsNullOrWhiteSpace(formNumberSpinner.Placeholder))
            {
                if (formNumberSpinner.IsRequired && formNumberSpinner.IsRequiredInPlaceholder && !string.IsNullOrWhiteSpace(formNumberSpinner.RequiredMark))
                {
                    placeholder = string.Format("{0} {1}", formNumberSpinner.Placeholder, formNumberSpinner.RequiredMark);
                }
                else if (!formNumberSpinner.IsRequired && formNumberSpinner.IsOptionalInPlaceholder && !string.IsNullOrWhiteSpace(formNumberSpinner.OptionalMark))
                {
                    placeholder = string.Format("{0} {1}", formNumberSpinner.Placeholder, formNumberSpinner.OptionalMark);
                }
                else
                {
                    placeholder = formNumberSpinner.Placeholder;
                }
            }

            htmlTextBox.Placeholder.Value = placeholder;

            if (formNumberSpinner.Update)
            {
                htmlTextBox.Change.Value = string.Format("__doPostBack('{0}', '');", formNumberSpinner.Path);
            }
            else
            {
                if (formNumberSpinner.HasValue)
                {
                    htmlTextBox.DataNumber.Value = formNumberSpinner.Value;
                }

                if (formNumberSpinner.Min.HasValue)
                {
                    htmlTextBox.DataMin.Value = formNumberSpinner.Min.Value;
                }

                if (formNumberSpinner.Max.HasValue)
                {
                    htmlTextBox.DataMax.Value = formNumberSpinner.Max.Value;
                }

                htmlTextBox.DataStep.Value = formNumberSpinner.Step;

                htmlTextBox.DataPrecision.Value = formNumberSpinner.Precision;

                htmlTextBox.Blur.Value = string.Format("NumberSpinnerBlur('{0}')", htmlTextBox.Id.Value);

                scriptRegistry.Include("NumberSpinnerBlur");
            }

            HtmlDiv htmlDivNumberSpinner = BuildDivNumberSpinner(formNumberSpinner, htmlTextBox);

            switch (formNumberSpinner.OrderElements)
            {
            case OrderElements.LabelMarkInput:

                AddLabelMark(formNumberSpinner, htmlTextBox, htmlDiv);
                htmlDiv.Add(htmlDivNumberSpinner);

                break;

            case OrderElements.MarkLabelInput:

                AddMarkLabel(formNumberSpinner, htmlTextBox, htmlDiv);
                htmlDiv.Add(htmlDivNumberSpinner);

                break;

            case OrderElements.InputLabelMark:

                htmlDiv.Add(htmlTextBox);
                AddLabelMark(formNumberSpinner, htmlTextBox, htmlDiv);

                break;

            case OrderElements.InputMarkLabel:

                htmlDiv.Add(htmlDivNumberSpinner);
                AddMarkLabel(formNumberSpinner, htmlTextBox, htmlDiv);

                break;

            case OrderElements.LabelInputMark:

                AddLabel(formNumberSpinner, htmlTextBox, htmlDiv);
                htmlDiv.Add(htmlDivNumberSpinner);
                AddMark(formNumberSpinner, htmlTextBox, htmlDiv);

                break;

            case OrderElements.MarkInputLabel:

                AddMark(formNumberSpinner, htmlTextBox, htmlDiv);
                htmlDiv.Add(htmlDivNumberSpinner);
                AddLabel(formNumberSpinner, htmlTextBox, htmlDiv);

                break;

            default:
            case OrderElements.NotSet:

                break;
            }

            if (initialize)
            {
                return;
            }

            string message = null;

            if (formNumberSpinner.UseLastMessage)
            {
                if (!string.IsNullOrEmpty(formNumberSpinner.LastMessage))
                {
                    message = formNumberSpinner.LastMessage;
                }
            }
            else if (formNumberSpinner.IsRequired && !formNumberSpinner.HasValue)
            {
                message = formNumberSpinner.RequiredMessage;
            }
            else if (!formNumberSpinner.IsValid)
            {
                message = formNumberSpinner.ValidationMessage;
            }

            if (message == null)
            {
                return;
            }

            HtmlLabel htmlLabelMessage = new HtmlLabel(verbose ? string.Format("{0}{1}", formNumberSpinner.Path, "Message") : "");

            htmlLabelMessage.Class.Add("formValidationMessage");
            htmlLabelMessage.For.Value = htmlTextBox.Id.Value;
            htmlLabelMessage.Add(new HtmlText(message));
            htmlDiv.Add(htmlLabelMessage);
        }
        /// <summary>
        /// Gets the editor.
        /// </summary>
        /// <param name="PlaceHolderHTMLEditor">The place holder HTML editor.</param>
        /// <param name="moduleID">The module ID.</param>
        /// <param name="showUpload">if set to <c>true</c> [show upload].</param>
        /// <param name="portalSettings">The portal settings.</param>
        /// <returns></returns>
        public IHtmlEditor GetEditor(Control PlaceHolderHTMLEditor, int moduleID, bool showUpload,
                                     PortalSettings portalSettings)
        {
            IHtmlEditor DesktopText;
            string      moduleImageFolder = ModuleSettings.GetModuleSettings(moduleID)["MODULE_IMAGE_FOLDER"].ToString();

            // Grabs ID from the place holder so that a unique editor is on the page if more than one
            // But keeps same ID so that the information can be submitted to be saved. [CDT]
            string uniqueID = PlaceHolderHTMLEditor.ID;

            switch (Value)
            {
            case "FCKEditor V2":     // [email protected] 2004/11/09.
                FCKTextBoxV2 fckv2 = new FCKTextBoxV2();
                fckv2.ImageFolder        = moduleImageFolder;
                fckv2.BasePath           = Path.WebPathCombine(Path.ApplicationRoot, "aspnet_client/FCKEditorV2/");
                fckv2.AutoDetectLanguage = false;
                fckv2.DefaultLanguage    = portalSettings.PortalUILanguage.Name.Substring(0, 2);
//					fckv2.EditorAreaCSS = portalSettings.GetCurrentTheme().CssFile;
                fckv2.ID = string.Concat("FCKTextBox", uniqueID);
                string conector = Path.ApplicationRootPath("/app_support/FCKconnectorV2.aspx");
                fckv2.ImageBrowserURL =
                    Path.WebPathCombine(Path.ApplicationRoot,
                                        "aspnet_client/FCKEditorV2/editor/filemanager/browser.html?Type=Image&Connector=" +
                                        conector);
                fckv2.LinkBrowserURL =
                    Path.WebPathCombine(Path.ApplicationRoot,
                                        "aspnet_client/FCKEditorV2/editor/filemanager/browser.html?Connector=" +
                                        conector);
                DesktopText = ((IHtmlEditor)fckv2);
                break;

            case "FreeTextBox":
                FreeTextBox freeText = new FreeTextBox();
                freeText.ToolbarLayout =
                    "ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorPicker,FontBackColorPicker,FontForeColorsMenu|Bold,Italic,Underline,Strikethrough;Superscript,Subscript,RemoveFormat;CreateLink,Unlink|JustifyLeft,JustifyRight,JustifyCenter,JustifyFull;BulletedList,NumberedList,Indent,Outdent;InsertRule|Delete,Cut,Copy,Paste;Undo,Redo,Print;InsertTable,InsertTableColumnAfter,InsertTableColumnBefore,InsertTableRowAfter,InsertTableRowBefore,DeleteTableColumn,DeleteTableRow,InsertImageFromGallery";
                freeText.ImageGalleryUrl =
                    Path.WebPathCombine(Path.ApplicationFullPath,
                                        "app_support/ftb.imagegallery.aspx?rif={0}&cif={0}&mID=" +
                                        moduleID.ToString());
                freeText.ImageFolder      = moduleImageFolder;
                freeText.ImageGalleryPath = Path.WebPathCombine(portalSettings.PortalFullPath, freeText.ImageFolder);
                freeText.ID       = string.Concat("FreeText", uniqueID);
                freeText.Language = getFtbLanguage(portalSettings.PortalUILanguage.Name);
                DesktopText       = ((IHtmlEditor)freeText);
                break;

            case "ActiveUp HtmlTextBox":
                HtmlTextBox h = new HtmlTextBox();
                h.ImageFolder = moduleImageFolder;
                DesktopText   = (IHtmlEditor)h;

                // Allow content editors to see the content with the same style that it is displayed in
                h.ContentCssFile = portalSettings.GetCurrentTheme().CssFile;

                // Custom Properties must come after control is added to placeholder
                h.EnsureToolsCreated();

                // Set the icons folder
                h.IconsDir = Path.WebPathCombine(Path.ApplicationRoot, "aspnet_client/ActiveUp/icons/");

                // Add the Help icon
                StringBuilder sbHelp = new StringBuilder();
                sbHelp.Append("var Help=window.open('");
                sbHelp.Append(Path.ApplicationRoot);
                sbHelp.Append("/aspnet_client/ActiveUp/");
                sbHelp.Append(
                    "htmltextbox_help.html', 'HTML_TextBox_Help', 'height=520, width=520, resizable=yes, scrollbars=yes, menubar=no, toolbar=no, directories=no, location=no, status=no');Help.moveTo('20', '20');");
                Custom openPage = new Custom();
                openPage.IconOff           = "help_off.gif";
                openPage.IconOver          = "help_off.gif";
                openPage.ClientSideOnClick = sbHelp.ToString();
                h.Toolbars[0].Tools.Add(openPage);

                // Add the image library
                Image imageLibrary = (Image)h.Toolbars[0].Tools["Image"];
                imageLibrary.AutoLoad = true;

                // Clear the directories collection because it is stored in ViewState and must be cleared or upload will result in display of multiple directories of the same name
                imageLibrary.Directories.Clear();
                imageLibrary.Directories.Add("images",
                                             HttpContext.Current.Server.MapPath(portalSettings.PortalFullPath +
                                                                                h.ImageFolder),
                                             portalSettings.PortalFullPath + h.ImageFolder + "/");

                if (!showUpload)
                {
                    imageLibrary.UploadDisabled = true;
                }
                break;

            case "Plain Text":
            default:
                DesktopText = (new TextEditor());
                break;
            }
            PlaceHolderHTMLEditor.Controls.Add(((Control)DesktopText));
            return(DesktopText);
        }