Flex вставьте и импортируйте в TextFlow - PullRequest
1 голос
/ 07 ноября 2010

Используя существующий textFlow внутри Spark RichEditableText и хочет вставить в него новый текст в существующем текстовом формате (игнорируйте формат вставки).

Имеет 2 основные проблемы -Формат При вставке нового текста я хочу точно такой же формат, получает разные размеры шрифта в строках без текста.

- разрывы строк Проблема при импорте в существующий textFlow, поэтому при экспортечтобы сохранить, мне нужно добавить разрывы строк.

с использованием Flash Builder 4, Actionscript 3 и Spark Components.

Сначала получите текст вставки и поместите его вtextarea.

event.preventDefault();
event.stopPropagation();
event.stopImmediatePropagation();

var s : String = Clipboard.generalClipboard.getData( ClipboardFormats.TEXT_FORMAT, ClipboardTransferMode.CLONE_ONLY ) as String;
s = s.replace(new RegExp(String.fromCharCode(9),"gm")," ");
s = s.replace(new RegExp(String.fromCharCode(10),"gm"),"#break#");
s = s.replace(new RegExp(String.fromCharCode(11),"gm"),"#break#");
s = s.replace(new RegExp(String.fromCharCode(12),"gm"),"#break#");
s = s.replace(new RegExp(String.fromCharCode(13),"gm"),"#break#");
s = s.replace(new RegExp("#break#","gm"),"\n");

var pflow : TextFlow = TextConverter.importToFlow(s,TextConverter.PLAIN_TEXT_FORMAT);
var x : String = pflow.getText(0,pflow.textLength);
var mgr:EditManager = txtArea.textFlow.interactionManager as EditManager;
mgr.overwriteText( x );

При захвате текста для сохранения мне нужно изменить разрывы строк, иначе при его возврате происходит ошибка.

var text : String = TextConverter.export( txtArea.textFlow, TextConverter.TEXT_FIELD_HTML_FORMAT, ConversionType.STRING_TYPE ) as String;
text = text.replace(new RegExp("\n","gm"),"<br>");
SlideItemTextVO(_data).text = text;
...