{ "type": "class",
  "qname": "org.apache.royale.textLayout.operations.ApplyFormatOperation",
  "baseClassname": "org.apache.royale.textLayout.operations.FlowTextOperation"
  ,
    "description": "The ApplyFormatOperation class encapsulates a style change.  <p>An ApplyFormatOperation applies the leaf format to the text in the specified range (no change is made if the specified range is a single point). It applies the paragraph format to any paragraphs at least partially within the range (or a single paragraph if the range is a single point). And it applies the container format to any containers at least partially within the range (or a single container if the range is a single point).</p>",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.textLayout.edit.EditManager", "org.apache.royale.textLayout.events.FlowOperationEvent"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.textLayout.operations.ApplyFormatOperation",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates an ApplyFormatOperation object.",
        "tags": [
        {  "tagName": "param",
               "values": ["operationState Defines the text range to which the format is applied.", "leafFormat  The format to apply to LeafFlowElement objects in the selected range.", "paragraphFormat The format to apply to ParagraphElement objects in the selected range.", "containerFormat The format to apply to containers in the selected range."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "operationState", "type": "org.apache.royale.textLayout.edit.SelectionState"},
        { "name": "leafFormat", "type": "org.apache.royale.textLayout.formats.ITextLayoutFormat"},
        { "name": "paragraphFormat", "type": "org.apache.royale.textLayout.formats.ITextLayoutFormat"},
        { "name": "containerFormat", "type": "org.apache.royale.textLayout.formats.ITextLayoutFormat"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "leafFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The format properties to apply to the leaf elements in the range.  <p>If the range of this operation is a point, or if <code>leafFormat</code> is <code>null</code>, then no leaf element formats are changed.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "paragraphFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The format properties to apply to the paragraphs in the range.  <p>The formats of any paragraphs at least partially within the range are updated. If the range of this operation is a point, then a single paragraph is updated. If <code>paragraphFormat</code> is <code>null</code>, then no paragraph formats are changed.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "containerFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The format properties to apply to the containers in the range.  <p>The formats of any containers at least partially within the range are updated. If the range of this operation is a point, then a single container is updated. If <code>containerFormat</code> is <code>null</code>, then no container formats are changed.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
