Exemplo n.º 1
0
        /// <summary>
        /// Appends a styled <span> tag to the input StringBuilder.
        /// </summary>
        /// <param name="lastSelection"></param>
        /// <param name="sb">Contains html markup.</param>
        private void AppendOpeningSpanTag(SelectedRichText lastSelection, StringBuilder sb)
        {
            sb.Append("<span style=\"");

            if (ckFontName.Checked)
            {
                if (lastSelection.Font == null || lastSelection.Font.Name != rtCode.SelectionFont.Name)
                {
                    sb.Append("font-family: '" + rtCode.SelectionFont.Name + "';");
                }
            }

            if (ckColor.Checked && lastSelection.ForeColor != rtCode.SelectionColor)
            {
                sb.Append("color: " + ColorToHex(rtCode.SelectionColor) + ";");
            }

            if (ckBackColor.Checked && lastSelection.BackColor != rtCode.SelectionBackColor)
            {
                sb.Append("background-color: " + ColorToHex(rtCode.SelectionBackColor) + ";");
            }

            if (ckFontBold.Checked)

            {
                if (lastSelection.Font == null || lastSelection.Font.Bold != rtCode.SelectionFont.Bold)
                {
                    sb.Append("font-weight: " + (rtCode.SelectionFont.Bold ? "bold" : "normal") + ";");
                }
            }

            sb.Append("\">");
        }
Exemplo n.º 2
0
        private void btnBeautify_Click(object sender, EventArgs e)
        {
            try
            {
                if (!FormValidated())
                {
                    return;
                }

                StringBuilder    sb            = new StringBuilder();
                SelectedRichText lastSelection = new SelectedRichText(null, Color.Empty, Color.Empty);

                rtCode.Select(0, 1);
                AppendOpeningSpanTag(lastSelection, sb);

                lastSelection.Font      = rtCode.SelectionFont;
                lastSelection.BackColor = rtCode.SelectionBackColor;
                lastSelection.ForeColor = rtCode.SelectionColor;

                //Iterate through characters.
                for (int i = 0; i < rtCode.Text.Length; i++)
                {
                    rtCode.Select(i, 1);
                    char c = rtCode.SelectedText[0];

                    if (
                        (rtCode.SelectionBackColor != lastSelection.BackColor) ||
                        (!char.IsWhiteSpace(c) && rtCode.SelectionFont.Name != lastSelection.Font.Name) ||
                        (!char.IsWhiteSpace(c) && rtCode.SelectionColor != lastSelection.ForeColor) ||
                        (!char.IsWhiteSpace(c) && (rtCode.SelectionFont.Bold != lastSelection.Font.Bold))
                        )
                    {
                        sb.Append("</span>");
                        AppendOpeningSpanTag(lastSelection, sb);
                        lastSelection.Font      = rtCode.SelectionFont;
                        lastSelection.BackColor = rtCode.SelectionBackColor;
                        lastSelection.ForeColor = rtCode.SelectionColor;
                    }

                    sb.Append(rtCode.SelectedText);
                }

                sb.Append("</span>");

                txtCode.Text = sb.ToString();
                txtCode.SelectAll();
                Clipboard.SetText(txtCode.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 3
0
        private void btnBeautify_Click(object sender, EventArgs e)
        {
            try
            {
                if (!FormValidated())
                {
                    return;
                }

                StringBuilder    sb            = new StringBuilder();
                SelectedRichText lastSelection = new SelectedRichText(null, Color.Empty, Color.Empty);

                //if(ckRootNode.Checked)
                //{
                //    sb.AppendLine("<" + txtRootName.Text + " " + txtNodeAttributes.Text + ">");
                //}

                rtCode.Select(0, 1);
                AppendOpeningSpanTag(lastSelection, sb);

                lastSelection.Font      = rtCode.SelectionFont;
                lastSelection.BackColor = rtCode.SelectionBackColor;
                lastSelection.ForeColor = rtCode.SelectionColor;

                //Iterate through characters.
                for (int i = 0; i < rtCode.Text.Length; i++)
                {
                    rtCode.Select(i, 1);
                    char c = rtCode.SelectedText[0];

                    if (
                        (rtCode.SelectionBackColor != lastSelection.BackColor) ||
                        (!char.IsWhiteSpace(c) && rtCode.SelectionFont.Name != lastSelection.Font.Name) ||
                        (!char.IsWhiteSpace(c) && rtCode.SelectionColor != lastSelection.ForeColor) ||
                        (!char.IsWhiteSpace(c) && (rtCode.SelectionFont.Bold != lastSelection.Font.Bold))
                        )
                    {
                        sb.Append("</span>");
                        AppendOpeningSpanTag(lastSelection, sb);
                        lastSelection.Font      = rtCode.SelectionFont;
                        lastSelection.BackColor = rtCode.SelectionBackColor;
                        lastSelection.ForeColor = rtCode.SelectionColor;
                    }

                    if (c == '<')
                    {
                        sb.Append("&lt;");
                    }
                    else if (c == '>')
                    {
                        sb.Append("&gt;");
                    }
                    else
                    {
                        sb.Append(rtCode.SelectedText);
                    }
                }

                sb.Append("</span>");

                if (ckLineNumbers.Checked)
                {
                    AddLineNumbers(ref sb);
                }

                if (ckRootNode.Checked)
                {
                    sb.Insert(0, "<" + txtRootName.Text + " " + txtNodeAttributes.Text + ">" +
                              Environment.NewLine);
                    sb.Append(Environment.NewLine + "</" + txtRootName.Text + ">");
                }

                txtCode.Text = sb.ToString();
                txtCode.SelectAll();
                Clipboard.SetText(txtCode.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }