You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Jason Taylor (JIRA)" <ji...@apache.org> on 2013/10/01 22:23:25 UTC

[jira] [Created] (FLEX-33791) TextLayoutFramework EditManager.ApplyFormat ignoring selection range

Jason Taylor created FLEX-33791:
-----------------------------------

             Summary: TextLayoutFramework EditManager.ApplyFormat ignoring selection range
                 Key: FLEX-33791
                 URL: https://issues.apache.org/jira/browse/FLEX-33791
             Project: Apache Flex
          Issue Type: Bug
    Affects Versions: Apache Flex 4.10.0
         Environment: any 4.10 SDK
            Reporter: Jason Taylor


when specifiying a text range for format to be applied, format is instead applied to entire paragraph

<s:TextArea width="100%" height="100%" id="txt">
        <s:content>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit.<s:br/>
            Nulla sed metus facilisis, elementum arcu a, euismod est.<s:br/>
            Vivamus quis quam nec sapien accumsan luctus sit amet a magna.<s:br/>
            Vivamus eu erat ac est ullamcorper egestas eget nec mauris.<s:br/>
            Cras fringilla leo a risus luctus, eu volutpat diam luctus<s:br/>
        </s:content>
    </s:TextArea>

    <fx:Script><![CDATA[
        import flashx.textLayout.edit.EditManager;
        import flashx.textLayout.edit.SelectionState;
        import flashx.textLayout.elements.TextFlow;
        import flashx.textLayout.formats.TextLayoutFormat;

        import mx.events.FlexEvent;

        private function OnCreationComplete(event:FlexEvent):void
        {
            SetRegionColor(txt.textFlow, 5, 6, 0xB9CCFF);
        }

        public  function SetRegionColor(objFlow:TextFlow, iStart:int, iEnd:int, iBackgroundColor:*, nBgAlpha:Number = 1):void
        {
            try
            {
                var objFormat:TextLayoutFormat = new TextLayoutFormat();
                objFormat.backgroundColor = iBackgroundColor;
                objFormat.backgroundAlpha = nBgAlpha;


                var objSelection:SelectionState = new SelectionState(objFlow, iStart, iEnd);

                if(objFlow.interactionManager == null || objFlow.interactionManager is EditManager == true)
                {
                    var objManager:EditManager =  objFlow.interactionManager as EditManager;
                    objManager.applyFormat(objFormat, objFormat, objFormat, objSelection);
                }
                else
                {
                    throw new Error("TextFlow is Not Editable");
                }
            }
            catch(objError:Error)
            {
                trace("DocColorUtils::SetRegionColor Error: " + objError.message, objError);
            }
        }

        ]]></fx:Script>





--
This message was sent by Atlassian JIRA
(v6.1#6144)