Alex did work getting TLF to work with spans. IIRC that was functional.

I don’t remember whether editing worked or not, but that should be doable 
without too much trouble if not.

You’ll need a hidden input to take the interaction, but you probably know that 
already.

> On Feb 17, 2021, at 6:04 PM, Yishay Weiss <[email protected]> wrote:
> 
> I am not sure which problems are app related and which are FW related. Glad 
> to hear you're optimistic, makes me think it's worthwhile going for it. I'll 
> try to create some tests for these APIs.
> 
> Spark TextArea isn't editable so I thought there might be issues with TLF, 
> but again, it could be Spark issues.
> 
> Thanks.
> ________________________________
> From: Harbs <[email protected]>
> Sent: Wednesday, February 17, 2021 1:45 PM
> To: Apache Royale Development <[email protected]>
> Subject: Re: TLF APIs Effort Estimate
> 
> The vast majority of this should work. No?
> 
>> On Feb 17, 2021, at 12:30 PM, Yishay Weiss <[email protected]> wrote:
>> 
>> Hi All,
>> 
>> The app I am porting makes extensive use of some TLF APIs. Re-implementing 
>> everything differently will be difficult so I am trying to estimate the work 
>> involved in actually making the below APIs work. If anyone (prbly Harbs and 
>> Alex) has time to have a quick glance and help me asses the work involved, I 
>> would be grateful.
>> 
>> Thanks,
>> Yishay
>> 
>> flashx.textLayout.container.ContainerController,3
>> flashx.textLayout.container.ContainerController:compositionHeight,3
>> flashx.textLayout.container.ContainerController:getContentBounds,1
>> flashx.textLayout.container.ContainerController:setCompositionSize,1
>> flashx.textLayout.container.ContainerController:verticalScrollPosition,4
>> flashx.textLayout.conversion.ConversionType,7
>> flashx.textLayout.conversion.ConversionType:STRING_TYPE,2
>> flashx.textLayout.conversion.ConversionType:XML_TYPE,5
>> flashx.textLayout.conversion.TextConverter,18
>> flashx.textLayout.conversion.TextConverter:TEXT_LAYOUT_FORMAT,9
>> flashx.textLayout.conversion.TextConverter:export,7
>> flashx.textLayout.conversion.TextConverter:importToFlow,2
>> flashx.textLayout.edit.EditManager,3
>> flashx.textLayout.edit.EditManager:applyFormat,2
>> flashx.textLayout.edit.EditManager:applyFormatToElement,2
>> flashx.textLayout.edit.EditManager:applyLink,2
>> flashx.textLayout.edit.EditManager:applyParagraphFormat,2
>> flashx.textLayout.edit.EditManager:insertInlineGraphic,1
>> flashx.textLayout.edit.EditManager:keyDownHandler,1
>> flashx.textLayout.edit.EditManager:keyUpHandler,1
>> flashx.textLayout.edit.EditManager:textFlow,1
>> flashx.textLayout.edit.EditManager:undoManager,1
>> flashx.textLayout.edit.ElementRange,4
>> flashx.textLayout.edit.ElementRange:createElementRange,1
>> flashx.textLayout.edit.ElementRange:textFlow,1
>> flashx.textLayout.edit.IEditManager,12
>> flashx.textLayout.edit.SelectionManager:activePosition,2
>> flashx.textLayout.edit.SelectionManager:anchorPosition,1
>> flashx.textLayout.edit.SelectionManager:getCommonCharacterFormat,1
>> flashx.textLayout.edit.SelectionManager:getSelectionState,12
>> flashx.textLayout.edit.SelectionState,12
>> flashx.textLayout.edit.SelectionState:absoluteEnd,3
>> flashx.textLayout.edit.SelectionState:absoluteStart,3
>> flashx.textLayout.edit.TextFlowEdit,2
>> flashx.textLayout.edit.TextFlowEdit:makeLink,1
>> flashx.textLayout.edit.TextFlowEdit:removeLink,1
>> flashx.textLayout.edit.TextScrap:textFlow,1
>> flashx.textLayout.elements.DivElement,93
>> flashx.textLayout.elements.DivElement:addChild,11
>> flashx.textLayout.elements.DivElement:addChildAt,2
>> flashx.textLayout.elements.DivElement:getChildAt,6
>> flashx.textLayout.elements.DivElement:getChildIndex,3
>> flashx.textLayout.elements.DivElement:getElementRelativeStart,1
>> flashx.textLayout.elements.DivElement:getFirstLeaf,5
>> flashx.textLayout.elements.DivElement:getLastLeaf,3
>> flashx.textLayout.elements.DivElement:getNextSibling,6
>> flashx.textLayout.elements.DivElement:getPreviousSibling,3
>> flashx.textLayout.elements.DivElement:numChildren,2
>> flashx.textLayout.elements.DivElement:removeChild,4
>> flashx.textLayout.elements.DivElement:removeChildAt,1
>> flashx.textLayout.elements.DivElement:setStyle,5
>> flashx.textLayout.elements.DivElement:splitAtIndex,1
>> flashx.textLayout.elements.FlowElement,30
>> flashx.textLayout.elements.FlowElement:deepCopy,1
>> flashx.textLayout.elements.FlowElement:fontStyle,1
>> flashx.textLayout.elements.FlowElement:fontWeight,1
>> flashx.textLayout.elements.FlowElement:getAbsoluteStart,2
>> flashx.textLayout.elements.FlowElement:getNextSibling,3
>> flashx.textLayout.elements.FlowElement:getParagraph,13
>> flashx.textLayout.elements.FlowElement:getParentByType,4
>> flashx.textLayout.elements.FlowElement:getStyle,4
>> flashx.textLayout.elements.FlowElement:getText,2
>> flashx.textLayout.elements.FlowElement:parent,5
>> flashx.textLayout.elements.FlowElement:setStyle,1
>> flashx.textLayout.elements.FlowElement:textDecoration,1
>> flashx.textLayout.elements.FlowElement:userStyles,2
>> flashx.textLayout.elements.FlowGroupElement,11
>> flashx.textLayout.elements.FlowGroupElement:addChild,6
>> flashx.textLayout.elements.FlowGroupElement:findLeaf,2
>> flashx.textLayout.elements.FlowGroupElement:getChildAt,2
>> flashx.textLayout.elements.FlowGroupElement:getFirstLeaf,5
>> flashx.textLayout.elements.FlowGroupElement:getStyle,13
>> flashx.textLayout.elements.FlowGroupElement:removeChild,2
>> flashx.textLayout.elements.FlowLeafElement,11
>> flashx.textLayout.elements.FlowLeafElement:getNextLeaf,1
>> flashx.textLayout.elements.FlowLeafElement:getParagraph,2
>> flashx.textLayout.elements.FlowLeafElement:getParentByType,2
>> flashx.textLayout.elements.FlowLeafElement:parent,5
>> flashx.textLayout.elements.FlowLeafElement:text,2
>> flashx.textLayout.elements.InlineGraphicElement,20
>> flashx.textLayout.elements.InlineGraphicElement:getNextSibling,1
>> flashx.textLayout.elements.InlineGraphicElement:graphic,4
>> flashx.textLayout.elements.InlineGraphicElement:height,4
>> flashx.textLayout.elements.InlineGraphicElement:lineHeight,3
>> flashx.textLayout.elements.InlineGraphicElement:source,4
>> flashx.textLayout.elements.InlineGraphicElement:width,5
>> flashx.textLayout.elements.LinkElement,20
>> flashx.textLayout.elements.LinkElement:getStyle,3
>> flashx.textLayout.elements.LinkElement:href,7
>> flashx.textLayout.elements.LinkElement:setStyle,5
>> flashx.textLayout.elements.LinkElement:target,6
>> flashx.textLayout.elements.ParagraphElement,87
>> flashx.textLayout.elements.ParagraphElement:addChild,15
>> flashx.textLayout.elements.ParagraphElement:computedFormat,1
>> flashx.textLayout.elements.ParagraphElement:deepCopy,1
>> flashx.textLayout.elements.ParagraphElement:fontFamily,2
>> flashx.textLayout.elements.ParagraphElement:fontSize,4
>> flashx.textLayout.elements.ParagraphElement:fontWeight,2
>> flashx.textLayout.elements.ParagraphElement:format,1
>> flashx.textLayout.elements.ParagraphElement:getAbsoluteStart,1
>> flashx.textLayout.elements.ParagraphElement:getChildAt,1
>> flashx.textLayout.elements.ParagraphElement:getFirstLeaf,4
>> flashx.textLayout.elements.ParagraphElement:getLastLeaf,1
>> flashx.textLayout.elements.ParagraphElement:getNextParagraph,2
>> flashx.textLayout.elements.ParagraphElement:getNextSibling,5
>> flashx.textLayout.elements.ParagraphElement:getParentByType,2
>> flashx.textLayout.elements.ParagraphElement:getPreviousSibling,1
>> flashx.textLayout.elements.ParagraphElement:getStyle,13
>> flashx.textLayout.elements.ParagraphElement:getText,2
>> flashx.textLayout.elements.ParagraphElement:parent,19
>> flashx.textLayout.elements.ParagraphElement:setStyle,38
>> flashx.textLayout.elements.ParagraphElement:textAlign,3
>> flashx.textLayout.elements.ParagraphElement:userStyles,1
>> flashx.textLayout.elements.SpanElement,40
>> flashx.textLayout.elements.SpanElement:getAbsoluteStart,1
>> flashx.textLayout.elements.SpanElement:getElementRelativeStart,2
>> flashx.textLayout.elements.SpanElement:getParagraph,1
>> flashx.textLayout.elements.SpanElement:setStyle,1
>> flashx.textLayout.elements.SpanElement:text,19
>> flashx.textLayout.elements.SpanElement:textDecoration,1
>> flashx.textLayout.elements.TextFlow,48
>> flashx.textLayout.elements.TextFlow:addChild,5
>> flashx.textLayout.elements.TextFlow:addChildAt,3
>> flashx.textLayout.elements.TextFlow:addEventListener,14
>> flashx.textLayout.elements.TextFlow:dispatchEvent,19
>> flashx.textLayout.elements.TextFlow:findLeaf,7
>> flashx.textLayout.elements.TextFlow:flowComposer,29
>> flashx.textLayout.elements.TextFlow:getChildAt,1
>> flashx.textLayout.elements.TextFlow:getChildIndex,3
>> flashx.textLayout.elements.TextFlow:getFirstLeaf,7
>> flashx.textLayout.elements.TextFlow:getLastLeaf,1
>> flashx.textLayout.elements.TextFlow:interactionManager,55
>> flashx.textLayout.elements.TextFlow:removeChild,2
>> flashx.textLayout.elements.TextFlow:removeEventListener,6
>> flashx.textLayout.elements.TextFlow:textLength,1
>> flashx.textLayout.elements.TextFlow:whiteSpaceCollapse,1
>> flashx.textLayout.elements.TextRange:absoluteEnd,4
>> flashx.textLayout.elements.TextRange:absoluteStart,5
>> flashx.textLayout.elements.TextRange:activePosition,4
>> flashx.textLayout.elements.TextRange:anchorPosition,1
>> flashx.textLayout.events.CompositionCompleteEvent,2
>> flashx.textLayout.events.CompositionCompleteEvent:COMPOSITION_COMPLETE,1
>> flashx.textLayout.events.FlowOperationEvent,23
>> flashx.textLayout.events.FlowOperationEvent:FLOW_OPERATION_BEGIN,5
>> flashx.textLayout.events.FlowOperationEvent:FLOW_OPERATION_COMPLETE,1
>> flashx.textLayout.events.FlowOperationEvent:FLOW_OPERATION_END,1
>> flashx.textLayout.events.FlowOperationEvent:operation,17
>> flashx.textLayout.events.FlowOperationEvent:preventDefault,1
>> flashx.textLayout.events.FlowOperationEvent:stopImmediatePropagation,1
>> flashx.textLayout.events.FlowOperationEvent:stopPropagation,1
>> flashx.textLayout.events.SelectionEvent,8
>> flashx.textLayout.events.SelectionEvent:SELECTION_CHANGE,4
>> flashx.textLayout.events.TextLayoutEvent,2
>> flashx.textLayout.events.TextLayoutEvent:SCROLL,1
>> flashx.textLayout.formats.ITextLayoutFormat,7
>> flashx.textLayout.formats.TextAlign,17
>> flashx.textLayout.formats.TextAlign:CENTER,7
>> flashx.textLayout.formats.TextAlign:JUSTIFY,2
>> flashx.textLayout.formats.TextAlign:LEFT,4
>> flashx.textLayout.formats.TextAlign:RIGHT,4
>> flashx.textLayout.formats.TextDecoration,8
>> flashx.textLayout.formats.TextDecoration:NONE,3
>> flashx.textLayout.formats.TextDecoration:UNDERLINE,5
>> flashx.textLayout.formats.TextLayoutFormat,43
>> flashx.textLayout.formats.TextLayoutFormat:backgroundColor,4
>> flashx.textLayout.formats.TextLayoutFormat:color,7
>> flashx.textLayout.formats.TextLayoutFormat:fontFamily,2
>> flashx.textLayout.formats.TextLayoutFormat:fontSize,5
>> flashx.textLayout.formats.TextLayoutFormat:fontStyle,7
>> flashx.textLayout.formats.TextLayoutFormat:fontWeight,7
>> flashx.textLayout.formats.TextLayoutFormat:lineThrough,2
>> flashx.textLayout.formats.TextLayoutFormat:textAlign,6
>> flashx.textLayout.formats.TextLayoutFormat:textDecoration,4
>> flashx.textLayout.formats.WhiteSpaceCollapse,1
>> flashx.textLayout.formats.WhiteSpaceCollapse:PRESERVE,1
>> flashx.textLayout.operations.DeleteTextOperation,4
>> flashx.textLayout.operations.DeleteTextOperation:deleteSelectionState,2
>> flashx.textLayout.operations.InsertInlineGraphicOperation,1
>> flashx.textLayout.operations.InsertTextOperation,5
>> flashx.textLayout.operations.InsertTextOperation:_text,1
>> flashx.textLayout.operations.MoveChildrenOperation,1
>> flashx.textLayout.operations.PasteOperation,3
>> flashx.textLayout.operations.PasteOperation:textScrap,1
>> flashx.textLayout.operations.SplitParagraphOperation,3
>> flashx.textLayout.operations.UndoOperation,1
>> flashx.textLayout.tlf_internal,2
>> flashx.undo.IUndoManager,1
>> flashx.undo.UndoManager,5
>> flashx.undo.UndoManager:undoAndRedoItemLimit,1
>> 
> 

Reply via email to