So is it as simple as serializing non-strings to text and de-serializing
on import?


On 11/3/13 11:12 PM, "Harbs" <harbs.li...@gmail.com> wrote:

>Here is a simple test case which illustrates the problem. I can change my
>app for custom handling of copy/paste, but it seems to me that this is a
>general short-coming in the was copy paste is handled in TLF.
>
>Note: customStyle1 is preserved when the TextFlow is exported because
>it's simple text, but customStyle2 is not preserved.
>
>The result of TextFlowExporter.export() is what's written to the
>clipboard, so it's missing any complex custom styles.
>
><?xml version="1.0" encoding="utf-8"?>
><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009";
>                          xmlns:s="library://ns.adobe.com/flex/spark"
>                          xmlns:mx="library://ns.adobe.com/flex/mx" 
> minWidth="955"
>minHeight="600" creationComplete="onComplete()">
>       <fx:Script>
>               <![CDATA[
>                       import flashx.textLayout.conversion.ITextExporter;
>                       import flashx.textLayout.conversion.TextConverter;
>                       import flashx.textLayout.edit.EditManager;
>                       import flashx.textLayout.elements.ParagraphElement;
>                       import flashx.textLayout.elements.SpanElement;
>                       import flashx.textLayout.elements.TextFlow;
>                       import flashx.undo.UndoManager;
>                       [Bindable]private var textFlow:TextFlow;
>
>                       private function onComplete():void{
>                               var para:ParagraphElement;
>                               var span:SpanElement;
>                               var i:int;
>                               textFlow =  new TextFlow();
>                               textFlow.interactionManager = new 
> EditManager(new UndoManager());
>                               textFlow.tabStops = "s12 s72";
>                               textFlow.paragraphSpaceAfter = 16;
>                               para = new ParagraphElement();
>                               span = new SpanElement();
>                               span.fontSize = 16;
>                               span.fontWeight = "bold";
>                               span.text = "Here's some text.";
>                               span.setStyle("customStyle1","hello");
>                               
> span.setStyle("customStyle2",{id:1,content:"this is some custom
>content"});
>                               para.addChild(span);
>                               textFlow.addChild(para);
>                               
>                               var exporter:ITextExporter =
>TextConverter.getExporter("textLayoutFormat");
>                               var res:Object = 
> exporter.export(textFlow,"stringType");
>                               trace(res);
>                       }
>               ]]>
>       </fx:Script>
>       <s:RichEditableText verticalCenter="0" width="400"
>textFlow="{textFlow}"/>
>       
></s:Application>
>
>Harbs
>
>On Nov 4, 2013, at 7:21 AM, Alex Harui wrote:
>
>> I'm not sure what user styles are and why the aren't in the markup.  Can
>> you provide more details?
>> 
>> Consider whether this is a general TLF issue or just something you
>>should
>> do in your app to add functionality.  A general TLF issue probably can't
>> bypass the Clipboard because you should be able to copy/paste from one
>>SWF
>> to another SWF.
>> 
>> -Alex
>> 
>> On 11/3/13 1:01 PM, "Gavriel Harbater" <gavha...@gmail.com> wrote:
>> 
>>> Okay. After researching this, it looks like the problem is as follows:
>>> 
>>> The TextFlow is saved to the clipboard as a string which is the markup
>>> representation of the TextFlow. The markup is produced using
>>> BaseTextLayoutExporter.export(). The markup produced from that is
>>>missing
>>> custom user styles. My custom user styles are actually quite complex
>>> classes.
>>> 
>>> I'm looking for suggestions on the best way to handle this problem. I
>>>can
>>> think of three possible angles:
>>> 1) Somehow write user styles into the TextFlow markup. I'm not sure if
>>> there's a way to markup custom styles and complex ones are definitely
>>>an
>>> issue.
>>> 2) Write complex objects to the clipboard. Is this possible? If yes,
>>>why
>>> are strings currently used?
>>> 3) Skip the clipboard altogether and create some static function to
>>>call
>>> when the clipboard content is pasted to apply custom styles.
>>> 
>>> Thoughts?
>>> 
>>> On Nov 3, 2013, at 10:13 AM, Harbs wrote:
>>> 
>>>> Looking into an issue I had, I noticed that user styles in TLF are not
>>>> preserved on copy/paste. (Actually, it would probably be more correct
>>>>to
>>>> say that they're not preserved on copy.)
>>>> 
>>>> I'm looking into TextScrap/TextClipboard now, but if anyone has
>>>> experience here as to why the styles are being dropped, I'd love to
>>>>knowŠ
>>>> 
>>>> Harbs
>>> 
>> 
>

Reply via email to