{ "type": "class",
  "qname": "org.apache.royale.jewel.beads.views.DateChooserView",
  "baseClassname": "org.apache.royale.html.beads.GroupView"
  ,
    "description": "The DateChooserView class is a view bead for the DateChooser.  This class creates the elements for the DateChooser: the buttons to move between months, the labels for the days of the week, and the buttons for each day of the month.",
  "tags": [
  {  "tagName": "viewbead",
         "values": [""]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.jewel.beads.views.DateChooserView",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "constructor",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "write-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "strand",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.jewel.Button",
        "qname": "viewSelector",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The button to display month and year and select from a list of years",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.jewel.Button",
        "qname": "previousButton",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The button that causes the previous month or year to be displayed by the DateChooser.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.jewel.Button",
        "qname": "nextButton",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The button that causes the next month or year to be displayed by the DateChooser.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.jewel.supportClasses.datechooser.DateChooserTable",
        "qname": "table",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The DateChooserTable of days or years to display",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.4"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "NUM_COLS_DAYS",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "field",
        "qname": "NUM_COLS_YEARS_OR_MONTHS",
        "return": "int",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "method",
        "qname": "createColumns",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Create 7 columns for calendar view (viewState = 0) or 4 columns for years or months view (viewState = 1 or 2)",
          "return": "void",
          "params": []}
      ]
  }
