GetCharBoundaries equivalent in spark text components

Is there an easy way in the new text components to do what getCharBoundaries (in flex.TextField) does? (i.e. get the position of a particular character within a text field)
So far, all I've come across is getAtomBounds in the TextLine class. But I'm not sure how to make use of this from the starting position of a TextArea or other spark component. Before I go delving into this further, is there an obvious way to do this that I've missed. And if not, can anyone give me a lead on how to make use of getAtomBounds from a RichText or other component.
Any help greatly appreciated.

dave,
Good catch! Can you please file a bug at http://bugs.adobe.com/flex/ and include a simple test case (actually, I was able to repro with the test case below if you want to use that code)? (and then post the bug number here so I can subscribe and assign to the correct person).
You can see from the code below that the flowComposer seems to be null by default, but if you edit the code you will get a flowComposer object back.
<?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/halo">
    <s:layout>
        <s:VerticalLayout paddingLeft="20" paddingTop="20" />
    </s:layout>
    <fx:Script>
        <![CDATA[
            import mx.utils.ObjectUtil;
            private function init():void {
                debug.text = ObjectUtil.toString(richEdTxt.textFlow.flowComposer);
                btn.enabled = false;
        ]]>
    </fx:Script>
    <s:RichEditableText id="richEdTxt" change="btn.enabled = true;">
        <s:textFlow>
            <s:TextFlow>
                <s:p>The quick brown <s:span fontWeight="bold">fox jumps over</s:span> the lazy dog</s:p>
            </s:TextFlow>
        </s:textFlow>
    </s:RichEditableText>
    <s:Button id="btn" label="get flowComposer" click="init();" />
    <s:TextArea id="debug" width="550" height="300" />
</s:Application>
Thanks,
Peter

Similar Messages

  • [svn:fx-trunk] 10075: Cleanups from the spark text changes and some bug fixes for VideoElement.

    Revision: 10075
    Author:   [email protected]
    Date:     2009-09-08 18:01:58 -0700 (Tue, 08 Sep 2009)
    Log Message:
    Cleanups from the spark text changes and some bug fixes for VideoElement.  Also some PARB changes for UIComponent.
    TitleBar: Changing the skin part type from Label to Textbase
    UIComponent: skipMeasure()->canSkipMeasurement() to be in line with GraphicElement.  This has been PARB approved.
    UIComponent: same with hasComplexLayoutMatrix...this replaces hasDeltaIdentityTransform.  This has been PARB approved.
    StyleProtoChain: cleanup around what interfaces to use
    TextBase: clean up code that?\226?\128?\153s no longer needed.
    VideoElement: Fixing 4 bugs:
    SDK-22824: sourceLastPlayed keeps track of what video file we?\226?\128?\153ve called play() with last.  This way if a user pauses the video and wants to start it up again at the same point, we can call play(null) on the underlying FLVPlayback videoPlayer.  However, anytime the souce changes, we want to null out sourceLastPlayed.  This was causing a bug when someone set the source to null and then reset it to it?\226?\128?\153s previous value.
    SDK-23034 (GUMBO_PRIORITY): This deals with some FLVPlayback quirks around sizing.  I had put in a fix so we weren?\226?\128?\153t setting width/height on the underlying videoPlayer too many times, but apparently we need to make sure it always gets called once.  Hopefully when switching to Strobe we can cleanup this logic...I put a FIXME in to do this.
    SDK-21947/ SDK-22533 - some video files don?\226?\128?\153t always send out a metadata event.  I?\226?\128?\153m not quite sure why this is, but in case this happens, we do a check in the ready handler to see whether we should call invalidateSize() to make sure it gets sized properly.
    QE notes:-
    Doc notes:-
    Bugs: SDK-22824, SDK-23034, SDK-21947, SDK-22533
    Reviewer: Glenn, Corey
    Tests run: checkintests, Button, GraphicTags, VideoElement, and VideoPlayer (some VideoPlayer were failing, but I think it should be fine)
    Is noteworthy for integration: Yes
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-22824
        http://bugs.adobe.com/jira/browse/SDK-23034
        http://bugs.adobe.com/jira/browse/SDK-21947
        http://bugs.adobe.com/jira/browse/SDK-22533
        http://bugs.adobe.com/jira/browse/SDK-22824
        http://bugs.adobe.com/jira/browse/SDK-23034
        http://bugs.adobe.com/jira/browse/SDK-21947
        http://bugs.adobe.com/jira/browse/SDK-22533
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleB ar.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
        flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as
        flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstan ce.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransfor mInstance.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionIns tance.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicEleme nt.as

  • [svn:fx-trunk] 10214: This fixes the problem that if two text components share the same textFlow there is an infinite loop involving updateDisplayList - damageHandler - invalidateDisplaylist - back to updateDisplayList.

    Revision: 10214
    Author:   [email protected]
    Date:     2009-09-13 07:33:58 -0700 (Sun, 13 Sep 2009)
    Log Message:
    This fixes the problem that if two text components share the same textFlow there is an infinite loop involving updateDisplayList -> damageHandler -> invalidateDisplaylist -> back to updateDisplayList.  The bug file was for TextArea which is RET but the same bug was in RichText as well.
    This example with a renderer exposed it because the typicalItem that is composed to figure out sizes and the actual first item in the list share the same textFlow.  It actually has nothing to do with useVirtualDisplay other than it was sharing a textFlow.
    It turns out that the TextFlowFactory dispatches damage events every time the textFlow is composed.  Unlike when the flowComposer is used, it always considers the flow damaged.  It was exacerbated by each of the two components having a damage handler for the same textFlow.
    The solution is to use the textFlow generation number.  In the damageHandler if the generation is the last known generation number, assume no changes, and return immediately from the damage handler.
    QE notes: There are 1 TextArea, 6 TextInput and 2 NumericStepper failuers, with or without my changes.  The common link seems to be DispatchKeyEvent.  Most were testing maxChar, displayAsPassword and restrict.  I tested these and they seem to be working correctly.
    Doc notes:
    Bugs: SDK-23002
    Reviewer: Gordon
    Tests run: checkintests, TextArea, TextInput and NumericStepper
    Is noteworthy for integration: no
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-23002
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/RichEditable TextContainerManager.as

    Revision: 10214
    Author:   [email protected]
    Date:     2009-09-13 07:33:58 -0700 (Sun, 13 Sep 2009)
    Log Message:
    This fixes the problem that if two text components share the same textFlow there is an infinite loop involving updateDisplayList -> damageHandler -> invalidateDisplaylist -> back to updateDisplayList.  The bug file was for TextArea which is RET but the same bug was in RichText as well.
    This example with a renderer exposed it because the typicalItem that is composed to figure out sizes and the actual first item in the list share the same textFlow.  It actually has nothing to do with useVirtualDisplay other than it was sharing a textFlow.
    It turns out that the TextFlowFactory dispatches damage events every time the textFlow is composed.  Unlike when the flowComposer is used, it always considers the flow damaged.  It was exacerbated by each of the two components having a damage handler for the same textFlow.
    The solution is to use the textFlow generation number.  In the damageHandler if the generation is the last known generation number, assume no changes, and return immediately from the damage handler.
    QE notes: There are 1 TextArea, 6 TextInput and 2 NumericStepper failuers, with or without my changes.  The common link seems to be DispatchKeyEvent.  Most were testing maxChar, displayAsPassword and restrict.  I tested these and they seem to be working correctly.
    Doc notes:
    Bugs: SDK-23002
    Reviewer: Gordon
    Tests run: checkintests, TextArea, TextInput and NumericStepper
    Is noteworthy for integration: no
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-23002
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as
        flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/RichEditable TextContainerManager.as

  • Text input in text components in swing?

    Hi,
    is there any UML diagram, or any site on how text input is carried out in text components? Is it just a simple matter of JTextComponent adding itself as a KeyListener to itself, and then updating the document with each key press? or is there a little more too it?
    thanks,
    J

    justinlawler wrote:
    or is there a little more too it?There's a lot more to it. I think good beginning reading is the summary at the top of the [Javadoc for JTextComponent|http://java.sun.com/javase/6/docs/api/javax/swing/text/JTextComponent.html] . It is a convoluted API that has many "kludges" that can't be completely removed because of the need for backwards compatibility.
    I'd also recommend reading up on the classes EditorKit, InputMap, ActionMap, Keymap, and (Basic)TextUI. Good luck!

  • Arabic numerals not displaying in Swing text components

    On a test system setup with Windows NT Arabic version, we had problems entering Arabic numerics into Swing text components.
    Other Arabic characters were displayed correctly, but numerals were all represented by Western characters ('0 to 9'). Even when using the "Alt-" method to enter the Unicode character codes via. the keypad, we still got incorrect characters.
    When using the keypad to enter the code '\u0660' (Arabic "1"), the code sent to the text component was '\u2022' (Bullet).
    We tried this on an English system and the same code was passed to the text component.
    Does anyone have any suggestions as to what might be the cause of this problem ?
    Thanks,
    Brian...

    hello!
    I am developing an arabic editor but i am unable to display the arbic numeric in swing text .Plz help me on this topic and send some code example on this topic.
    I have another problem about events i.e how can i handle the beckspace event, enter event, and spaceevent?
    plz send me mail .
    Thanx for advance.

  • Text components

    Hello,
    I thought copy/paste functions (ctrl v, ctrl c) were automatically included in Swing Text components but when they are on a JApplet, they don't always work. The keyword is always which is weird because on some computers it works, but others it only will copy/paste text internally in the applet (not from external programs). This is not a signed applet...but the copy and paste from external sources DO work on some computers, so I'm not sure if this is a permissions issue or not. Does anyone know any solutions?
    Thanks.

    Thank you camickr.
    addHighlight() highlights a range of characters and this is exactly what I needed. What about highlighting lines. To highlight a line, I will have to count all characters before that line to get to line start, and then count all characters before next "\n" to get to line end. Then repeat this process for all lines that I need to highlight. Is there an easier way to highlight lines ?

  • Hex equivalent of arabic text

    hi guys
    im a newbie to oracle i would like to know how to get the hex equivalent of arabic text in oracle 9.2
    thanks
    fkhan

    I assume this is a follow-up to [your other thread|http://forums.oracle.com/forums/thread.jspa?threadID=716799&tstart=0].
    If you go to the [Unicode code converter tool|http://rishida.net/scripts/uniview/conversion.php] that I linked to in that thread, you can copy and paste an arbitrary string and convert that to (among other things) its Unicode hex representation.
    Justin

  • Fetching all text components for query - RSRREPDIR / RSZELTXREF / RSZELTTXT

    Hi all,
    I am developing a tool to fetch all the text components for a BI query. The texts are then to be translated and uploaded back to the BI system, but right now we are first focusing on downloading the texts.
    In the tool, the user inputs the query technical name on the screen, after which my approach is as follows:
    1) Fetch Query UID from table RSRREPDIR using Query technical name.
    2) Fetch all element UIDs from table RSZELTXREF using Query UID and by resolving the hierarchies. Agreed, the hierarchies in the table RSZELTXREF are very complex.
    3) Provide all element UIDs, including root query UID, to the table RSZELTTXT, and fetch TXTSH and TXTLG texts.
    Now, my question is at step 2: Which are the UIDs that I should fetch? Specifically, should I fetch only those UIDs which have Layout Type as 'ROW' / 'COL' / 'SHT', or should I fetch all UIDs regardless of Layout Type?
    Secondly, my understanding is that because of the table hierarchy, I should continuously feed the field TELTUID back to SELTUID until the Layout Type is 'NIL'. When this happens, I am at the Element Level. Is this correct?
    Thanks in advance,
    Shailesh.

    Now in the following code, why are u creating a new form?
    Why dont you use the form which is input to the Action Class's execute methof?
    if(rs.next()){
    EditForm e=new EditForm();
    e.setEmpname(rs.getString(1));
    }Thanks and regards,
    Pazhanikanthan. P

  • Changing the Text Cursor for all Text Components

    Hi,
    The users have asked me to change the text cursor i.e, the vertical cursor for all the text components in our application.
    Is there a common way to change it , without having to call the setCaret method for each of the text components ?
    I saw that Cursor class has a Cursor type called TEXT_CURSOR. I'd like to be able to change that cursor.
    Any ideas, suggestions?
    Thanks!

    I was talking about the blinking vertical caret - sorry I got confused between the I-beam cursor and the caret(!).
    I wanted to change the caret color at the very least.
    Although preferably, I would like to make it a bit wider.
    I just found one solution to change the caret color across all the textfields using UIManager -
        Color caretColor = Color.GREEN;
        UIManager.put( "TextField.caretForeground", caretColor);
        UIManager.put( "FormattedTextField.caretForeground", caretColor);
        UIManager.put( "TextArea.caretForeground", caretColor);
        UIManager.put( "PasswordField.caretForeground", caretColor);Thanks

  • How to exclude accent characters in Text components

    How can I exclude accent characters in Text components. I
    just want the keystroke do nothing for accent characters.

    I assume you mean TextInput.
    Easiest way? You may want to do something like this, it
    restricts input to only the provided characters, so you'd have to
    add any others that you DO want:
    restrict="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    Harder way? Extend TextInput (but it only stops `):

  • [svn:fx-trunk] 8024: Fixed an injection where setting the 'content' property of Spark text component to a TextFlow would cause you to get a TextFlow nested inside a TextFlow .

    Revision: 8024
    Author:   [email protected]
    Date:     2009-06-19 16:59:25 -0700 (Fri, 19 Jun 2009)
    Log Message:
    Fixed an injection where setting the 'content' property of Spark text component to a TextFlow would cause you to get a TextFlow nested inside a TextFlow.
    QE Notes: None
    Doc Notes: None
    Bugs: SDK-21906
    Reviewer: Carol to review
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-21906
    Modified Paths:
        flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as
        flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichText.as

    Well, I've already solved one of the two issues
    In order to display the icons on my buttonbar buttons, I just needed to point at {hostComponent.data.data} instead of {hostComponent.data}. I'm not sure why, but {hostComponent.data} in my skin class is a handle on my instance of ButtonBarButton, not its "data" property. Any explanation is welcomed
    I still have got the first issue though. Oddly enough my design works if I put an mx Image instead of the spark BitmapImage for the client logo. That will do the trick for the moment but I'd prefer to deliver a 100% pure spark component in my prototype, and I can see no reason why BitmapImage works inside my ButtonBarButtons and doesn't otherwise...

  • Limit the number of characters in Text Components

    I'm trying to limit the number of characters in text components. So I use the follow KeyListener:
    private class KeyHandler extends KeyAdapter{
    String oldText;
    private KeyHandler(){ }
    public void keyTyped(KeyEvent ev){
    String newText = textField.getText();
    System.out.println("Old text: " + this.oldText); //debug
    System.out.println("New text: " + newText); //debug
    if(newText.length() < limit){
    this.oldText = newText + ev.getKeyChar();
    }else{
    textField.setText(this.oldText);
    if(textField.getCaretPosition() + 1 > limit)
    textField.setCaretPosition(limit - 1);
    But the problem is that after that, the last key is typed in the component and the last key always appear.
    �Does anyone know the way for consume the key presses?
    Thank you

    (Belongs in the Swing forum.)
    The callback method keyTyped comes after keyPressed and keyReleased.
    The event.consume() should consume the event.
    Consider cut/copy/paste.
    Maybe a addPropertyChangeListener would be better?

  • [svn:fx-3.x] 11192: In AIR, you can drag' n drop text between text components like TextInput and TextArea.

    Revision: 11192
    Author:   [email protected]
    Date:     2009-10-27 12:54:37 -0700 (Tue, 27 Oct 2009)
    Log Message:
    In AIR, you can drag'n drop text between text components like TextInput and TextArea.  There's an AIR bug where doing so doesn't result in a TEXT_INPUT or a CHANGE event.  This is a workaround for that bug so that we listen for a nativeDragDrop event.
    QE notes: -
    Doc notes: -
    Bugs: SDK-19816
    Reviewer: Gordon
    Tests run: checkintests, mustella TextInput, TextArea
    Is noteworthy for integration: no
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-19816
    Modified Paths:
        flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/controls/TextArea.as
        flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/controls/TextInput.as

    First 3 .as are the component
    source. in the last test.mxml file i have written the drag and drop functionality.
    can any help me?? please

  • Which event dispatched after text selection done on spark text area in Apple iPad using Adobe Flex 4

    I need to know which event triggered after text selection done in Apple iPad. This way i have done in desktop air app code (mouse events)
    protected function txtEditor_mouseUpHandler(event:MouseEvent):void
                if(txtEditor.selectionAnchorPosition != txtEditor.selectionActivePosition){
                    showNoteToolBar(event);
                    txtEditor.focusEnabled = true;
                    txtEditor.setFocus();
    But in Apple iPad how to achieve through "Touch Event" ? And also i need how to hide all context menu on Spaek TextArea?. Why Touch.End event is not fired after place cursor on text area ?
    Please help me !

    Ok, so I finally got it working but this is not ideal at all. Adobe really needs to give us some direction on how to properly deal with font embedding and TLF now that the release build breaks all functionality with loading runtime fonts and TLF.
    Problem:
    I am embedding collections of fonts (faces) into single family classes. Each individual face is registered with Font.registerFont(). I need to do this because I have to have mixed fonts within text flows - at least according to Alex H's recent blog post.
    Fonts do not display in TLF without doing the following:
    1. GlobalSettings.resolveFontLookupFunction = null;
    2. editor.textFlow.flowComposer.swfContext = ISWFContext(this.getFontContext("AnyFamilyNameFromAnyFontEmbedded", false, false, FontLookup.EMBEDDED_CFF));
    3. Instead of #2, use editor.textFlow.invalidateAllFormats();
    Either #2 or #3 need to be performed. If I have a spark richEditableText control in MXML with defined familes from the loaded fonts. I even tried placing the control into a separate state so it wasn't created until after the fonts were loaded... I still needed to invalidate the formats or set the context.
    The "AnyFamilyNameFromAnyFontEmbedded" does not need to be all of the embedded family names. It only needs to be one of them. Once one is used, all embedded fonts work. Also, I have to use the internal namespace to even get access to getFontContext, another oddity that, in my humble opinion, should never be necessary to create mixed style TLF content.
    My questions are then:
    1. Why am I required to use ISWFContext if I am using Font.registerFont()?
    2. Why is GlobalSettings.resolveFontLookupFunction = null; also required for this to work?
    3. What is the recommended workflow to embed fonts from multiple SWF files into the release build and have it work without having to jump through all these hoops?

  • What is the equivalent subtype of 'Text'?

    Hi experts,
    i have created one field using 'user defined field-management' menu with "type alphanumeric and structure text". now i want to create that field by code. so, i have selected oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha but the option for subtype "text" is not coming in intellisense.
    so, what is the equivalent subtype for structure "text".
    Thanking
    Vishwajit Kumar

    It's actually a strange one - it's not a subtype in the DI for some reason, it appears as a main type under "Memo"
    oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Memo
    That will get you what you require it will appear in B1 as type alphanumeric and subtype text! Like I said, it's a weird one

Maybe you are looking for

  • The ipod cannot be updated because....

    I got a message this afternoon after adding some songs to my iTunes saying something along the lines of I couldn't fit all the library songs on my iPod so iTunes was going to create a new playlist for me (or something). iPod Select or something. That

  • AUTOCOMPLETE option in ABAP webdynpro

    Hi ,           Can we implement auto complete option for a particular field in a view in ABAP webdynpro.For Example,in google search page if we type some word,it will automatically show the list possible searches values as dropdown.Please let me know

  • Issue with vocals during recording - only hear them on left side of headphones.

    wanting to hear in stereo...

  • Error message when uploading pictures to Facebook

    When I upload a photo to Facebook, I get an error message with a red X.  I have successfully uploaded one photo, but since then I have had no luck.  Thanks for any assistance you can provide.

  • SMF Manifests for Apache & MySQL

    I recently started checking up on SMF since the need for service control became bigger. That and the options for added security when it comes to the privilege system. I dug up a manifest for apache somewhere but simply disliked it because it used the