I just did exactly this, a couple of days ago.  I created a class that can
apply any kind of supported HTML formatting.  The idea seemed daunting at
first, but the class is relatively small.  You can assign/remove textfields
that it should "watch". I don't have it here with me right now, but here's
the basics:

It doesn't use replaceText at all.

I have a switch statement for the various textformat options (some are
Boolean (bold, italic, etc) and some have arguments (leading, size, etc).

When the textfield has focus use an interval to get the beginIndex and
endIndex.  You can clear the interval onkillFocus.

Then in your setFormat function

Public function setFormat (type, arg):Void
{
        var temp_fmt:TextFormat = currentField.getTextFormat(beginIndex,
endIndex);

        switch (type)
        {
                case "bold":
                case "italic":
                case "underline":
                //etc...
                {
                        temp_fmt[type] = temp_fmt[type] == false ? true :
false;
                        break;
                }
                case "leading":
                case "align":
                case "size":
                //etc...
                {
                        temp_fmt[type] = arg;
                        break;
                }
        }
        currentField.setTextFormat(beginIndex, endIndex, temp_fmt);
}

This should give you a head start.

- James 


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Merrill,
Jason
Sent: Tuesday, August 01, 2006 10:11 AM
To: Flashcoders mailing list
Subject: [Flashcoders] WSIWYG HTML text editor in Flash?

Two related questions.  In a nutshell, trying to make a WSIWYG HTML text
editor for Flash 7.   

Question 1:

Has anyone created an HTML text editor component or class of some kind
in Flash?  Basically, having a textfield containing a paragraph of text
the user can apply bold, size, font, etc. to - I assume it would use
something like:

textfield.replaceText(Selection.getBeginIndex(),Selection.getEndIndex(),
theNewString) 

or something to that effect.  

So to my second question, I was able to get the above working, but the
html Textfield would not apply the new HTML tags, it would show them
literally when replaceText was used.  Initially, I set the text with
textField.htmlText = myText and renders fine with the bolding, but
textField.replaceText() seems to not allow the textfield to show the
bold tags applied - it shows the literal tag.   Any ideas?

Basically, would like to create a WSIWYG HTML text editor (flash 7), but
from what I read in the archives, it's a lot harder than it sounds and
maybe not even possible in Flash right now, but I don't want to give up
too early.  It seems that all the basic methods are available, there are
just some quirks to work out with the Textfield class. 

Thanks,

Jason Merrill
Bank of America 
Learning & Organization Effectiveness - Technology Solutions 
 
 
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to