{ "type": "class",
  "qname": "mx.controls.textClasses.TextRange",
  "baseClassname": ""
  ,
    "description": "The TextRange class provides properties that select and format a range of text in the Label, Text, TextArea, TextEditor, and RichTextEditor controls.",
  "tags": [
  {  "tagName": "see",
         "values": ["mx.controls.Label", "mx.controls.RichTextEditor", "mx.controls.Text", "mx.controls.TextArea", "mx.controls.TextInput", "flash.text.TextFormatAlign"]},
      {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.controls.textClasses.TextRange",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Create a new TextRange Object that represents a subset of the contents of a text control, including the formatting information.  a <code>textField</code> property, or, as is the case of the RichTextEditor control, a <code>textArea</code> property.  If you set this parameter to <code>true</code> and do not specify a begin or end index that corresponds to text in the control, Flex uses the begin or end index of the current text selection. If this parameter is <code>true</code>, you omit the <code>beginIndex</code> and <code>endIndex</code> parameters, and there is no selection, the TextRange object is empty.  If the <code>modifiesSelection</code> parameter is <code>false</code> and you omit this parameter or specify a negative value, the range starts with the first text character.  last character in the range. If the <code>modifiesSelection</code> parameter is <code>false</code> and you omit this parameter, specify a negative value, or specify a value past the end of the text, the range ends with the last text character.",
        "tags": [
        {  "tagName": "param",
               "values": ["owner The control that contains the text. The control must have", "modifiesSelection Whether to select the text in the range.", "beginIndex Zero-based index of the first character in the range.", "endIndex Zero-based index of the position <i>after</i> the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "owner", "type": "mx.core.UIComponent"},
        { "name": "modifiesSelection", "type": "Boolean"},
        { "name": "beginIndex", "type": "int"},
        { "name": "endIndex", "type": "int"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "beginIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Zero-based index in the control's text field of the first character in the range. If the fifth character in the text is the first character in the range, this property has a value of 4.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
