{ "type": "class",
  "qname": "spark.components.supportClasses.SkinnableTextBase",
  "baseClassname": "spark.components.supportClasses.SkinnableComponent"
  ,
    "description": "The base class for skinnable components, such as the Spark TextInput and TextArea, that include an instance of IEditableText in their skin to provide text display, scrolling, selection, and editing. By default, IEditableText is RichEditableText for the Spark theme and StyleableStageText for the Mobile theme. StyleableTextField is also available for the Mobile theme.   <p>The <code>&lt;s:SkinnableTextBase&gt;</code> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:</p>  <pre>\\n &lt;s:SkinnableTextBase\\n autoCapitalize=&quot;none&quot;  <b>[Mobile theme only]</b>\\n autoCorrect=&quot;true&quot;  <b>[Mobile theme only]</b>\\n displayAsPassword=&quot;false&quot;\\n editable=&quot;true&quot;\\n imeMode=&quot;null&quot;  <b>[Spark theme only]</b>\\n maxChars=&quot;0&quot;\\n prompt=&quot;null&quot;\\n restrict=&quot;null&quot;\\n returnLabelKey=&quot;default&quot;  <b>[Mobile theme only]</b>\\n selectable=&quot;true&quot;\\n selectionHighlighting=&quot;whenFocused&quot;  <b>[Spark theme only]</b>\\n softKeyBoardType=&quot;default&quot;  <b>[Mobile theme only]</b>\\n text=&quot;&quot;\\n typicalText=&quot;null&quot;  <b>[Spark theme only]</b>\\n \\n <strong>Styles</strong>\\n borderAlpha=&quot;1.0&quot;\\n borderColor=&quot;0x696969&quot;\\n borderVisible=&quot;true&quot;\\n contentBackgroundAlpha=&quot;1.0&quot;\\n contentBackgroundColor=&quot;0xFFFFFF&quot;\\n focusAlpha=&quot;0.55&quot;\\n focusColor=&quot;0x70B2EE&quot;\\n showPromptWhenFocused=&quot;true&quot;\\n \\n <strong>Events</strong>\\n change=&quot;<i>No default</i>&quot;\\n changing=&quot;<i>No default</i>&quot;  <b>[Spark theme only]</b>\\n selectionChange=&quot;<i>No default</i>&quot;  <b>[Spark theme only]</b>\\n textInput=&quot;<i>No default</i>&quot;  <b>[Spark theme only]</b>\\n /&gt;\\n </pre>",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "mxml",
         "values": []},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.4"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "spark.components.supportClasses.SkinnableTextBase",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "borderAlpha",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "uint",
        "qname": "borderColor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "uint",
        "qname": "contentBackgroundColor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Number",
        "qname": "contentBackgroundAlpha",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "borderVisible",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "lineThrough",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "textDecoration",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "textAlignLast",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "field",
        "qname": "textDisplay",
        "return": "spark.core.IEditableText",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The IEditableText that may be present in any skin assigned to this component. This is RichEditableText for the Spark theme and StyleableStageText/ScrollableStageText for the Mobile theme.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "enabled",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1", "Flash 9", "AIR 1.1"]},
            {  "tagName": "copy",
               "values": ["mx.core.IUIComponent#enabled", "mx.core.IUIComponent#enabled", "mx.core.IUIComponent#enabled", "mx.core.IUIComponent#enabled", "mx.core.IUIComponent#enabled", "mx.core.IUIComponent#enabled"]},
            {  "tagName": "productversion",
               "values": ["Flex 3", "Flex 3", "Flex 3", "Flex 3", "Flex 3", "Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0", "3.0", "3.0", "3.0", "3.0", "3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "displayAsPassword",
        "namespace": "public",
        "bindable": ["displayAsPasswordChanged"],
        "details": [],
        "deprecated": {},
          "description": "Indicates whether this control is used for entering passwords. If <code>true</code>, the field does not display entered text, instead, each text character entered into the control appears as the  character &quot;&#42;&quot;.  instead of the actual characters",
        "tags": [
        {  "tagName": "default",
               "values": ["false"]},
            {  "tagName": "helpid",
               "values": ["3197"]},
            {  "tagName": "tiptext",
               "values": ["Specifies whether to display '*'"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "editable",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Specifies whether the text is editable.  <p><b>For the Spark theme, see spark.components.RichEditableText.editable</b></p>  <p><b>For the Mobile theme, see spark.components.supportClasses.StyleableStageText.editable</b></p>",
        "tags": [
        {  "tagName": "default",
               "values": ["true"]},
            {  "tagName": "see",
               "values": ["spark.components.RichEditableText#editable", "spark.components.supportClasses.StyleableStageText#editable"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "int",
        "qname": "maxChars",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["0"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["flash.text.TextField#maxChars"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "restrict",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "default",
               "values": ["null"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["flash.text.TextField#restrict"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "selectionActivePosition",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A character position, relative to the beginning of the <code>text</code> String, specifying the end of the selection that moves when the selection is extended with the arrow keys.  <p><b>For the Spark theme, see spark.components.RichEditableText.selectionActivePosition</b></p>  <p><b>For the Mobile theme, see spark.components.supportClasses.StyleableStageText.selectionActivePosition</b></p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.RichEditableText#selectionActivePosition", "spark.components.supportClasses.StyleableStageText#selectionActivePosition"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "text",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The text displayed by this text component.  <p><b>For the Spark theme, see spark.components.RichEditableText.text</b></p>  <p><b>For the Mobile theme, see spark.components.supportClasses.StyleableStageText#text</b></p>",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.RichEditableText#text", "spark.components.supportClasses.StyleableStageText#text"]},
            {  "tagName": "default",
               "values": [""""]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "appendText",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.RichEditableText#appendText()", "spark.components.supportClasses.StyleableStageText#appendText()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["spark.core.IEditableText#appendText()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "text", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "selectRange",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "see",
               "values": ["spark.components.RichEditableText#selectRange()", "spark.components.supportClasses.StyleableStageText#selectRange()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["spark.core.IEditableText#selectRange()"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "anchorIndex", "type": "int"},
        { "name": "activeIndex", "type": "int"}]}
      ,
      { "type": "method",
        "qname": "setStyle",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "return": "void",
          "params": [{ "name": "styleName", "type": "String"},
        { "name": "value", "type": "*"}]}
      ]
  ,
  "events": [
  { "qname": "change",
        "type": "spark.events.TextOperationEvent"
      ,
          "description": "Dispatched after a user editing operation is complete.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["spark.events.TextOperationEvent.CHANGE"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
