fix docs add optvalues
[roojs1] / docs / json / roodata.json
index 75b4177..9a7d63d 100644 (file)
         "name" : "grid",
         "type" : "Roo.grid.Grid",
         "desc" : "The grid for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "layout",
         "type" : "Roo.BorderLayout",
-        "desc" : "[required] The layout for this panel",
-        "memberOf" : ""
+        "desc" : "The layout for this panel",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
       {
         "name" : "autoAbort",
         "type" : "Boolean",
-        "desc" : "(Optional) Whether a new request should abort any pending requests. (defaults to false)",
-        "memberOf" : ""
+        "desc" : "Whether a new request should abort any pending requests. (defaults to false)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultHeaders",
         "type" : "Object",
         "desc" : "An object containing request headers which are added to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableCaching",
         "type" : "Boolean",
-        "desc" : "(Optional)   True to add a unique cache-buster param to GET requests. (defaults to true)",
-        "memberOf" : ""
+        "desc" : "True to add a unique cache-buster param to GET requests. (defaults to true)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "extraParams",
         "type" : "Object",
         "desc" : "An object containing properties which are used as extra parameters to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
-        "desc" : "(Optional)  The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
-        "memberOf" : ""
+        "desc" : "The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
-        "desc" : "(Optional) The timeout in milliseconds to be used for requests. (defaults to 30000)",
-        "memberOf" : ""
+        "desc" : "The timeout in milliseconds to be used for requests. (defaults to 30000)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The default URL to be used for requests to the server. (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "transactionId",
             "type" : "Number",
-            "desc" : "(Optional) defaults to the last transaction",
+            "desc" : "defaults to the last transaction",
             "isOptional" : false
           }
         ],
           {
             "name" : "transactionId",
             "type" : "Number",
-            "desc" : "(Optional) defaults to the last transaction",
+            "desc" : "defaults to the last transaction",
             "isOptional" : false
           }
         ],
           {
             "name" : "options",
             "type" : "Object",
-            "desc" : "An object which may contain the following properties:<ul>\n<li><b>url</b> {String} (Optional) The URL to which to send the request. Defaults to configured URL</li>\n<li><b>params</b> {Object/String/Function} (Optional) An object containing properties which are used as parameters to the\nrequest, a url encoded string or a function to call to get either.</li>\n<li><b>method</b> {String} (Optional) The HTTP method to use for the request. Defaults to the configured method, or\nif no method was configured, \"GET\" if no parameters are being sent, and \"POST\" if parameters are being sent.</li>\n<li><b>callback</b> {Function} (Optional) The function to be called upon receipt of the HTTP response.\nThe callback is called regardless of success or failure and is passed the following parameters:<ul>\n<li>options {Object} The parameter to the request call.</li>\n<li>success {Boolean} True if the request succeeded.</li>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n</ul></li>\n<li><b>success</b> {Function} (Optional) The function to be called upon success of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>failure</b> {Function} (Optional) The function to be called upon failure of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>scope</b> {Object} (Optional) The scope in which to execute the callbacks: The \"this\" object\nfor the callback function. Defaults to the browser window.</li>\n<li><b>form</b> {Object/String} (Optional) A form object or id to pull parameters from.</li>\n<li><b>isUpload</b> {Boolean} (Optional) True if the form object is a file upload (will usually be automatically detected).</li>\n<li><b>headers</b> {Object} (Optional) Request headers to set for the request.</li>\n<li><b>xmlData</b> {Object} (Optional) XML document to use for the post. Note: This will be used instead of\nparams for the post data. Any params will be appended to the URL.</li>\n<li><b>disableCaching</b> {Boolean} (Optional) True to add a unique cache-buster param to GET requests.</li>\n</ul>",
+            "desc" : "An object which may contain the following properties:<ul>\n<li><b>url</b> {String}  The URL to which to send the request. Defaults to configured URL</li>\n<li><b>params</b> {Object/String/Function}  An object containing properties which are used as parameters to the\nrequest, a url encoded string or a function to call to get either.</li>\n<li><b>method</b> {String}  The HTTP method to use for the request. Defaults to the configured method, or\nif no method was configured, \"GET\" if no parameters are being sent, and \"POST\" if parameters are being sent.</li>\n<li><b>callback</b> {Function}  The function to be called upon receipt of the HTTP response.\nThe callback is called regardless of success or failure and is passed the following parameters:<ul>\n<li>options {Object} The parameter to the request call.</li>\n<li>success {Boolean} True if the request succeeded.</li>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n</ul></li>\n<li><b>success</b> {Function}  The function to be called upon success of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>failure</b> {Function}  The function to be called upon failure of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>scope</b> {Object}  The scope in which to execute the callbacks: The \"this\" object\nfor the callback function. Defaults to the browser window.</li>\n<li><b>form</b> {Object/String}  A form object or id to pull parameters from.</li>\n<li><b>isUpload</b> {Boolean}  True if the form object is a file upload (will usually be automatically detected).</li>\n<li><b>headers</b> {Object}  Request headers to set for the request.</li>\n<li><b>xmlData</b> {Object}  XML document to use for the post. Note: This will be used instead of\nparams for the post data. Any params will be appended to the URL.</li>\n<li><b>disableCaching</b> {Boolean}  True to add a unique cache-buster param to GET requests.</li>\n</ul>",
             "isOptional" : false
           }
         ],
         "name" : "animateTarget",
         "type" : "String/Element",
         "desc" : "Id or element from which the dialog should animate while opening\n(defaults to null with no animation)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/DomHelper",
         "desc" : "True to auto create from scratch, or using a DomHelper Object (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to allow the dialog body contents to overflow and display scrollbars (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoTabs",
         "type" : "Boolean",
         "desc" : "If true, all elements with class 'x-dlg-tab' will get automatically converted to tabs (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttonAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"right\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons",
         "type" : "Array",
         "desc" : "Array of buttons",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "False to remove the built-in top-right corner close button (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsible",
         "type" : "Boolean",
         "desc" : "False to remove the built-in top-right corner collapse button (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constraintoviewport",
         "type" : "Boolean",
         "desc" : "True to keep the dialog constrained within the visible viewport boundaries (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "draggable",
         "type" : "Boolean",
         "desc" : "False to disable dragging of the dialog within the viewport (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fixedcenter",
         "type" : "Boolean",
         "desc" : "True to ensure that anytime the dialog is shown or resized it gets centered (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "Height of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minButtonWidth",
         "type" : "Number",
         "desc" : "Minimum width of all dialog buttons (defaults to 75)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minHeight",
         "type" : "Number",
         "desc" : "The minimum allowable height for a resizable dialog (defaults to 80)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum allowable width for a resizable dialog (defaults to 200)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "modal",
         "type" : "Boolean",
         "desc" : "True to show the dialog modally, preventing user interaction with the rest of the page (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "proxyDrag",
         "type" : "Boolean",
         "desc" : "True to drag a lightweight proxy element rather than the dialog itself, used when\ndraggable = true (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "False to disable manual dialog resizing (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeHandles",
         "type" : "String",
         "desc" : "Which resize handles to display - see the {@link Roo.Resizable} handles config\nproperty for valid values (defaults to 'all')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right\nshadow (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadowOffset",
         "type" : "Number",
         "desc" : "The number of pixels to offset the shadow if displayed (defaults to 5)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shim",
         "type" : "Boolean",
         "desc" : "True to create an iframe shim that prevents selects from showing through (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "syncHeightBeforeShow",
         "type" : "Boolean",
         "desc" : "True to cause the dimensions to be recalculated before the dialog is shown (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabTag",
         "type" : "String",
         "desc" : "The tag name of tab elements, used when autoTabs = true (defaults to 'div')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "Default text to display in the title bar (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "Width of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "x",
         "type" : "Number",
         "desc" : "The default left page coordinate of the dialog (defaults to center screen)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "y",
         "type" : "Number",
         "desc" : "The default top page coordinate of the dialog (defaults to center screen)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "center",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "east",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "north",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "south",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "west",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "clickEvent",
         "type" : "String",
         "desc" : "The type of event to map to the button's event handler (defaults to 'click')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the button's main element.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to start disabled (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableToggle",
         "type" : "Boolean",
         "desc" : "True to enable pressed/not pressed toggling (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleMouseEvents",
         "type" : "Boolean",
         "desc" : "False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function called when the button is clicked (can be used instead of click event)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start hidden (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an image to display in the button (the image will be set as the background-image\nCSS property of the button by default, so if you want a mixed icon/text button, set cls:\"x-btn-text-icon\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class which sets a background image to be used as the icon for this button (defaults to undefined).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menuAlign",
         "type" : "String",
         "desc" : "The position to align the menu to (see {@link Roo.Element#alignTo} for more details, defaults to 'tl-bl?').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width for this button (used to give a set of buttons a common width)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "True to start pressed (only if enableToggle = true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderTo",
         "type" : "String/HTMLElement/Element",
         "desc" : "The element to append the button to",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "repeat",
         "type" : "Boolean/Object",
         "desc" : "True to repeat fire the click event while the mouse is down. This can also be\n  an {@link Roo.util.ClickRepeater} config object (defaults to false).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "Object",
         "desc" : "The scope of the handler",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The DOM tabIndex for this button (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "template",
         "type" : "Roo.Template",
-        "desc" : "(Optional)\nAn {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
-        "memberOf" : ""
+        "desc" : "An {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The button text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleGroup",
         "type" : "String",
         "desc" : "The group this toggle button is a member of (only 1 per group can be pressed, only\n   applies if enableToggle = true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String/Object",
         "desc" : "The tooltip for the button - can be a string or QuickTips config object",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltipType",
         "type" : "String",
         "desc" : "The type of tooltip to use. Either \"qtip\" (default) for QuickTips or \"title\" for title attribute.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
         "desc" : "The button's type, corresponding to the DOM input element type attribute.  Either \"submit,\" \"reset\" or \"button\" (default).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowReselect",
         "type" : "Boolean",
         "desc" : "If set to true then reselecting a color that is already selected fires the selection event",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "The CSS class to apply to the containing element (defaults to \"x-color-palette\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "String",
         "desc" : "The initial color to highlight (should be a valid 6-digit color hex code without the # symbol).  Note that\nthe hex codes are case-sensitive.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : ""
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "domReplace",
             "type" : "Boolean",
-            "desc" : "(Optional) True to remove and replace the element in the document too.",
+            "desc" : "True to remove and replace the element in the document too.",
             "isOptional" : false
           }
         ],
           {
             "name" : "domReplace",
             "type" : "Boolean",
-            "desc" : "(Optional) True to remove and replace the element in the document too.",
+            "desc" : "True to remove and replace the element in the document too.",
             "isOptional" : false
           }
         ],
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean|Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "popup menu",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String|Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : ""
+        "desc" : "t)  which region to put this panel on (when used with xtype constructor",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "center",
+          "north",
+          "south",
+          "east",
+          "west"
+        ]
       },
       {
         "name" : "resizeEl",
         "type" : "String|HTMLElement|Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "Extra style to add to the content panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowCopy",
         "type" : "Boolean",
         "desc" : "Causes ctrl/drag operations to copy nodes rather than move.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "copy",
         "type" : "Boolean",
         "desc" : "Causes drag operations to copy nodes rather than move.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragGroup",
         "type" : "String/Array",
         "desc" : "The ddgroup name(s) for the View's DragZone.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropGroup",
         "type" : "String/Array",
         "desc" : "The ddgroup name(s) for the View's DropZone.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cancelText",
         "type" : "String",
         "desc" : "The text to display on the cancel button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrainToViewport",
         "type" : "Boolean",
         "desc" : "True to constrain the date picker to the viewport (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dayNames",
         "type" : "Array",
         "desc" : "An array of textual day names which can be overriden for localization support (defaults to Date.dayNames)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDatesRE",
         "type" : "RegExp",
         "desc" : "JavaScript regular expression used to disable a pattern of dates (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDatesText",
         "type" : "String",
         "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to \"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDays",
         "type" : "Array",
         "desc" : "An array of days to disable, 0-based. For example, [0, 6] disables Sunday and Saturday (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDaysText",
         "type" : "String",
         "desc" : "The tooltip to display when the date falls on a disabled day (defaults to \"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "format",
         "type" : "String",
         "desc" : "The default date format string which can be overriden for localization support.  The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxDate",
         "type" : "Date",
         "desc" : "Maximum allowable date (JavaScript date object, defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxText",
         "type" : "String",
         "desc" : "The error text to display if the maxDate validation fails (defaults to \"This date is after the maximum date\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minDate",
         "type" : "Date",
         "desc" : "Minimum allowable date (JavaScript date object, defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "The error text to display if the minDate validation fails (defaults to \"This date is before the minimum date\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monthNames",
         "type" : "Array",
         "desc" : "An array of textual month names which can be overriden for localization support (defaults to Date.monthNames)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monthYearText",
         "type" : "String",
         "desc" : "The header month selector tooltip (defaults to 'Choose a month (Control+Up/Down to move years)')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nextText",
         "type" : "String",
         "desc" : "The next month navigation button tooltip (defaults to 'Next Month (Control+Right)')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "okText",
         "type" : "String",
         "desc" : "The text to display on the ok button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "prevText",
         "type" : "String",
         "desc" : "The previous month navigation button tooltip (defaults to 'Previous Month (Control+Left)')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showClear",
         "type" : "Bool",
         "desc" : "Show a clear button (usefull for date form elements that can be blank.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "startDay",
         "type" : "Number",
         "desc" : "Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "todayText",
         "type" : "String",
         "desc" : "The text to display on the button that selects the current date (defaults to \"Today\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "todayTip",
         "type" : "String",
         "desc" : "The tooltip to display for the button that selects the current date (defaults to \"{current date} (Spacebar)\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "html",
         "type" : "String",
         "desc" : "The HTML fragment or an array of fragments to join(\"\") or multiple arguments to join(\"\")",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "onLoad",
         "type" : "Function",
         "desc" : "Called after the template has been loaded and complied (usually from a remove source)",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly..\n                   it should be fixed so that template is observable...",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alignment",
         "type" : "String",
         "desc" : "The position to align to (see {@link Roo.Element#alignTo} for more details, defaults to \"c-c?\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autosize",
         "type" : "Boolean/String",
         "desc" : "True for the editor to automatically adopt the size of the underlying field, \"width\" to adopt the width only,\nor \"height\" to adopt the height only (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cancelOnEsc",
         "type" : "Boolean",
         "desc" : "True to cancel the edit when the escape key is pressed (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "completeOnEnter",
         "type" : "Boolean",
         "desc" : "True to complete the edit when the enter key is pressed (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrain",
         "type" : "Boolean",
         "desc" : "True to constrain the editor to the viewport",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideEl",
         "type" : "Boolean",
         "desc" : "False to keep the bound element visible while the editor is displayed (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "ignoreNoChange",
         "type" : "Boolean",
         "desc" : "True to skip the the edit completion process (no save, no events fired) if the user completes an edit and\nthe value has not changed (defaults to false).  Applies only to string values - edits for other data types\nwill never be ignored.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "revertInvalid",
         "type" : "Boolean",
         "desc" : "True to automatically revert the field value and cancel the edit when the user completes an edit and the field\nvalidation fails (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "\"sides\" for sides/bottom only, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"frame\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "updateEl",
         "type" : "Boolean",
         "desc" : "True to update the innerHTML of the bound element when the update completes (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "The data value of the underlying field (defaults to \"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "afterCls",
         "type" : "String",
         "desc" : "A css class to apply after the effect",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterStyle",
         "type" : "String/Object/Function",
         "desc" : "A style specification string, e.g. \"width:100px\", or an object in the form {width:\"100px\"}, or\na function which returns such a specification that will be applied to the Element after the effect finishes",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "block",
         "type" : "Boolean",
         "desc" : "Whether the effect should block other effects from queueing while it runs",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "callback",
         "type" : "Function",
         "desc" : "A function called when the effect is finished",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "concurrent",
         "type" : "Boolean",
         "desc" : "Whether to allow subsequently-queued effects to run at the same time as the current effect, or to ensure that they run in sequence",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "duration",
         "type" : "Number",
         "desc" : "The length of time (in seconds) that the effect should last",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "easing",
         "type" : "String",
         "desc" : "A valid Easing value for the effect",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "remove",
         "type" : "Boolean",
         "desc" : "Whether the Element should be removed from the DOM and destroyed after the effect finishes",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "Object",
         "desc" : "The scope of the effect function",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stopFx",
         "type" : "Boolean",
         "desc" : "Whether subsequent effects should be stopped and removed after the current effect finishes",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "useDisplay",
         "type" : "Boolean",
         "desc" : "Whether to use the <i>display</i> CSS property instead of <i>visibility</i> when hiding Elements (only applies to \neffects that end with the element being visually hidden, ignored otherwise)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean|Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grid",
         "type" : "Roo.grid.Grid",
         "desc" : "The grid for this panel",
-        "memberOf" : "Roo"
+        "memberOf" : "Roo",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "popup menu",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String|Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : "Roo.ContentPanel"
+        "desc" : "t)  which region to put this panel on (when used with xtype constructor",
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : [
+          "center",
+          "north",
+          "south",
+          "east",
+          "west"
+        ]
       },
       {
         "name" : "resizeEl",
         "type" : "String|HTMLElement|Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "Extra style to add to the content panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowComments",
         "type" : "boolean",
         "desc" : "- default false - allow comments in HTML source\n         - by default they are stripped - if you are editing email you may need this.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoClean",
         "type" : "boolean",
         "desc" : "- default true - loading and saving will remove quite a bit of formating,\n        if you are doing an email editor, this probably needs disabling, it's designed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableBlocks",
         "type" : "boolean",
         "desc" : "- default true - if the block editor (table and figure should be enabled)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "language",
         "type" : "String",
         "desc" : "default en - language of text (usefull for rtl languages)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "String",
         "desc" : "'s' or 'se' or 'e' - wrapps the element in a\n                       Roo.resizable.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stylesheets",
         "type" : "Array",
         "desc" : "url of stylesheets. set to [] to disable stylesheets.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "the",
         "type" : "Roo.form.HtmlEditor|Roo.bootstrap.HtmlEditor",
         "desc" : "owner field",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "dataName",
         "type" : "String",
         "desc" : "the named area of the template to use as the data area\n                         Works with domtemplates roo-name=\"name\"",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "el",
         "type" : "String|Roo.Element",
         "desc" : "The container element.",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The empty text to show when nothing is loaded.",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiSelect",
         "type" : "Boolean",
         "desc" : "Allow multiple selection",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "The css class to add to selected nodes",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleSelect",
         "type" : "Boolean",
         "desc" : "Allow single selection",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "Data store to load data from.",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "to display on mask (default Loading)",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tickable",
         "type" : "Boolean",
         "desc" : "- selecting",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleSelect",
         "type" : "Boolean",
         "desc" : "- selecting",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String|Roo.Template",
         "desc" : "The template used by this View",
-        "memberOf" : "Roo.View"
+        "memberOf" : "Roo.View",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "defaultEventAction",
         "type" : "String",
         "desc" : "The method to call on the {@link Roo.EventObject} after this KeyNav intercepts a key.  Valid values are\n{@link Roo.EventObject#stopEvent}, {@link Roo.EventObject#preventDefault} and\n{@link Roo.EventObject#stopPropagation} (defaults to 'stopEvent')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable this KeyNav instance (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceKeyDown",
         "type" : "Boolean",
         "desc" : "Handle the keydown event instead of keypress (defaults to false).  KeyNav automatically does this for IE since\nIE does not propagate special keys on keypress, but setting this to true will force other browsers to also\nhandle keydown instead of keypress.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "cls",
         "type" : "String",
         "desc" : "CSS class to add to the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrain",
         "type" : "Boolean",
         "desc" : "False to disable constrain to viewport (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dh",
         "type" : "Object",
         "desc" : "DomHelper object config to create element with (defaults to {tag: \"div\", cls: \"x-layer\"}).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "String/Boolean",
         "desc" : "True to create a shadow element with default class \"x-layer-shadow\", or\nyou can pass a string with a CSS class name. False turns off the shadow.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadowOffset",
         "type" : "Number",
         "desc" : "Number of pixels to offset the shadow (defaults to 3)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shim",
         "type" : "Boolean",
         "desc" : "False to disable the iframe shim in browsers which need one (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "zindex",
         "type" : "Number",
         "desc" : "Starting z-index (defaults to 11000)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "animateTarget",
         "type" : "String/Element",
         "desc" : "Id or element from which the dialog should animate while opening\n(defaults to null with no animation)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/DomHelper",
         "desc" : "True to auto create from scratch, or using a DomHelper Object (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to allow the dialog body contents to overflow and display scrollbars (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoTabs",
         "type" : "Boolean",
         "desc" : "If true, all elements with class 'x-dlg-tab' will get automatically converted to tabs (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttonAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"right\")",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons",
         "type" : "Array",
         "desc" : "Array of buttons",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons[]",
         "type" : "Roo.Button",
         "desc" : "Bottom buttons..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "center",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "False to remove the built-in top-right corner close button (defaults to true)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsible",
         "type" : "Boolean",
         "desc" : "False to remove the built-in top-right corner collapse button (defaults to true)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constraintoviewport",
         "type" : "Boolean",
         "desc" : "True to keep the dialog constrained within the visible viewport boundaries (defaults to true)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "draggable",
         "type" : "Boolean",
         "desc" : "False to disable dragging of the dialog within the viewport (defaults to true)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "east",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fixedcenter",
         "type" : "Boolean",
         "desc" : "True to ensure that anytime the dialog is shown or resized it gets centered (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "Height of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minButtonWidth",
         "type" : "Number",
         "desc" : "Minimum width of all dialog buttons (defaults to 75)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minHeight",
         "type" : "Number",
         "desc" : "The minimum allowable height for a resizable dialog (defaults to 80)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum allowable width for a resizable dialog (defaults to 200)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "modal",
         "type" : "Boolean",
         "desc" : "True to show the dialog modally, preventing user interaction with the rest of the page (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "north",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "proxyDrag",
         "type" : "Boolean",
         "desc" : "True to drag a lightweight proxy element rather than the dialog itself, used when\ndraggable = true (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "False to disable manual dialog resizing (defaults to true)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeHandles",
         "type" : "String",
         "desc" : "Which resize handles to display - see the {@link Roo.Resizable} handles config\nproperty for valid values (defaults to 'all')",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right\nshadow (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadowOffset",
         "type" : "Number",
         "desc" : "The number of pixels to offset the shadow if displayed (defaults to 5)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shim",
         "type" : "Boolean",
         "desc" : "True to create an iframe shim that prevents selects from showing through (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "south",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "syncHeightBeforeShow",
         "type" : "Boolean",
         "desc" : "True to cause the dimensions to be recalculated before the dialog is shown (defaults to false)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabTag",
         "type" : "String",
         "desc" : "The tag name of tab elements, used when autoTabs = true (defaults to 'div')",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "Default text to display in the title bar (defaults to null)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "west",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "Width of the dialog in pixels (can also be set via CSS).  Determined by browser if unspecified.",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "x",
         "type" : "Number",
         "desc" : "The default left page coordinate of the dialog (defaults to center screen)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "y",
         "type" : "Number",
         "desc" : "The default top page coordinate of the dialog (defaults to center screen)",
-        "memberOf" : "Roo.BasicDialog"
+        "memberOf" : "Roo.BasicDialog",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "alwaysShowTabs",
         "type" : "Boolean",
         "desc" : "True to always display tabs even when there is only 1 panel (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to animate expand/collapse (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHide",
         "type" : "Boolean",
         "desc" : "False to disable auto hiding when the mouse leaves the \"floated\" region (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to enable overflow scrolling (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closeOnTab",
         "type" : "Boolean",
         "desc" : "True to place the close icon on the tabs instead of the region titlebar (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cmargins",
         "type" : "Object",
         "desc" : "Margins for the element when collapsed (defaults to: north/south {top: 2, left: 0, right:0, bottom: 2} or east/west {top: 0, left: 2, right:2, bottom: 0})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsed",
         "type" : "Boolean",
         "desc" : "True to set the initial display to collapsed (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsedTitle",
         "type" : "String",
         "desc" : "Optional string message to display in the collapsed block of a north or south region",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsible",
         "type" : "Boolean",
         "desc" : "False to disable collapsing (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableTabTips",
         "type" : "Boolean",
         "desc" : "True to disable tab tooltips",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "floatable",
         "type" : "Boolean",
         "desc" : "False to disable floating (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "For North/South panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start the region hidden (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideTabs",
         "type" : "Boolean",
         "desc" : "True to hide the tab strip (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideWhenEmpty",
         "type" : "Boolean",
         "desc" : "True to hide the region when it has no panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "margins",
         "type" : "Object",
         "desc" : "Margins for the element (defaults to {top: 0, left: 0, right:0, bottom: 0})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minTabWidth",
         "type" : "Number",
         "desc" : "The minimum tab width (defaults to 40)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preferredTabWidth",
         "type" : "Number",
         "desc" : "The preferred tab width (defaults to 150)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preservePanels",
         "type" : "Boolean",
         "desc" : "True to preserve removed panels so they can be readded later (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeTabs",
         "type" : "Boolean",
         "desc" : "True to enable automatic tab resizing. This will resize the tabs so they are all the same size and fit within\n                     the space available, similar to FireFox 1.5 tabs (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showPin",
         "type" : "Boolean",
         "desc" : "True to show a pin button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "split",
         "type" : "Boolean",
         "desc" : "To show the splitter",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabPosition",
         "type" : "String",
-        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom\")",
-        "memberOf" : ""
+        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "bottom"
+        ]
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for the region (overrides panel titles)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "titlebar",
         "type" : "Boolean",
         "desc" : "True to display a title bar (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Boolean",
         "desc" : "xtype configuration for a toolbar - shows on right of tabbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "For East/West panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "msg",
         "type" : "String",
         "desc" : "The text to display in a centered loading message box (defaults to 'Loading...')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgCls",
         "type" : "String",
         "desc" : "The CSS class to apply to the loading message element (defaults to \"x-mask-loading\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removeMask",
         "type" : "Boolean",
         "desc" : "True to create a single-use mask that is automatically destroyed after loading (useful for page loads),\nFalse to persist the mask element reference for multiple uses (e.g., for paged data widgets).  Defaults to false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "html",
         "type" : "String",
         "desc" : "The HTML fragment or an array of fragments to join(\"\") or multiple arguments to join(\"\")",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "onLoad",
         "type" : "Function",
         "desc" : "Called after the template has been loaded and complied (usually from a remove source)",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly..\n                   it should be fixed so that template is observable...",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean|Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "layout",
         "type" : "Roo.BorderLayout",
-        "desc" : "[required] The layout for this panel",
-        "memberOf" : "Roo"
+        "desc" : "The layout for this panel",
+        "memberOf" : "Roo",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "popup menu",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String|Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : "Roo.ContentPanel"
+        "desc" : "t)  which region to put this panel on (when used with xtype constructor",
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : [
+          "center",
+          "north",
+          "south",
+          "east",
+          "west"
+        ]
       },
       {
         "name" : "resizeEl",
         "type" : "String|HTMLElement|Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "Extra style to add to the content panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "container",
         "type" : "String/HTMLElement/Element",
         "desc" : "container The id or element that will contain the toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayInfo",
         "type" : "Boolean",
         "desc" : "True to display the displayMsg (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayMsg",
         "type" : "String",
         "desc" : "The paging status message to display (defaults to \"Displaying {start} - {end} of {total}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyMsg",
         "type" : "String",
         "desc" : "The message to display when no records are found (defaults to \"No data to display\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "items",
         "type" : "Array",
         "desc" : "array of button configs or elements to add (will be converted to a MixedCollection)",
-        "memberOf" : "Roo.Toolbar"
+        "memberOf" : "Roo.Toolbar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "The number of records to display per page (defaults to 20)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "string",
         "desc" : "",
-        "memberOf" : "Roo.Toolbar"
+        "memberOf" : "Roo.Toolbar",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "Delay",
         "type" : "Number",
         "desc" : "in milliseconds before the quick tip hides when autoDismiss = true (defaults to 5000)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "True",
         "type" : "Boolean",
         "desc" : "to automatically hide the quick tip after a set period of time, regardless of the user's actions\n(defaults to true).  Used in conjunction with autoDismissDelay.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to turn on fade animation. Defaults to false (ClearType/scrollbar flicker issues in IE7).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHide",
         "type" : "Boolean",
         "desc" : "True to automatically hide the quick tip after the mouse exits the target element (defaults to true).\nUsed in conjunction with hideDelay.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the base quick tip element (defaults to '').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Delay in milliseconds before the quick tip hides when autoHide = true (defaults to 200)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the quick tip if the user clicks anywhere in the document (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "interceptTitles",
         "type" : "Boolean",
         "desc" : "True to automatically use the element's DOM title value if available (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxWidth",
         "type" : "Number",
         "desc" : "The maximum width of the quick tip (defaults to 300)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width of the quick tip (defaults to 40)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showDelay",
         "type" : "Number",
         "desc" : "Delay in milliseconds before the quick tip displays after the mouse enters the target element (defaults to 500)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "Body text to display (defaults to '').  This can be any valid HTML markup.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "Title text to display (defaults to '').  This can be any valid HTML markup.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackMouse",
         "type" : "Boolean",
         "desc" : "True to have the quick tip follow the mouse as it moves over the target element (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "Width in pixels of the quick tip (defaults to auto).  Width will be ignored if it exceeds the bounds of\nminWidth or maxWidth.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "center",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : "Roo.BorderLayout"
+        "memberOf" : "Roo.BorderLayout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "east",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : "Roo.BorderLayout"
+        "memberOf" : "Roo.BorderLayout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "north",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : "Roo.BorderLayout"
+        "memberOf" : "Roo.BorderLayout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "south",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : "Roo.BorderLayout"
+        "memberOf" : "Roo.BorderLayout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "west",
         "type" : "Roo.LayoutRegion",
         "desc" : "",
-        "memberOf" : "Roo.BorderLayout"
+        "memberOf" : "Roo.BorderLayout",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "adjustments",
         "type" : "Array/String",
         "desc" : "String \"auto\" or an array [width, height] with values to be <b>added</b> to the\nresize operation's new size (defaults to [0, 0])",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to animate the resize (not compatible with dynamic sizing, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrainTo",
         "type" : "String/HTMLElement/Element",
         "desc" : "Constrain the resize to a particular element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableTrackOver",
         "type" : "Boolean",
         "desc" : "True to disable mouse tracking. This is only applied at config time. (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "draggable",
         "type" : "Boolean",
         "desc" : "Convenience to initialize drag drop (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "duration",
         "type" : "Number",
         "desc" : "Animation duration if animate = true (defaults to .35)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dynamic",
         "type" : "Boolean",
         "desc" : "True to resize the element while dragging instead of using a proxy (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "easing",
         "type" : "String",
         "desc" : "Animation easing if animate = true (defaults to 'easingOutStrong')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enabled",
         "type" : "Boolean",
         "desc" : "False to disable resizing (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handles",
         "type" : "String",
         "desc" : "String consisting of the resize handles to display (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "The height of the element in pixels (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "heightIncrement",
         "type" : "Number",
         "desc" : "The increment to snap the height resize in pixels (dynamic must be true, defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height for the element (defaults to 10000)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxWidth",
         "type" : "Number",
         "desc" : "The maximum width for the element (defaults to 10000)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minHeight",
         "type" : "Number",
         "desc" : "The minimum height for the element (defaults to 5)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width for the element (defaults to 5)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minX",
         "type" : "Number",
         "desc" : "The minimum allowed page X for the element (only used for west resizing, defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minY",
         "type" : "Number",
         "desc" : "The minimum allowed page Y for the element (only used for north resizing, defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiDirectional",
         "type" : "Boolean",
         "desc" : "<b>Deprecated</b>.  The old style of adding multi-direction resize handles, deprecated\nin favor of the handles config option (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pinned",
         "type" : "Boolean",
         "desc" : "True to ensure that the resize handles are always visible, false to display them only when the\nuser mouses over the resizable borders. This is only applied at config time. (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preserveRatio",
         "type" : "Boolean",
         "desc" : "True to preserve the original ratio between height and width during resize (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeChild",
         "type" : "Boolean/String/Element",
         "desc" : "True to resize the first child, or id/element to resize (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeRegion",
         "type" : "Roo.lib.Region",
         "desc" : "Constrain the resize to a particular region",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "transparent",
         "type" : "Boolean",
         "desc" : "True for transparent handles. This is only applied at config time. (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "The width of the element in pixels (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "widthIncrement",
         "type" : "Number",
         "desc" : "The increment to snap the width resize in pixels (dynamic must be true, defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "wrap",
         "type" : "Boolean",
         "desc" : "True to wrap an element with a div if needed (required for textareas and images, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "mode",
         "type" : "String",
         "desc" : "The shadow display mode.  Supports the following options:<br />\nsides: Shadow displays on both sides and bottom only<br />\nframe: Shadow displays equally on all four sides<br />\ndrop: Traditional bottom-right drop shadow (default)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "offset",
         "type" : "String",
         "desc" : "The number of pixels to offset the shadow from the element (defaults to 4)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "arrowHandler",
         "type" : "Function",
         "desc" : "A function called when the arrow button is clicked (can be used instead of click event)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrowTooltip",
         "type" : "String",
         "desc" : "The title attribute of the arrow",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickEvent",
         "type" : "String",
         "desc" : "The type of event to map to the button's event handler (defaults to 'click')",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the button's main element.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to start disabled (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableToggle",
         "type" : "Boolean",
         "desc" : "True to enable pressed/not pressed toggling (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleMouseEvents",
         "type" : "Boolean",
         "desc" : "False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function called when the button is clicked (can be used instead of click event)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start hidden (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an image to display in the button (the image will be set as the background-image\nCSS property of the button by default, so if you want a mixed icon/text button, set cls:\"x-btn-text-icon\")",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class which sets a background image to be used as the icon for this button (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menuAlign",
         "type" : "String",
         "desc" : "The position to align the menu to (see {@link Roo.Element#alignTo} for more details, defaults to 'tl-bl?').",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width for this button (used to give a set of buttons a common width)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "True to start pressed (only if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderTo",
         "type" : "String/HTMLElement/Element",
         "desc" : "The element to append the button to",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "repeat",
         "type" : "Boolean/Object",
         "desc" : "True to repeat fire the click event while the mouse is down. This can also be\n  an {@link Roo.util.ClickRepeater} config object (defaults to false).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "Object",
         "desc" : "The scope of the handler",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The DOM tabIndex for this button (defaults to undefined)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "template",
         "type" : "Roo.Template",
-        "desc" : "(Optional)\nAn {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
-        "memberOf" : "Roo.Button"
+        "desc" : "An {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The button text",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleGroup",
         "type" : "String",
         "desc" : "The group this toggle button is a member of (only 1 per group can be pressed, only\n   applies if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String/Object",
         "desc" : "The tooltip for the button - can be a string or QuickTips config object",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltipType",
         "type" : "String",
         "desc" : "The type of tooltip to use. Either \"qtip\" (default) for QuickTips or \"title\" for title attribute.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
         "desc" : "The button's type, corresponding to the DOM input element type attribute.  Either \"submit,\" \"reset\" or \"button\" (default).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "alwaysShowTabs",
         "type" : "Boolean",
         "desc" : "True to always display tabs even when there is only 1 panel (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to animate expand/collapse (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHide",
         "type" : "Boolean",
         "desc" : "False to disable auto hiding when the mouse leaves the \"floated\" region (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to enable overflow scrolling (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closeOnTab",
         "type" : "Boolean",
         "desc" : "True to place the close icon on the tabs instead of the region titlebar (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cmargins",
         "type" : "Object",
         "desc" : "Margins for the element when collapsed (defaults to: north/south {top: 2, left: 0, right:0, bottom: 2} or east/west {top: 0, left: 2, right:2, bottom: 0})",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsed",
         "type" : "Boolean",
         "desc" : "True to set the initial display to collapsed (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsedTitle",
         "type" : "String",
         "desc" : "Optional string message to display in the collapsed block of a north or south region",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsible",
         "type" : "Boolean",
         "desc" : "False to disable collapsing (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableTabTips",
         "type" : "Boolean",
         "desc" : "True to disable tab tooltips",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "floatable",
         "type" : "Boolean",
         "desc" : "False to disable floating (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "For North/South panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start the region hidden (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideTabs",
         "type" : "Boolean",
         "desc" : "True to hide the tab strip (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideWhenEmpty",
         "type" : "Boolean",
         "desc" : "True to hide the region when it has no panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "margins",
         "type" : "Object",
         "desc" : "Margins for the element (defaults to {top: 0, left: 0, right:0, bottom: 0})",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minTabWidth",
         "type" : "Number",
         "desc" : "The minimum tab width (defaults to 40)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preferredTabWidth",
         "type" : "Number",
         "desc" : "The preferred tab width (defaults to 150)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preservePanels",
         "type" : "Boolean",
         "desc" : "True to preserve removed panels so they can be readded later (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeTabs",
         "type" : "Boolean",
         "desc" : "True to enable automatic tab resizing. This will resize the tabs so they are all the same size and fit within\n                     the space available, similar to FireFox 1.5 tabs (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showPin",
         "type" : "Boolean",
         "desc" : "True to show a pin button",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "split",
         "type" : "Boolean",
         "desc" : "To show the splitter",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabPosition",
         "type" : "String",
-        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom\")",
-        "memberOf" : "Roo.LayoutRegion"
+        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom",
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "bottom"
+        ]
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for the region (overrides panel titles)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "titlebar",
         "type" : "Boolean",
         "desc" : "True to display a title bar (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Boolean",
         "desc" : "xtype configuration for a toolbar - shows on right of tabbar",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "For East/West panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "html",
         "type" : "String",
         "desc" : "The HTML fragment or an array of fragments to join(\"\") or multiple arguments to join(\"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "onLoad",
         "type" : "Function",
         "desc" : "Called after the template has been loaded and complied (usually from a remove source)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly..\n                   it should be fixed so that template is observable...",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "container",
         "type" : "String/HTMLElement/Element",
         "desc" : "The id or element that will contain the toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "items",
         "type" : "Array",
         "desc" : "array of button configs or elements to add (will be converted to a MixedCollection)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "string",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "clickEvent",
         "type" : "String",
         "desc" : "The type of event to map to the button's event handler (defaults to 'click')",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the button's main element.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to start disabled (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableToggle",
         "type" : "Boolean",
         "desc" : "True to enable pressed/not pressed toggling (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleMouseEvents",
         "type" : "Boolean",
         "desc" : "False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function called when the button is clicked (can be used instead of click event)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start hidden (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an image to display in the button (the image will be set as the background-image\nCSS property of the button by default, so if you want a mixed icon/text button, set cls:\"x-btn-text-icon\")",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class which sets a background image to be used as the icon for this button (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menuAlign",
         "type" : "String",
         "desc" : "The position to align the menu to (see {@link Roo.Element#alignTo} for more details, defaults to 'tl-bl?').",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width for this button (used to give a set of buttons a common width)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "True to start pressed (only if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderTo",
         "type" : "String/HTMLElement/Element",
         "desc" : "The element to append the button to",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "repeat",
         "type" : "Boolean/Object",
         "desc" : "True to repeat fire the click event while the mouse is down. This can also be\n  an {@link Roo.util.ClickRepeater} config object (defaults to false).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "Object",
         "desc" : "The scope of the handler",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The DOM tabIndex for this button (defaults to undefined)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "template",
         "type" : "Roo.Template",
-        "desc" : "(Optional)\nAn {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
-        "memberOf" : "Roo.Button"
+        "desc" : "An {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The button text",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleGroup",
         "type" : "String",
         "desc" : "The group this toggle button is a member of (only 1 per group can be pressed, only\n   applies if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String/Object",
         "desc" : "The tooltip for the button - can be a string or QuickTips config object",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltipType",
         "type" : "String",
         "desc" : "The type of tooltip to use. Either \"qtip\" (default) for QuickTips or \"title\" for title attribute.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
         "desc" : "The button's type, corresponding to the DOM input element type attribute.  Either \"submit,\" \"reset\" or \"button\" (default).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "arrowHandler",
         "type" : "Function",
         "desc" : "A function called when the arrow button is clicked (can be used instead of click event)",
-        "memberOf" : "Roo.SplitButton"
+        "memberOf" : "Roo.SplitButton",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrowTooltip",
         "type" : "String",
         "desc" : "The title attribute of the arrow",
-        "memberOf" : "Roo.SplitButton"
+        "memberOf" : "Roo.SplitButton",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickEvent",
         "type" : "String",
         "desc" : "The type of event to map to the button's event handler (defaults to 'click')",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the button's main element.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to start disabled (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableToggle",
         "type" : "Boolean",
         "desc" : "True to enable pressed/not pressed toggling (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleMouseEvents",
         "type" : "Boolean",
         "desc" : "False to disable visual cues on mouseover, mouseout and mousedown (defaults to true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function called when the button is clicked (can be used instead of click event)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start hidden (defaults to false)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an image to display in the button (the image will be set as the background-image\nCSS property of the button by default, so if you want a mixed icon/text button, set cls:\"x-btn-text-icon\")",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class which sets a background image to be used as the icon for this button (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menuAlign",
         "type" : "String",
         "desc" : "The position to align the menu to (see {@link Roo.Element#alignTo} for more details, defaults to 'tl-bl?').",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width for this button (used to give a set of buttons a common width)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "True to start pressed (only if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderTo",
         "type" : "String/HTMLElement/Element",
         "desc" : "The element to append the button to",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "repeat",
         "type" : "Boolean/Object",
         "desc" : "True to repeat fire the click event while the mouse is down. This can also be\n  an {@link Roo.util.ClickRepeater} config object (defaults to false).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "Object",
         "desc" : "The scope of the handler",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The DOM tabIndex for this button (defaults to undefined)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "template",
         "type" : "Roo.Template",
-        "desc" : "(Optional)\nAn {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
-        "memberOf" : "Roo.Button"
+        "desc" : "An {@link Roo.Template} with which to create the Button's main element. This Template must\ncontain numeric substitution parameter 0 if it is to display the tRoo property. Changing the template could\nrequire code modifications if required elements (e.g. a button) aren't present.",
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The button text",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleGroup",
         "type" : "String",
         "desc" : "The group this toggle button is a member of (only 1 per group can be pressed, only\n   applies if enableToggle = true)",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String/Object",
         "desc" : "The tooltip for the button - can be a string or QuickTips config object",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltipType",
         "type" : "String",
         "desc" : "The type of tooltip to use. Either \"qtip\" (default) for QuickTips or \"title\" for title attribute.",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
         "desc" : "The button's type, corresponding to the DOM input element type attribute.  Either \"submit,\" \"reset\" or \"button\" (default).",
-        "memberOf" : "Roo.Button"
+        "memberOf" : "Roo.Button",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "text",
         "type" : "string",
         "desc" : "",
-        "memberOf" : "Roo.Toolbar"
+        "memberOf" : "Roo.Toolbar",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean|Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "popup menu",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String|Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "t) [required] which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : "Roo.ContentPanel"
+        "desc" : "t)  which region to put this panel on (when used with xtype constructor",
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : [
+          "center",
+          "north",
+          "south",
+          "east",
+          "west"
+        ]
       },
       {
         "name" : "resizeEl",
         "type" : "String|HTMLElement|Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "Extra style to add to the content panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.ContentPanel"
+        "memberOf" : "Roo.ContentPanel",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "dataName",
         "type" : "String",
         "desc" : "the named area of the template to use as the data area\n                         Works with domtemplates roo-name=\"name\"",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "el",
         "type" : "String|Roo.Element",
         "desc" : "The container element.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The empty text to show when nothing is loaded.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiSelect",
         "type" : "Boolean",
         "desc" : "Allow multiple selection",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "The css class to add to selected nodes",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleSelect",
         "type" : "Boolean",
         "desc" : "Allow single selection",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "Data store to load data from.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "to display on mask (default Loading)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tickable",
         "type" : "Boolean",
         "desc" : "- selecting",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toggleSelect",
         "type" : "Boolean",
         "desc" : "- selecting",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String|Roo.Template",
         "desc" : "The template used by this View",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "disabled",
         "type" : "Function|boolean",
         "desc" : "If this module is disabled by some rule, return true from the funtion",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "items",
         "type" : "Array",
         "desc" : "A single item array - the first element is the root of the tree..\nIt's done this way to stay compatible with the Xtype system...",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "String to display while loading.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "order",
         "type" : "String",
         "desc" : "Used to set the order in which elements are created (usefull for multiple tabs)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "parent",
         "type" : "String",
         "desc" : "Name of parent element which it get xtype added to..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
         "desc" : "Region to render component to (defaults to center)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "html",
         "type" : "String",
         "desc" : "The HTML fragment or an array of fragments to join(\"\") or multiple arguments to join(\"\")",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "onLoad",
         "type" : "Function",
         "desc" : "Called after the template has been loaded and complied (usually from a remove source)",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The Url to load the template from. beware if you are loading from a url, the data may not be ready if you use it instantly..\n                   it should be fixed so that template is observable...",
-        "memberOf" : "Roo.Template"
+        "memberOf" : "Roo.Template",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "close",
         "type" : "Boolean",
         "desc" : "true to show a x closer",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "font-awesomeicon",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "The content of alert",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "seconds",
         "type" : "Number",
         "desc" : "default:-1 Number of seconds until it disapears (-1 means never.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title of alert",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "r) Weight of the message",
-        "memberOf" : ""
+        "desc" : "r) Weight of the messa",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "Add",
         "type" : "integer",
         "desc" : "the next point only if the previous one is farther than x pixels. Defaults to 5.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Callback",
         "type" : "function",
         "desc" : "when stroke begin.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Color",
         "type" : "string",
         "desc" : "used to draw the lines. Can be any color format accepted by context.fillStyle. Defaults to \"black\".",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Draw",
         "type" : "integer",
         "desc" : "the next point at most once per every x milliseconds. Set it to 0 to turn off throttling. Defaults to 16.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Maximum",
         "type" : "float",
         "desc" : "width of a line. Defaults to 2.5.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Minimum",
         "type" : "float",
         "desc" : "width of a line. Defaults to 0.5.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Radius",
         "type" : "float|function",
         "desc" : "of a single dot.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "Weight",
         "type" : "float",
         "desc" : "used to modify new velocity based on the previous velocity. Defaults to 0.7.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canvas",
         "type" : "int",
         "desc" : "height",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bgimage",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "square",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "video",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge",
         "type" : "String",
         "desc" : "text for badge",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge_weight",
         "type" : "String",
-        "desc" : "k) default (same as button)",
-        "memberOf" : ""
+        "desc" : "k) default (same as butto",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "fontawesome icon - eg. 'comment' - without the fa/fas etc..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "glyphicon",
         "type" : "String",
         "desc" : "depricated - use fa",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grpup",
         "type" : "Boolean",
         "desc" : "if parent is a btn group - then it turns it into a toogleGroup.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "empty or href",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "The button content",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "dark themed version",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isClose",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootstrap.menu.Menu",
         "desc" : "a Menu",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "offtext",
         "type" : "String",
         "desc" : "text for off slidy toggle state",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ontext",
         "type" : "String",
         "desc" : "text for on slidy toggle state",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "outline",
         "type" : "Boolean",
         "desc" : "default false (except for weight=default which emulates old behaveiour with an outline)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "default null - if the button ahs active state",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "default true (stop click event triggering the URL if it's a link.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removeClass",
         "type" : "Boolean",
         "desc" : "remove the standard class..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "lg",
+          "sm",
+          "xs"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "a",
+          "input",
+          "submit"
+        ]
       },
       {
         "name" : "target",
         "type" : "String",
-        "desc" : "r) target for a href.",
-        "memberOf" : ""
+        "desc" : "r) target for a hre",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "_self",
+          "_blank",
+          "_parent",
+          "_top",
+          "other"
+        ]
       },
       {
         "name" : "theme",
         "type" : "String",
-        "desc" : "w)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "glow"
+        ]
       },
       {
         "name" : "toggle",
         "type" : "Boolean",
         "desc" : "is it a slidy toggle button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "k) default",
-        "memberOf" : ""
+        "desc" : "k) defau",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "vertical | justified  (default none)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "btn",
         "type" : "Boolean",
         "desc" : "true | false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "direction",
         "type" : "String",
         "desc" : "up | down (default down)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
         "desc" : "lg | sm | xs (default empty normal)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Boolean",
         "desc" : "false | true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge",
         "type" : "String",
         "desc" : "text for badge",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge_weight",
         "type" : "String",
-        "desc" : "k) default (same as button)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "k) default (same as butto",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorTimeout",
         "type" : "Number",
         "desc" : "default 3000",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "fontawesome icon - eg. 'comment' - without the fa/fas etc..",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "glyphicon",
         "type" : "String",
         "desc" : "depricated - use fa",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grpup",
         "type" : "Boolean",
         "desc" : "if parent is a btn group - then it turns it into a toogleGroup.",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "empty or href",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "Array",
         "desc" : "The button text.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "images",
         "type" : "Array",
         "desc" : "an array of ?? Img objects ??? when loading existing files..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "dark themed version",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isClose",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootstrap.menu.Menu",
         "desc" : "a Menu",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiple",
         "type" : "Boolean",
         "desc" : "(default true) Should the upload allow multiple files to be uploaded.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "offtext",
         "type" : "String",
         "desc" : "text for off slidy toggle state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ontext",
         "type" : "String",
         "desc" : "text for on slidy toggle state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "outline",
         "type" : "Boolean",
         "desc" : "default false (except for weight=default which emulates old behaveiour with an outline)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "default null - if the button ahs active state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "default true (stop click event triggering the URL if it's a link.)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removeClass",
         "type" : "Boolean",
         "desc" : "remove the standard class..",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "lg",
+          "sm",
+          "xs"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "a",
+          "input",
+          "submit"
+        ]
       },
       {
         "name" : "target",
         "type" : "String",
-        "desc" : "r) target for a href.",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "r) target for a hre",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "_self",
+          "_blank",
+          "_parent",
+          "_top",
+          "other"
+        ]
       },
       {
         "name" : "theme",
         "type" : "String",
-        "desc" : "w)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "glow"
+        ]
       },
       {
         "name" : "toggle",
         "type" : "Boolean",
         "desc" : "is it a slidy toggle button",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "k) default",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "k) defau",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header",
         "type" : "Object",
         "desc" : "generate the user specific header of the calendar, default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "startDay",
         "type" : "Number",
         "desc" : "Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data source for the calendar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "display",
         "type" : "String",
-        "desc" : "x)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "inline",
+          "inline-block",
+          "block",
+          "table",
+          "table-cell",
+          "table-row",
+          "flex",
+          "inline-flex"
+        ]
       },
       {
         "name" : "display_lg",
         "type" : "String",
-        "desc" : "x)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "inline",
+          "inline-block",
+          "block",
+          "table",
+          "table-cell",
+          "table-row",
+          "flex",
+          "inline-flex"
+        ]
       },
       {
         "name" : "display_sm",
         "type" : "String",
-        "desc" : "x)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "inline",
+          "inline-block",
+          "block",
+          "table",
+          "table-cell",
+          "table-row",
+          "flex",
+          "inline-flex"
+        ]
       },
       {
         "name" : "display_xl",
         "type" : "String",
-        "desc" : "x)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "inline",
+          "inline-block",
+          "block",
+          "table",
+          "table-cell",
+          "table-row",
+          "flex",
+          "inline-flex"
+        ]
       },
       {
         "name" : "display_xs",
         "type" : "String",
-        "desc" : "x)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "inline",
+          "inline-block",
+          "block",
+          "table",
+          "table-cell",
+          "table-row",
+          "flex",
+          "inline-flex"
+        ]
       },
       {
         "name" : "footer",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header",
         "type" : "String|Object",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header_image",
         "type" : "String",
         "desc" : "src url of image.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header_size",
         "type" : "Number",
-        "desc" : "5) H1 or H2 etc.. 0 indicates default",
-        "memberOf" : ""
+        "desc" : "5) H1 or H2 etc.. 0 indicates defau",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "header_weight",
         "type" : "Number",
-        "desc" : "k)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String|Boolean",
         "desc" : "-- html contents - or just use children.. use false to hide it..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "margin",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_bottom",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_left",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_right",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_top",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_x",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "margin_y",
         "type" : "String",
-        "desc" : "o)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "auto"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "padding",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_bottom",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_left",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_right",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_top",
         "type" : "String",
-        "desc" : "5)next_to_card",
-        "memberOf" : ""
+        "desc" : "5)next_to_ca",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_x",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "padding_y",
         "type" : "String",
-        "desc" : "5)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "0",
+          "1",
+          "2",
+          "3",
+          "4",
+          "5"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "subtitle",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "k)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "primary",
+          "warning",
+          "info",
+          "danger",
+          "secondary",
+          "success",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "default blank - set to button to force cursor pointer",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "default blank - set to button to force cursor pointer",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "default blank - set to button to force cursor pointer",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alert",
         "type" : "String",
-        "desc" : "r) type alert (changes background / border...)",
-        "memberOf" : ""
+        "desc" : "r) type alert (changes background / border..",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
-        "desc" : ".) font awesome icon",
-        "memberOf" : ""
+        "desc" : ".) font awesome ic",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "ban",
+          "check",
+          "..."
+        ]
       },
       {
         "name" : "fasize",
         "type" : "Number",
-        "desc" : ".) font awsome size",
-        "memberOf" : ""
+        "desc" : ".) font awsome si",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "1",
+          "2",
+          "...."
+        ]
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
-        "desc" : "e) hide the element",
-        "memberOf" : ""
+        "desc" : "e) hide the eleme",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of column.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
-        "desc" : ".) glyphicon name",
-        "memberOf" : ""
+        "desc" : ".) glyphicon na",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "info-sign",
+          "check",
+          "..."
+        ]
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lgoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for large computer-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mdoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for computer-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "smoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for tablet-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xsoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for mobile-sized screens or 0 for hidden",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : ""
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alert",
         "type" : "String",
-        "desc" : "r) type alert (changes background / border...)",
-        "memberOf" : ""
+        "desc" : "r) type alert (changes background / border..",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "expandable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "expanded",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : ""
+        "desc" : "e) default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "font awesome icon",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "footer",
         "type" : "String",
         "desc" : "content of footer (for panel)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header",
         "type" : "String",
         "desc" : "content of header (for panel)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
-        "desc" : "e) hide the element",
-        "memberOf" : ""
+        "desc" : "e) hide the eleme",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
-        "desc" : ".) glyphicon name",
-        "memberOf" : ""
+        "desc" : ".) glyphicon na",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "info-sign",
+          "check",
+          "..."
+        ]
       },
       {
         "name" : "jumbotron",
         "type" : "Boolean",
         "desc" : "is it a jumbotron element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "panel",
         "type" : "String",
-        "desc" : "r) render as panel  - type - primary/success.....",
-        "memberOf" : ""
+        "desc" : "r) render as panel  - type - primary/success...",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "rheader",
         "type" : "String",
         "desc" : "contet on the right of header",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sticky",
         "type" : "String",
-        "desc" : "h) block to use as footer or body- needs css-bootstrap/sticky-footer.css",
-        "memberOf" : ""
+        "desc" : "h) block to use as footer or body- needs css-bootstrap/sticky-footer.c",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "footer",
+          "wrap",
+          "push"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "n) type of HTML tag.",
-        "memberOf" : ""
+        "desc" : "n) type of HTML ta",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "aside",
+          "section"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "well",
         "type" : "String",
-        "desc" : "d) a well, large, small or medium.",
-        "memberOf" : ""
+        "desc" : "d) a well, large, small or mediu",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "lg",
+          "sm",
+          "md"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxes",
         "type" : "Number",
         "desc" : "number of boxes, 0 is no limit.. default 0",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
-        "desc" : "e) allow edit when upload a image default true",
-        "memberOf" : ""
+        "desc" : "e) allow edit when upload a image default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "p) default left",
-        "memberOf" : ""
+        "desc" : "p) default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "top"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "default 4",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
         "desc" : "default POST",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiple",
         "type" : "Boolean",
         "desc" : "multiple upload default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "paramName",
         "type" : "String",
         "desc" : "default 'imageUpload'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "thumbSize",
         "type" : "Number",
         "desc" : "default 300",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolTipName",
         "type" : "String",
         "desc" : "default 'filename'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "action url",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showDownload",
         "type" : "Boolean",
-        "desc" : "e) show download button (default true)",
-        "memberOf" : ""
+        "desc" : "e) show download button (default tru",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "showTrash",
         "type" : "Boolean",
-        "desc" : "e) show trash button (default true)",
-        "memberOf" : ""
+        "desc" : "e) show trash button (default tru",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "dropable name",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.Element"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "default blank - set to button to force cursor pointer",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element",
-        "memberOf" : "Roo.bootstrap.Element"
+        "memberOf" : "Roo.bootstrap.Element",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clickable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "default blank - set to button to force cursor pointer",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "g_height",
         "type" : "number",
         "desc" : "height of the chart (respected by all elements in the set)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "g_r",
         "type" : "number",
         "desc" : "radius (pie)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "g_width",
         "type" : "number",
         "desc" : "width of the chart (respected by all elements in the set)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "g_x",
         "type" : "number",
         "desc" : "coodinator | centre x (pie)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "g_y",
         "type" : "number",
         "desc" : "coodinator | centre y (pie)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "graphtype",
         "type" : "String",
         "desc" : "bar | vbar | pie",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "Object",
         "desc" : "The title of the chart\n    \n -{Array}  values\n -opts (object) options for the chart \n     o {\n     o type (string) type of endings of the bar. Default: 'square'. Other options are: 'round', 'sharp', 'soft'.\n     o gutter (number)(string) default '20%' (WHAT DOES IT DO?)\n     o vgutter (number)\n     o colors (array) colors be used repeatedly to plot the bars. If multicolumn bar is used each sequence of bars with use a different color.\n     o stacked (boolean) whether or not to tread values as in a stacked bar chart\n     o to\n     o stretch (boolean)\n     o }\n -opts (object) options for the pie\n     o{\n     o cut\n     o startAngle (number)\n     o endAngle (number)\n     }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of header",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "level",
         "type" : "Number",
-        "desc" : "6) default 1",
-        "memberOf" : ""
+        "desc" : "6) default",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "1",
+          "2",
+          "3",
+          "4",
+          "5",
+          "6"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alt",
         "type" : "String",
         "desc" : "image alternative text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "backgroundContain",
         "type" : "Boolean",
         "desc" : "(use style background and contain image in content)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "border",
         "type" : "String",
         "desc" : "rounded | circle | thumbnail",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "a tag href",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "imgResponsive",
         "type" : "Boolean",
         "desc" : "false | true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lgUrl",
         "type" : "String",
         "desc" : "lg image source",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mdUrl",
         "type" : "String",
         "desc" : "md image source",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "smUrl",
         "type" : "String",
         "desc" : "sm image source",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "src",
         "type" : "String",
         "desc" : "image source",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "target",
         "type" : "String",
-        "desc" : "p)target for a href.",
-        "memberOf" : ""
+        "desc" : "p)target for a hre",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "_self",
+          "_blank",
+          "_parent",
+          "_top"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xsUrl",
         "type" : "String",
         "desc" : "xs image source",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alternativePadWidth",
         "type" : "Number",
         "desc" : "padding below box..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxHeight",
         "type" : "Number",
         "desc" : "- 0 for square, or fix it at a certian height",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxWidth",
         "type" : "Number",
         "desc" : "width of the columns",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "gutter",
         "type" : "Number",
         "desc" : "gutter width..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "isAutoInitial",
         "type" : "Boolean",
         "desc" : "defalut true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isHorizontal",
         "type" : "Boolean",
         "desc" : "defalut false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isLayoutInstant",
         "type" : "Boolean",
         "desc" : "= no animation?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxCols",
         "type" : "Number",
         "desc" : "maximum number of columns",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "padWidth",
         "type" : "Number",
         "desc" : "padding below box..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "columnWidth",
         "type" : "Number",
         "desc" : "width of the columns",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "isAutoInitial",
         "type" : "Boolean",
         "desc" : "defalut true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isFitWidth",
         "type" : "Boolean",
         "desc" : "- resize the width..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isLayoutInstant",
         "type" : "Boolean",
         "desc" : "= no animation?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isOriginLeft",
         "type" : "Boolean",
         "desc" : "= left align?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isOriginTop",
         "type" : "Boolean",
         "desc" : "= top align?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isResizingContainer",
         "type" : "Boolean",
         "desc" : "= not sure if this is used..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxCols",
         "type" : "Number",
         "desc" : "maximum number of columns",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "padHeight",
         "type" : "Number",
         "desc" : "padding below box..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alt",
         "type" : "String",
         "desc" : "image alternative text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "anchor",
         "type" : "String",
         "desc" : "name for the anchor link",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "- favicon",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "a tag href",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "the content of the link.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "target",
         "type" : "String",
-        "desc" : "p) target for a href.",
-        "memberOf" : ""
+        "desc" : "p) target for a hre",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "_self",
+          "_blank",
+          "_parent",
+          "_top"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableDoubleClickZoom",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "draggable",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableAutocomplete",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableReverseGeocode",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "latitude",
         "type" : "Number",
         "desc" : "Position when init default 0",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "locationName",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "longitude",
         "type" : "Number",
         "desc" : "Position when init default 0",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mapTypeControl",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mapTypeId",
         "type" : "String",
         "desc" : "default google.maps.MapTypeId.ROADMAP",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "markerTitle",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "radius",
         "type" : "Number",
         "desc" : "default 0",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scrollwheel",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "streetViewControl",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "zoom",
         "type" : "Number",
         "desc" : "default 15",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bgimage",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "defalut false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isFitContainer",
         "type" : "Boolean",
         "desc" : "defalut true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placetitle",
         "type" : "String",
-        "desc" : "m)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "center",
+          "bottom"
+        ]
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "defalut false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "e)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "xs",
+          "sm",
+          "md",
+          "md-left",
+          "md-right",
+          "tall",
+          "wide"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "videourl",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "beforeClass",
         "type" : "String",
         "desc" : "insert the bar before the given class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fixed",
         "type" : "Boolean",
-        "desc" : "e) default false, fix the bar at the top",
-        "memberOf" : ""
+        "desc" : "e) default false, fix the bar at the t",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the MessageBar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "r) default info",
-        "memberOf" : ""
+        "desc" : "r) default in",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "info",
+          "success",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allow_close",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bodyOverflow",
         "type" : "Boolean",
         "desc" : "should the body element have overflow auto added default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttonPosition",
         "type" : "String",
-        "desc" : "r) default right (DEPRICATED) - use mr-auto on buttons to put them on the left",
-        "memberOf" : ""
+        "desc" : "r) default right (DEPRICATED) - use mr-auto on buttons to put them on the le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right",
+          "center"
+        ]
       },
       {
         "name" : "buttons[]",
         "type" : "Roo.bootstrap.Button",
         "desc" : "Array of buttons or standard button set..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editableTitle",
         "type" : "Boolean",
         "desc" : "can the title be edited",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitwindow",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "fixed height - usefull for chrome extension only really.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "- the body of the dialog (for simple ones) - you can also use template..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "max_width",
         "type" : "Number",
         "desc" : "set the max width of modal",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "l) default empty",
-        "memberOf" : ""
+        "desc" : "l) default emp",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "sm",
+          "lg",
+          "xl"
+        ]
       },
       {
         "name" : "specificTitle",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "Title of dialog",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tmpl",
         "type" : "Roo.Template",
         "desc" : "- a template with variables. to use it, add a handler in show:method  adn",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "fixed width - usefull for chrome extension only really.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "l)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "xs",
+          "sm",
+          "md",
+          "lg",
+          "xl"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "the link",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : ""
+        "desc" : "e) default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "t) alignme",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrangement",
         "type" : "Boolean",
         "desc" : "stacked | justified",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons[]",
         "type" : "Roo.bootstrap.Button",
         "desc" : "Buttons for the toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container",
         "type" : "String/HTMLElement/Element",
         "desc" : "container The id or element that will contain the toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayInfo",
         "type" : "Boolean",
         "desc" : "True to display the displayMsg (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayMsg",
         "type" : "String",
         "desc" : "The paging status message to display (defaults to \"Displaying {start} - {end} of {total}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyMsg",
         "type" : "String",
         "desc" : "The message to display when no records are found (defaults to \"No data to display\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "is inverted color",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) loadMask on the bar",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) loadMask on the b",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "main",
         "type" : "Boolean",
-        "desc" : "e) main nav bar? default false",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) main nav bar? default fal",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "The number of records to display per page (defaults to 20)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The underlying data store providing the paged data",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "v) default is nav",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "v) default is n",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "footer",
+          "nav",
+          "div"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tabs"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "e) default is light.",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) default is ligh",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "light",
+          "primary",
+          "secondary",
+          "success",
+          "danger",
+          "warning",
+          "info",
+          "dark",
+          "white"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "(right|top|bottom|left|auto)",
         "type" : "String|function",
         "desc" : "placement how it is placed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "add",
         "type" : "String|Boolean|Roo.Element",
         "desc" : "click hander to trigger show over what element\n     - if false and it has a 'parent' then it will be automatically added to that element\n     - if string - Roo.get  will be called",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "delay",
         "type" : "Number",
         "desc" : "- delay before showing",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the popover   (or false to use children..)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "modal",
         "type" : "Boolean",
         "desc" : "- popovers that are modal will mask the screen, and must be closed with another event.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "of popover (or false to hide)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trigger",
         "type" : "String",
         "desc" : "click || hover (or false to trigger manually)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "t) alignme",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrangement",
         "type" : "Boolean",
         "desc" : "stacked | justified",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "is inverted color",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) loadMask on the bar",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) loadMask on the b",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "main",
         "type" : "Boolean",
-        "desc" : "e) main nav bar? default false",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) main nav bar? default fal",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "v) default is nav",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "v) default is n",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "footer",
+          "nav",
+          "div"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tabs"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "e) default is light.",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) default is ligh",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "light",
+          "primary",
+          "secondary",
+          "success",
+          "danger",
+          "warning",
+          "info",
+          "dark",
+          "white"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "animated of the progress bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "striped",
         "type" : "Boolean",
         "desc" : "striped of the progress bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "aria_valuemax",
         "type" : "Number",
         "desc" : "aria-value max",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "aria_valuemin",
         "type" : "Number",
         "desc" : "aria-value min",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "aria_valuenow",
         "type" : "Number",
         "desc" : "aria-value now",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "label",
         "type" : "String",
         "desc" : "label for the progress bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "panel",
         "type" : "String",
-        "desc" : ")",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "role",
         "type" : "String",
         "desc" : "role of the progress bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sr_only",
         "type" : "String",
         "desc" : "text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alert",
         "type" : "String",
-        "desc" : "r) type alert (changes background / border...)",
-        "memberOf" : "Roo.bootstrap.Column"
+        "desc" : "r) type alert (changes background / border..",
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : [
+          "success",
+          "info",
+          "warning",
+          "danger"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoslide",
         "type" : "Boolean",
-        "desc" : "e) auto slide .. default false",
-        "memberOf" : ""
+        "desc" : "e) auto slide .. default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "bullets",
         "type" : "Boolean",
         "desc" : "show bullets for the panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "carousel",
         "type" : "Boolean",
         "desc" : "true to make the group behave like a carousel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
-        "desc" : ".) font awesome icon",
-        "memberOf" : "Roo.bootstrap.Column"
+        "desc" : ".) font awesome ic",
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : [
+          "ban",
+          "check",
+          "..."
+        ]
       },
       {
         "name" : "fasize",
         "type" : "Number",
-        "desc" : ".) font awsome size",
-        "memberOf" : "Roo.bootstrap.Column"
+        "desc" : ".) font awsome si",
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : [
+          "1",
+          "2",
+          "...."
+        ]
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
-        "desc" : "e) hide the element",
-        "memberOf" : "Roo.bootstrap.Column"
+        "desc" : "e) hide the eleme",
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of column.",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
-        "desc" : ".) glyphicon name",
-        "memberOf" : "Roo.bootstrap.Column"
+        "desc" : ".) glyphicon na",
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : [
+          "info-sign",
+          "check",
+          "..."
+        ]
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lgoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for large computer-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mdoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for computer-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "navId",
         "type" : "String",
         "desc" : "the navigation id (for use with navbars) - will be auto generated if it does not exist..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showarrow",
         "type" : "Boolean",
-        "desc" : "e) show arrow default true",
-        "memberOf" : ""
+        "desc" : "e) show arrow default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "smoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for tablet-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timer",
         "type" : "Number",
         "desc" : "auto slide timer .. default 0 millisecond",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xsoff",
         "type" : "Number",
         "desc" : "colspan offset out of 12 for mobile-sized screens or 0 for hidden",
-        "memberOf" : "Roo.bootstrap.Column"
+        "memberOf" : "Roo.bootstrap.Column",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "panel active",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "click to link..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "panel content",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "navId",
         "type" : "String",
         "desc" : "The Roo.bootstrap.nav.Group which triggers show hide ()",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabId",
         "type" : "String",
         "desc" : "unique tab ID (will be autogenerated if not set. - used to match TabItem to Panel)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "touchSlide",
         "type" : "Boolean",
         "desc" : "if swiping slides tab to next panel (default off)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "auto_hide_footer",
         "type" : "Boolean",
         "desc" : "auto hide footer if only one page (default false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bordered",
         "type" : "boolean",
         "desc" : "Add borders to the table",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cellSelection",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "table class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cm[]",
         "type" : "Roo.grid.ColumnModel",
         "desc" : "A column for the grid.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "condensed",
         "type" : "boolean",
         "desc" : "Format condensed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "empty_results",
         "type" : "string",
         "desc" : "Text to display for no results",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnResize",
         "type" : "Boolean",
         "desc" : "default true if columns can be resized = needs scrollBody to be set to work (drag/drop)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "footer",
         "type" : "Roo.bootstrap.PagingToolbar",
         "desc" : "a paging toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "footerShow",
         "type" : "Boolean",
-        "desc" : "e) generate tfoot, default true",
-        "memberOf" : ""
+        "desc" : "e) generate tfoot, default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "headerShow",
         "type" : "Boolean",
-        "desc" : "e) generate thead, default true",
-        "memberOf" : ""
+        "desc" : "e) generate thead, default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hover",
         "type" : "boolean",
         "desc" : "Add hover highlighting",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyLoad",
         "type" : "Boolean",
         "desc" : "auto load data while scrolling to the end (default false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "minColumnWidth",
         "type" : "Number",
         "desc" : "default 50 pixels minimum column width",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "responsive",
         "type" : "boolean",
         "desc" : "default false - if this is on, columns are rendered with col-xs-4 etc. classes, otherwise columns will be sized by CSS,\n               also adds table-responsive (see bootstrap docs for details)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rowSelection",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "scrollBody",
         "type" : "Boolean",
-        "desc" : "e) default false - body scrolled / fixed header (with resizable columns)",
-        "memberOf" : ""
+        "desc" : "e) default false - body scrolled / fixed header (with resizable column",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "sm",
         "type" : "Roo.grid.AbstractSelectionModel",
         "desc" : "The selection model to use (cell selection is not supported yet)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to use",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "striped",
         "type" : "boolean",
         "desc" : "Should the rows be alternative striped",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "Aligns the content inside the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "charoff",
         "type" : "Number",
         "desc" : "Sets the number of characters the content inside the element will be aligned from the character specified by the char attribute",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "element class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "element tag (thead|tbody|tfoot) default tbody",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valign",
         "type" : "String",
         "desc" : "Vertical aligns the content inside the <tbody> element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "abbr",
         "type" : "String",
         "desc" : "Specifies an abbreviated version of the content in a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "Aligns the content in a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "axis",
         "type" : "String",
         "desc" : "Categorizes cells",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bgcolor",
         "type" : "String",
         "desc" : "Specifies the background color of a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "charoff",
         "type" : "Number",
         "desc" : "Sets the number of characters the content will be aligned from the character specified by the char attribute",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "cell class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "colspan",
         "type" : "Number",
         "desc" : "Specifies the number of columns a cell should span",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "headers",
         "type" : "String",
         "desc" : "Specifies one or more header cells a cell is related to",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "Sets the height of a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "cell contain text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nowrap",
         "type" : "String",
         "desc" : "Specifies that the content inside a cell should not wrap",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rowspan",
         "type" : "Number",
         "desc" : "Sets the number of rows a cell should span",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "scope",
         "type" : "String",
         "desc" : "Defines a way to associate header cells and data cells in a table",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "cell tag (td|th) default td",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valign",
         "type" : "String",
         "desc" : "Vertical aligns the content in a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "Specifies the width of a cell",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "Aligns the content in a table row",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bgcolor",
         "type" : "String",
         "desc" : "Specifies a background color for a table row",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "charoff",
         "type" : "Number",
         "desc" : "Sets the number of characters the content will be aligned from the character specified by the char attribute",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "row class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valign",
         "type" : "String",
         "desc" : "Vertical aligns the content in a table row",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons",
         "type" : "Array",
         "desc" : "default ['rotateLeft', 'pictureBtn', 'rotateRight']",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "show when image has been loaded",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorTimeout",
         "type" : "Number",
         "desc" : "default 3000",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "isDocument",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : ""
+        "desc" : "e) default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "loadingText",
         "type" : "Boolean",
         "desc" : "default 'Loading...'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
         "desc" : "default POST",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minHeight",
         "type" : "Number",
         "desc" : "default 300",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "default 300",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "paramName",
         "type" : "String",
         "desc" : "default 'imageUpload'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rotateNotify",
         "type" : "String",
         "desc" : "show when image too small to rotate",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "action url",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "is it active",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "where it links to if '#' is used the link will be handled by onClick.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "the content of the link.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Box content",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fhref",
         "type" : "String",
         "desc" : "Footer href",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "footer",
         "type" : "String",
         "desc" : "Footer text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "headline",
         "type" : "String",
         "desc" : "Box headline",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "Box icon",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "Icon of the TabBox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showtabs",
         "type" : "Boolean",
-        "desc" : "e) show the tabs default true",
-        "memberOf" : ""
+        "desc" : "e) show the tabs default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabScrollable",
         "type" : "Boolean",
-        "desc" : "e) tab scrollable when mobile view default false",
-        "memberOf" : ""
+        "desc" : "e) tab scrollable when mobile view default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "Title of the TabBox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : ""
+        "desc" : "e) Default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "false",
+          "true"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "title of panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge",
         "type" : "String",
         "desc" : "text for badge",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badge_weight",
         "type" : "String",
-        "desc" : "k) default (same as button)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "k) default (same as butto",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorTimeout",
         "type" : "Number",
         "desc" : "default 3000",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "fontawesome icon - eg. 'comment' - without the fa/fas etc..",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "glyphicon",
         "type" : "String",
         "desc" : "depricated - use fa",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grpup",
         "type" : "Boolean",
         "desc" : "if parent is a btn group - then it turns it into a toogleGroup.",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "empty or href",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "Array",
         "desc" : "The button text.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "images",
         "type" : "Array",
         "desc" : "an array of ?? Img objects ??? when loading existing files..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "dark themed version",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isClose",
         "type" : "Boolean",
         "desc" : "default false;",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootstrap.menu.Menu",
         "desc" : "a Menu",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "offtext",
         "type" : "String",
         "desc" : "text for off slidy toggle state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ontext",
         "type" : "String",
         "desc" : "text for on slidy toggle state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "outline",
         "type" : "Boolean",
         "desc" : "default false (except for weight=default which emulates old behaveiour with an outline)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressed",
         "type" : "Boolean",
         "desc" : "default null - if the button ahs active state",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "default true (stop click event triggering the URL if it's a link.)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removeClass",
         "type" : "Boolean",
         "desc" : "remove the standard class..",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "lg",
+          "sm",
+          "xs"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "a",
+          "input",
+          "submit"
+        ]
       },
       {
         "name" : "target",
         "type" : "String",
-        "desc" : "r) target for a href.",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "r) target for a hre",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "_self",
+          "_blank",
+          "_parent",
+          "_top",
+          "other"
+        ]
       },
       {
         "name" : "theme",
         "type" : "String",
-        "desc" : "w)",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "glow"
+        ]
       },
       {
         "name" : "toggle",
         "type" : "Boolean",
         "desc" : "is it a slidy toggle button",
-        "memberOf" : "Roo.bootstrap.Button"
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "k) default",
-        "memberOf" : "Roo.bootstrap.Button"
+        "desc" : "k) defau",
+        "memberOf" : "Roo.bootstrap.Button",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxLabel",
         "type" : "String",
         "desc" : "The text that appears beside the checkbox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "initnal the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "groupId",
         "type" : "String",
         "desc" : "the checkbox group id // normal just use for checkbox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inline",
         "type" : "Boolean",
         "desc" : "inline the element (default false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "inputValue",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value when checked.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String",
         "desc" : "label tooltip",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueOff",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value when unchecked.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "s) The text that appears beside the checkbox",
-        "memberOf" : ""
+        "desc" : "s) The text that appears beside the checkb",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "primary",
+          "warning",
+          "info",
+          "danger",
+          "success"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "append",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoFocus",
         "type" : "Boolean",
-        "desc" : "e) auto focus the first item, default true",
-        "memberOf" : ""
+        "desc" : "e) auto focus the first item, default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "btnPosition",
         "type" : "String",
         "desc" : "set the position of the trigger button (left | right) default right",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "caret",
         "type" : "String",
-        "desc" : "r) BS3 only - carat fa name",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "r) BS3 only - carat fa na",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "search",
+          "calendar"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyResultText",
         "type" : "Boolean",
         "desc" : "only for touch device",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyTitle",
         "type" : "String",
         "desc" : "default ''",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - uses BS4 is-valid now",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mobileTouchView",
         "type" : "Boolean",
-        "desc" : "e) show mobile touch view when using a mobile default true",
-        "memberOf" : ""
+        "desc" : "e) show mobile touch view when using a mobile default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "mobile_restrict_height",
         "type" : "Boolean",
-        "desc" : "e) restrict height for touch view",
-        "memberOf" : ""
+        "desc" : "e) restrict height for touch vi",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "modalTitle",
         "type" : "String",
         "desc" : "The title of the dialog that pops up on mobile views.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiple",
         "type" : "Boolean",
-        "desc" : "e) ComboBobArray, default false",
-        "memberOf" : ""
+        "desc" : "e) ComboBobArray, default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removable",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "e) special filter default fal",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showToggleBtn",
         "type" : "Boolean",
         "desc" : "show toggle button or not (true|false) default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "specialFilter",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : ""
+        "desc" : "e) special filter default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tickable",
         "type" : "Boolean",
         "desc" : "ComboBox with tickable selections (true|false), default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output default is  '<a class=\"dropdown-item\" href=\"#\">{' + this.displayField + '}</a>'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' by default and triggerClass will be <b>appended</b> if specified.",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerList",
         "type" : "Boolean",
         "desc" : "trigger show the list or not (true|false) default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerText",
         "type" : "String",
         "desc" : "multiple combobox trigger button text default 'Select'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "useNativeIOS",
         "type" : "Boolean",
-        "desc" : "e) render it as classic select for ios, not support dynamic load data (default false)",
-        "memberOf" : ""
+        "desc" : "e) render it as classic select for ios, not support dynamic load data (default fals",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - uses BS4 is-valid now",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "fixed with? experimental",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "altFormats",
         "type" : "String",
         "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "calendarWeeks",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "daysOfWeekDisabled",
         "type" : "Object",
         "desc" : "default empty",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "endDate",
         "type" : "Number",
         "desc" : "default Infinity",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "format",
         "type" : "String",
         "desc" : "The default date format string which can be overriden for localization support.  The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "keyboardNavigation",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "language",
         "type" : "String",
         "desc" : "default en",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minViewMode",
         "type" : "String",
         "desc" : "default empty, (months|years)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleMode",
         "type" : "Boolean",
         "desc" : "default false (true | false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "startDate",
         "type" : "Number",
         "desc" : "default -Infinity",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "todayBtn",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "todayHighlight",
         "type" : "Boolean",
         "desc" : "default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "viewMode",
         "type" : "String",
         "desc" : "default empty, (months|years)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "weekStart",
         "type" : "Number",
         "desc" : "default 0",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dayAllowBlank",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "dayFormat",
         "type" : "string",
         "desc" : "default 'd'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dayPlaceholder",
         "type" : "string",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label (0-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monthAllowBlank",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "monthFormat",
         "type" : "string",
         "desc" : "default 'm'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monthPlaceholder",
         "type" : "string",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "yearAllowBlank",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "yearFormat",
         "type" : "string",
         "desc" : "default 'Y'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "yearPlaceholder",
         "type" : "string",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
-        "desc" : "e) target allowBlank default true",
-        "memberOf" : ""
+        "desc" : "e) target allowBlank default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "class of the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "contents of the element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconTooltip",
         "type" : "String",
         "desc" : "default \"This field is required\"",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : ""
+        "desc" : "t) default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - BS4 uses is-invalid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "tag of the element default label",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "target",
         "type" : "String",
         "desc" : "label target",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - BS4 uses is-valid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "left  | right - for navbars",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorMask",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "fileUpload",
         "type" : "Boolean",
         "desc" : "Set to true if this form is a file upload.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "top | left (default top)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
         "desc" : "load mask when submit (default true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskBody",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskOffset",
         "type" : "Number",
         "desc" : "Default 100",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
         "desc" : "GET | POST (default POST)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
         "desc" : "Timeout for form actions in seconds (default is 30 seconds).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The URL to use for form actions if one isn't supplied in the action options.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons",
         "type" : "Array",
         "desc" : "Array of toolbar's buttons. - defaults to empty",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cols",
         "type" : "Number",
         "desc" : "Specifies the visible width of a text area",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "string",
         "desc" : "text",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "String",
         "desc" : "'s' or 'se' or 'e' - wrapps the element in a\n                       Roo.resizable.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resize",
         "type" : "string",
-        "desc" : "l)",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "both",
+          "horizontal",
+          "vertical",
+          "inherit",
+          "initial"
+        ]
       },
       {
         "name" : "rows",
         "type" : "Number",
         "desc" : "Specifies the visible number of lines in a text area",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stylesheets",
         "type" : "Array",
         "desc" : "url of stylesheets. set to [] to disable stylesheets.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbars",
         "type" : "Array",
         "desc" : "Array of toolbars. - defaults to just the Standard one",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "wrap",
         "type" : "string",
-        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a form",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a fo",
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : [
+          "soft",
+          "hard"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "t) alignme",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrangement",
         "type" : "Boolean",
         "desc" : "stacked | justified",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "btns",
         "type" : "Array",
         "desc" : "List of additional buttons.\n\n\nNEEDS Extra CSS? \n.x-html-editor-tb .x-edit-none .x-btn-text { background: none; }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disable",
         "type" : "Object",
         "desc" : "List of elements to disable..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "is inverted color",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) loadMask on the bar",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) loadMask on the b",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "main",
         "type" : "Boolean",
-        "desc" : "e) main nav bar? default false",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) main nav bar? default fal",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "v) default is nav",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "v) default is n",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "footer",
+          "nav",
+          "div"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tabs"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "e) default is light.",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) default is ligh",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "light",
+          "primary",
+          "secondary",
+          "success",
+          "danger",
+          "warning",
+          "info",
+          "dark",
+          "white"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : ""
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : ""
+        "desc" : "t) Default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : ""
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : ""
+        "desc" : "e) Default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : ""
+        "desc" : "e) default tr",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : ""
+        "desc" : "t) default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cols",
         "type" : "Number",
         "desc" : "Specifies the visible width of a text area",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "string",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "string",
         "desc" : "text",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resize",
         "type" : "string",
-        "desc" : "l)",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "both",
+          "horizontal",
+          "vertical",
+          "inherit",
+          "initial"
+        ]
       },
       {
         "name" : "rows",
         "type" : "Number",
         "desc" : "Specifies the visible number of lines in a text area",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "wrap",
         "type" : "string",
-        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a form",
-        "memberOf" : "Roo.bootstrap.form.TextArea"
+        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a fo",
+        "memberOf" : "Roo.bootstrap.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : [
+          "soft",
+          "hard"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDecimals",
         "type" : "Boolean",
         "desc" : "False to disallow decimal values (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowNegative",
         "type" : "Boolean",
         "desc" : "False to prevent entering a negative sign (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowZero",
         "type" : "Boolean",
         "desc" : "False to blank out if the user enters '0' (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "default true",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "append",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoFocus",
         "type" : "Boolean",
-        "desc" : "e) auto focus the first item, default true",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) auto focus the first item, default tr",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "btnPosition",
         "type" : "String",
         "desc" : "set the position of the trigger button (left | right) default right",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "caret",
         "type" : "String",
-        "desc" : "r) BS3 only - carat fa name",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "r) BS3 only - carat fa na",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "search",
+          "calendar"
+        ]
       },
       {
         "name" : "castInt",
         "type" : "Boolean",
-        "desc" : "e) cast int if true (defalut true)",
-        "memberOf" : ""
+        "desc" : "e) cast int if true (defalut tru",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalPrecision",
         "type" : "Number",
         "desc" : "The maximum precision to display after the decimal separator (defaults to 2)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalSeparator",
         "type" : "String",
         "desc" : "Character(s) to allow as the decimal separator (defaults to '.')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaults",
         "type" : "String",
         "desc" : "currency of the MoneyField\nvalue should be in lkey",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyResultText",
         "type" : "Boolean",
         "desc" : "only for touch device",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyTitle",
         "type" : "String",
         "desc" : "default ''",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - uses BS4 is-valid now",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxText",
         "type" : "String",
         "desc" : "Error text to display if the maximum value validation fails (defaults to \"The maximum value for this field is {maxValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxValue",
         "type" : "Number",
         "desc" : "The maximum allowed value (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "max_length",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "Error text to display if the minimum value validation fails (defaults to \"The minimum value for this field is {minValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minValue",
         "type" : "Number",
         "desc" : "The minimum allowed value (defaults to Number.NEGATIVE_INFINITY)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mobileTouchView",
         "type" : "Boolean",
-        "desc" : "e) show mobile touch view when using a mobile default true",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) show mobile touch view when using a mobile default tr",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "mobile_restrict_height",
         "type" : "Boolean",
-        "desc" : "e) restrict height for touch view",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) restrict height for touch vi",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "modalTitle",
         "type" : "String",
         "desc" : "The title of the dialog that pops up on mobile views.",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiple",
         "type" : "Boolean",
-        "desc" : "e) ComboBobArray, default false",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) ComboBobArray, default fal",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nanText",
         "type" : "String",
         "desc" : "Error text to display if the value is not a valid number.  For example, this can happen\nif a valid character like '.' or '-' is left in the field with no number (defaults to \"{value} is not a valid number\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removable",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "e) special filter default fal",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showToggleBtn",
         "type" : "Boolean",
         "desc" : "show toggle button or not (true|false) default true",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "specialFilter",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) special filter default fal",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "Store to lookup currency??",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "thousandsDelimiter",
         "type" : "String",
         "desc" : "Symbol of thousandsDelimiter",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tickable",
         "type" : "Boolean",
         "desc" : "ComboBox with tickable selections (true|false), default false",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output default is  '<a class=\"dropdown-item\" href=\"#\">{' + this.displayField + '}</a>'",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' by default and triggerClass will be <b>appended</b> if specified.",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerList",
         "type" : "Boolean",
         "desc" : "trigger show the list or not (true|false) default true",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerText",
         "type" : "String",
         "desc" : "multiple combobox trigger button text default 'Select'",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "useNativeIOS",
         "type" : "Boolean",
-        "desc" : "e) render it as classic select for ios, not support dynamic load data (default false)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "desc" : "e) render it as classic select for ios, not support dynamic load data (default fals",
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - uses BS4 is-valid now",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "fixed with? experimental",
-        "memberOf" : "Roo.bootstrap.form.ComboBox"
+        "memberOf" : "Roo.bootstrap.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "language",
         "type" : "String",
         "desc" : "default en",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDecimals",
         "type" : "Boolean",
         "desc" : "False to disallow decimal values (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowNegative",
         "type" : "Boolean",
         "desc" : "False to prevent entering a negative sign (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowZero",
         "type" : "Boolean",
         "desc" : "False to blank out if the user enters '0' (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalPrecision",
         "type" : "Number",
         "desc" : "The maximum precision to display after the decimal separator (defaults to 2)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalSeparator",
         "type" : "String",
         "desc" : "Character(s) to allow as the decimal separator (defaults to '.')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxText",
         "type" : "String",
         "desc" : "Error text to display if the maximum value validation fails (defaults to \"The maximum value for this field is {maxValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxValue",
         "type" : "Number",
         "desc" : "The maximum allowed value (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "Error text to display if the minimum value validation fails (defaults to \"The minimum value for this field is {minValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minValue",
         "type" : "Number",
         "desc" : "The minimum allowed value (defaults to Number.NEGATIVE_INFINITY)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nanText",
         "type" : "String",
         "desc" : "Error text to display if the value is not a valid number.  For example, this can happen\nif a valid character like '.' or '-' is left in the field with no number (defaults to \"{value} is not a valid number\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "thousandsDelimiter",
         "type" : "String",
         "desc" : "Symbol of thousandsDelimiter",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueAlign",
         "type" : "String",
         "desc" : "alignment of value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "caret",
         "type" : "String",
-        "desc" : "r) BS3 only - carat fa name",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "r) BS3 only - carat fa na",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "search",
+          "calendar"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultDialCode",
         "type" : "String",
         "desc" : "default '+852'",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preferedCountries",
         "type" : "Array",
         "desc" : "default []",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removable",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "desc" : "e) special filter default fal",
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
-        "desc" : "[required] The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "The data store to which this combo is bound (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' by default and triggerClass will be <b>appended</b> if specified.",
-        "memberOf" : "Roo.bootstrap.form.TriggerField"
+        "memberOf" : "Roo.bootstrap.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxLabel",
         "type" : "String",
         "desc" : "- the label associated",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "String",
         "desc" : "- the value of radio",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : ""
+        "desc" : "t) default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inline",
         "type" : "Boolean",
-        "desc" : "e) inline the element (default true)",
-        "memberOf" : ""
+        "desc" : "e) inline the element (default tru",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "s) The text that appears beside the radio",
-        "memberOf" : ""
+        "desc" : "s) The text that appears beside the rad",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "primary",
+          "warning",
+          "info",
+          "danger",
+          "success"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "Label",
         "type" : "String/Object",
         "desc" : "for the strength meter (defaults to\n'Password strength:')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errors",
         "type" : "String/Object",
         "desc" : "A Error spec, or true for a default spec (defaults to\n{\n PwdEmpty: \"Please type a password, and then retype it to confirm.\",\n PwdShort: \"Your password must be at least 6 characters long. Please type a different password.\",\n PwdLong: \"Your password can't contain more than 16 characters. Please type a different password.\",\n PwdBadChar: \"The password contains characters that aren't allowed. Please type a different password.\",\n IDInPwd: \"Your password can't include the part of your ID. Please type a different password.\",\n FNInPwd: \"Your password can't contain your first name. Please type a different password.\",\n LNInPwd: \"Your password can't contain your last name. Please type a different password.\"\n})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pwdStrengths",
         "type" : "String/Object",
         "desc" : "A pwdStrengths spec, or true for a default spec (defaults to\n['Weak', 'Medium', 'Strong'])",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cols",
         "type" : "Number",
         "desc" : "Specifies the visible width of a text area",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "string",
         "desc" : "text",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resize",
         "type" : "string",
-        "desc" : "l)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "none",
+          "both",
+          "horizontal",
+          "vertical",
+          "inherit",
+          "initial"
+        ]
       },
       {
         "name" : "rows",
         "type" : "Number",
         "desc" : "Specifies the visible number of lines in a text area",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "wrap",
         "type" : "string",
-        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a form",
-        "memberOf" : ""
+        "desc" : "d)Specifies how the text in a text area is to be wrapped when submitted in a fo",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "soft",
+          "hard"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "format",
         "type" : "String",
         "desc" : "The default time format string which can be overriden for localization support.  The format must be\nvalid according to {@link Date#parseDate} (defaults to 'H:i').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "accept",
         "type" : "String",
-        "desc" : "o) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "o) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "image",
+          "video",
+          "audio"
+        ]
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "after",
         "type" : "string",
         "desc" : "- input group add on after",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "afterButton",
         "type" : "Roo.bootstrap.Button",
         "desc" : "to show before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) Default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) Default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "center",
+          "right"
+        ]
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autocomplete",
         "type" : "String",
         "desc" : "- default is new-password see: https://developers.google.com/web/fundamentals/input/form/label-and-name-inputs?hl=en",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "before",
         "type" : "string",
         "desc" : "- input group add on before",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "capture",
         "type" : "String",
-        "desc" : "a) use for file input only. (default empty)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "a) use for file input only. (default empt",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "user",
+          "camera"
+        ]
       },
       {
         "name" : "caret",
         "type" : "String",
-        "desc" : "r) BS3 only - carat fa name",
-        "memberOf" : ""
+        "desc" : "r) BS3 only - carat fa na",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "search",
+          "calendar"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "is it disabled",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "string",
         "desc" : "- the label associated",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceFeedback",
         "type" : "Boolean",
-        "desc" : "e) Default false",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) Default fal",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hasFeedback",
         "type" : "Boolean",
-        "desc" : "e) default true",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "e) default tr",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "indicatorpos",
         "type" : "String",
-        "desc" : "t) default left",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "t) default le",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "button",
+          "checkbox",
+          "email",
+          "file",
+          "hidden",
+          "image",
+          "number",
+          "password",
+          "radio",
+          "range",
+          "reset",
+          "search",
+          "submit",
+          "text"
+        ]
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display if {@link #validator} test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "left"
+        ]
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "set the width of label",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labellg",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelmd",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelsm",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelxs",
         "type" : "Number",
         "desc" : "set the width of label (1-12)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
         "desc" : "colspan out of 12 for large computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
         "desc" : "colspan out of 12 for computer-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "name of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "placeholder",
         "type" : "string",
         "desc" : "- placeholder to put in text.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventMark",
         "type" : "Boolean",
         "desc" : "Do not show tick or cross if error/success",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "Specifies that the field should be read-only",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "-- Depricated - use Invalid Text",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "removable",
         "type" : "Boolean",
-        "desc" : "e) special filter default false",
-        "memberOf" : ""
+        "desc" : "e) special filter default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "size",
         "type" : "string",
         "desc" : "- (lg|sm) or leave empty..",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
         "desc" : "colspan out of 12 for tablet-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' by default and triggerClass will be <b>appended</b> if specified.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validClass",
         "type" : "String",
         "desc" : "DEPRICATED - code uses BS4 - is-valid / is-invalid",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validFeedbackIcon",
         "type" : "String",
         "desc" : "The CSS class to use when create feedback icon (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "string",
         "desc" : "default value of the input",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
         "desc" : "colspan out of 12 for mobile-sized screens",
-        "memberOf" : "Roo.bootstrap.form.Input"
+        "memberOf" : "Roo.bootstrap.form.Input",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mgr",
         "type" : "Roo.bootstrap.layout.Manager",
         "desc" : "The manager",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "string",
         "desc" : "the region that it inhabits..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "skipConfig",
         "type" : "bool",
         "desc" : "skip config?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "center",
         "type" : "Roo.bootstrap.layout.Region",
         "desc" : "region to go in center",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "east",
         "type" : "Roo.bootstrap.layout.Region",
         "desc" : "region to go in east",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "north",
         "type" : "Roo.bootstrap.layout.Region",
         "desc" : "region to go in north",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "south",
         "type" : "Roo.bootstrap.layout.Region",
         "desc" : "region to go in south",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "west",
         "type" : "Roo.bootstrap.layout.Region",
         "desc" : "region to go in west",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "alwaysShowTabs",
         "type" : "Boolean",
         "desc" : "True to always display tabs even when there is only 1 panel (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to animate expand/collapse (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHide",
         "type" : "Boolean",
         "desc" : "False to disable auto hiding when the mouse leaves the \"floated\" region (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to enable overflow scrolling (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closeOnTab",
         "type" : "Boolean",
         "desc" : "True to place the close icon on the tabs instead of the region titlebar (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "string",
         "desc" : "Extra CSS classes to add to region",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cmargins",
         "type" : "Object",
         "desc" : "Margins for the element when collapsed (defaults to: north/south {top: 2, left: 0, right:0, bottom: 2} or east/west {top: 0, left: 2, right:2, bottom: 0})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableTabTips",
         "type" : "Boolean",
         "desc" : "True to disable tab tooltips",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "For North/South panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start the region hidden (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideTabs",
         "type" : "Boolean",
         "desc" : "True to hide the tab strip (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideWhenEmpty",
         "type" : "Boolean",
         "desc" : "True to hide the region when it has no panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "margins",
         "type" : "Object",
         "desc" : "Margins for the element (defaults to {top: 0, left: 0, right:0, bottom: 0})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mgr",
         "type" : "Roo.bootstrap.layout.Manager",
         "desc" : "The manager",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minTabWidth",
         "type" : "Number",
         "desc" : "The minimum tab width (defaults to 40)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "overflow",
         "type" : "String",
-        "desc" : "e) if you have menus in the region, then you need to set this to visible.",
-        "memberOf" : ""
+        "desc" : "e) if you have menus in the region, then you need to set this to visibl",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "hidden",
+          "visible"
+        ]
       },
       {
         "name" : "preferredTabWidth",
         "type" : "Number",
         "desc" : "The preferred tab width (defaults to 150)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preservePanels",
         "type" : "Boolean",
         "desc" : "True to preserve removed panels so they can be readded later (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "string",
         "desc" : "the region that it inhabits..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeTabs",
         "type" : "Boolean",
         "desc" : "True to enable automatic tab resizing. This will resize the tabs so they are all the same size and fit within\n                     the space available, similar to FireFox 1.5 tabs (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "skipConfig",
         "type" : "bool",
         "desc" : "skip config?",
-        "memberOf" : "Roo.bootstrap.layout.Basic"
+        "memberOf" : "Roo.bootstrap.layout.Basic",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "split",
         "type" : "Boolean",
         "desc" : "To show the splitter",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabPosition",
         "type" : "String",
-        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom\")",
-        "memberOf" : ""
+        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "bottom"
+        ]
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for the region (overrides panel titles)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "titlebar",
         "type" : "Boolean",
         "desc" : "True to display a title bar (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Boolean",
         "desc" : "xtype configuration for a toolbar - shows on right of tabbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "For East/West panels",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "alwaysShowTabs",
         "type" : "Boolean",
         "desc" : "True to always display tabs even when there is only 1 panel (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "True to animate expand/collapse (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHide",
         "type" : "Boolean",
         "desc" : "False to disable auto hiding when the mouse leaves the \"floated\" region (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to enable overflow scrolling (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closeOnTab",
         "type" : "Boolean",
         "desc" : "True to place the close icon on the tabs instead of the region titlebar (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cmargins",
         "type" : "Object",
         "desc" : "Margins for the element when collapsed (defaults to: north/south {top: 2, left: 0, right:0, bottom: 2} or east/west {top: 0, left: 2, right:2, bottom: 0})",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsed",
         "type" : "Boolean",
         "desc" : "True to set the initial display to collapsed (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsedTitle",
         "type" : "String",
         "desc" : "Optional string message to display in the collapsed block of a north or south region",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "collapsible",
         "type" : "Boolean",
         "desc" : "False to disable collapsing (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableTabTips",
         "type" : "Boolean",
         "desc" : "True to disable tab tooltips",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "floatable",
         "type" : "Boolean",
         "desc" : "False to disable floating (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "For North/South panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to start the region hidden (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideTabs",
         "type" : "Boolean",
         "desc" : "True to hide the tab strip (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideWhenEmpty",
         "type" : "Boolean",
         "desc" : "True to hide the region when it has no panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "margins",
         "type" : "Object",
         "desc" : "Margins for the element (defaults to {top: 0, left: 0, right:0, bottom: 0})",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minTabWidth",
         "type" : "Number",
         "desc" : "The minimum tab width (defaults to 40)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preferredTabWidth",
         "type" : "Number",
         "desc" : "The preferred tab width (defaults to 150)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preservePanels",
         "type" : "Boolean",
         "desc" : "True to preserve removed panels so they can be readded later (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeTabs",
         "type" : "Boolean",
         "desc" : "True to enable automatic tab resizing. This will resize the tabs so they are all the same size and fit within\n                     the space available, similar to FireFox 1.5 tabs (defaults to false)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showPin",
         "type" : "Boolean",
         "desc" : "True to show a pin button",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "split",
         "type" : "Boolean",
         "desc" : "To show the splitter",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabPosition",
         "type" : "String",
-        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom\")",
-        "memberOf" : "Roo.LayoutRegion"
+        "desc" : "m) \"top\" or \"bottom\" (defaults to \"bottom",
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "bottom"
+        ]
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for the region (overrides panel titles)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "titlebar",
         "type" : "Boolean",
         "desc" : "True to display a title bar (defaults to true)",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Boolean",
         "desc" : "xtype configuration for a toolbar - shows on right of tabbar",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "For East/West panels",
-        "memberOf" : "Roo.LayoutRegion"
+        "memberOf" : "Roo.LayoutRegion",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "used on sidebars to highlight active itesm",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "favicon to show on left of menu item.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "the link",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "the menu label",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isContainer",
         "type" : "Boolean",
         "desc" : "is it a container - just returns a drop down item..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootsrap.Menu",
         "desc" : "the child menu.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "do not trigger A href on clicks (default false).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
         "desc" : "default tl-bl? == below  - how the menu should be aligned.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "bool",
         "desc" : "if the menu should be hidden when rendered.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "bool",
-        "desc" : "e)  default false - hide the carret for trigger.",
-        "memberOf" : ""
+        "desc" : "e)  default false - hide the carret for trigge",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "isLink",
         "type" : "bool",
-        "desc" : "e)  the menu has link disable auto expand and collaspe (default false)",
-        "memberOf" : ""
+        "desc" : "e)  the menu has link disable auto expand and collaspe (default fals",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "registerMenu",
         "type" : "Boolean",
         "desc" : "True (default) - means that clicking on screen etc. hides it.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stopEvent",
         "type" : "bool",
-        "desc" : "e)  Stop event after trigger press (default true)",
-        "memberOf" : ""
+        "desc" : "e)  Stop event after trigger press (default tru",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "u) type of menu",
-        "memberOf" : ""
+        "desc" : "u) type of me",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "dropdown",
+          "treeview",
+          "submenu"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "navId",
         "type" : "String",
         "desc" : "- reference Id for navbar.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pilltype",
         "type" : "Boolean",
         "desc" : "default true (turn to off to disable active toggle)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "b) default nav",
-        "memberOf" : ""
+        "desc" : "b) default n",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tab"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "t) alignme",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrangement",
         "type" : "Boolean",
         "desc" : "stacked | justified",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autohide",
         "type" : "Boolean",
         "desc" : "a top nav bar header that hides on scroll.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "brand",
         "type" : "String",
         "desc" : "what is brand",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "brand_href",
         "type" : "String",
         "desc" : "href of the brand",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "desktopCenter",
         "type" : "Boolean",
         "desc" : "should the header be centered on desktop using a container class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "is inverted color",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) loadMask on the bar",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) loadMask on the b",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "main",
         "type" : "Boolean",
-        "desc" : "e) main nav bar? default false",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) main nav bar? default fal",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "mobilerow",
         "type" : "Roo.bootstrap.Row",
         "desc" : "- a row to display on mobile only..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "position",
         "type" : "String",
-        "desc" : "p) position",
-        "memberOf" : ""
+        "desc" : "p) positi",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "fixed-top",
+          "fixed-bottom",
+          "static-top"
+        ]
       },
       {
         "name" : "srButton",
         "type" : "Boolean",
         "desc" : "generate the (screen reader / mobile) sr-only button   default true",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "v) default is nav",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "v) default is n",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "footer",
+          "nav",
+          "div"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tabs"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "e) default is light.",
-        "memberOf" : "Roo.bootstrap.nav.Simplebar"
+        "desc" : "e) default is ligh",
+        "memberOf" : "Roo.bootstrap.nav.Simplebar",
+        "isOptional" : false,
+        "optvalues" : [
+          "light",
+          "primary",
+          "secondary",
+          "success",
+          "danger",
+          "warning",
+          "info",
+          "dark",
+          "white"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "Is item active",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animateRef",
         "type" : "Boolean",
-        "desc" : "e) link to element default false",
-        "memberOf" : ""
+        "desc" : "e) link to element default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "badge",
         "type" : "String",
         "desc" : "text inside badge",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badgecls",
         "type" : "String",
-        "desc" : "w)the extra classes for the badge",
-        "memberOf" : ""
+        "desc" : "w)the extra classes for the bad",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "bg-green",
+          "bg-red",
+          "bg-yellow"
+        ]
       },
       {
         "name" : "button_outline",
         "type" : "Boolean",
         "desc" : "show and outlined button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "button_weight",
         "type" : "String",
-        "desc" : "k) default none",
-        "memberOf" : ""
+        "desc" : "k) default no",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "Is item disabled",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "- Fontawsome icon name (can add stuff to it like fa-2x)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "glyphicon",
         "type" : "String",
         "desc" : "DEPRICATED - use fa",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "link to",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of button",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "DEPRICATED - use fa",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "linkcls",
         "type" : "String",
         "desc" : "Link Class",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootstrap.menu.Menu",
         "desc" : "a Menu",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabId",
         "type" : "String",
         "desc" : "the tab that this item activates.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tagtype",
         "type" : "String",
-        "desc" : "n) render as a href or span?",
-        "memberOf" : ""
+        "desc" : "n) render as a href or spa",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "a",
+          "span"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "NavProgressBar:bullets[]",
         "type" : "Roo.bootstrap.nav.ProgressItem",
         "desc" : "Bullets for the Nav Progress bar for the toolbar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
-        "desc" : "e) Is item active default false",
-        "memberOf" : ""
+        "desc" : "e) Is item active default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
-        "desc" : "e) Is item active default false",
-        "memberOf" : ""
+        "desc" : "e) Is item active default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "show icon instead of number",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "position",
         "type" : "String",
-        "desc" : "m) text position default bottom",
-        "memberOf" : ""
+        "desc" : "m) text position default bott",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "top",
+          "bottom"
+        ]
       },
       {
         "name" : "rid",
         "type" : "String",
         "desc" : "the reference id",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "active",
         "type" : "Boolean",
         "desc" : "Is item active",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "animateRef",
         "type" : "Boolean",
-        "desc" : "e) link to element default false",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "desc" : "e) link to element default fal",
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "badge",
         "type" : "String",
         "desc" : "text inside badge",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badgecls",
         "type" : "String",
-        "desc" : "w)the extra classes for the badge",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "desc" : "w)the extra classes for the bad",
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : [
+          "bg-green",
+          "bg-red",
+          "bg-yellow"
+        ]
       },
       {
         "name" : "button_outline",
         "type" : "Boolean",
         "desc" : "show and outlined button",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "button_weight",
         "type" : "String",
-        "desc" : "k) default none",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "desc" : "k) default no",
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : [
+          "default",
+          "primary",
+          "secondary",
+          "success",
+          "info",
+          "warning",
+          "danger",
+          "link",
+          "light",
+          "dark"
+        ]
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "Is item disabled",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fa",
         "type" : "String",
         "desc" : "- Fontawsome icon name (can add stuff to it like fa-2x)",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "glyphicon",
         "type" : "String",
         "desc" : "DEPRICATED - use fa",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "link to",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "content of button",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "DEPRICATED - use fa",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "linkcls",
         "type" : "String",
         "desc" : "Link Class",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.bootstrap.menu.Menu",
         "desc" : "a Menu",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabId",
         "type" : "String",
         "desc" : "the tab that this item activates.",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tagtype",
         "type" : "String",
-        "desc" : "n) render as a href or span?",
-        "memberOf" : "Roo.bootstrap.nav.Item"
+        "desc" : "n) render as a href or spa",
+        "memberOf" : "Roo.bootstrap.nav.Item",
+        "isOptional" : false,
+        "optvalues" : [
+          "a",
+          "span"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment",
-        "memberOf" : ""
+        "desc" : "t) alignme",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "arrangement",
         "type" : "Boolean",
         "desc" : "stacked | justified",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "can_build_overlaid",
         "type" : "Boolean",
         "desc" : "True if element can be rebuild from a HTML page",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "css class",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "container_method",
         "type" : "string",
         "desc" : "method to fetch parents container element (used by NavHeaderbar -  getHeaderChildContainer)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataId",
         "type" : "string",
         "desc" : "cutomer id",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inverse",
         "type" : "Boolean",
         "desc" : "is inverted color",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Boolean",
-        "desc" : "e) loadMask on the bar",
-        "memberOf" : ""
+        "desc" : "e) loadMask on the b",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "main",
         "type" : "Boolean",
-        "desc" : "e) main nav bar? default false",
-        "memberOf" : ""
+        "desc" : "e) main nav bar? default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "name",
         "type" : "string",
         "desc" : "Specifies name attribute",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String",
         "desc" : "any extra css",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
-        "desc" : "v) default is nav",
-        "memberOf" : ""
+        "desc" : "v) default is n",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "header",
+          "footer",
+          "nav",
+          "div"
+        ]
       },
       {
         "name" : "tooltip",
         "type" : "string",
         "desc" : "Text for the tooltip",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "type",
         "type" : "String",
-        "desc" : "s)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "nav",
+          "pills",
+          "tabs"
+        ]
       },
       {
         "name" : "visibilityEl",
         "type" : "string|object",
-        "desc" : "t) What element to use for visibility (@see getVisibilityEl())",
-        "memberOf" : "Roo.bootstrap.Component"
+        "desc" : "t) What element to use for visibility (@see getVisibilityEl(",
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "el",
+          "parent"
+        ]
       },
       {
         "name" : "weight",
         "type" : "String",
-        "desc" : "e) default is light.",
-        "memberOf" : ""
+        "desc" : "e) default is ligh",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "light",
+          "primary",
+          "secondary",
+          "success",
+          "danger",
+          "warning",
+          "info",
+          "dark",
+          "white"
+        ]
       },
       {
         "name" : "xattr",
         "type" : "Object",
         "desc" : "extra attributes to add to 'element' (used by builder to store stuff.)",
-        "memberOf" : "Roo.bootstrap.Component"
+        "memberOf" : "Roo.bootstrap.Component",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badges",
         "type" : "Boolean",
         "desc" : "render the badges",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "extra classes to use",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iframe",
         "type" : "Boolean",
         "desc" : "contents are an iframe - makes showing remote sources/CSS feasible..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String/Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required] (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : ""
+        "desc" : "(center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeEl",
         "type" : "String/HTMLElement/Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badges",
         "type" : "Boolean",
         "desc" : "render the badges",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "extra classes to use",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grid",
         "type" : "Roo.bootstrap.Table",
         "desc" : "The grid for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iframe",
         "type" : "Boolean",
         "desc" : "contents are an iframe - makes showing remote sources/CSS feasible..",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String/Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required] (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "desc" : "(center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeEl",
         "type" : "String/HTMLElement/Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.bootstrap.nav.Simplebar",
         "desc" : "the toolbar at the top of the grid.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "adjustments",
         "type" : "Array",
         "desc" : "Values to <b>add</b> to the width/height when doing a {@link #fitToFrame} (default is [0, 0])",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "True to auto generate the DOM element for this panel, or a {@link Roo.DomHelper} config of the element to create",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoScroll",
         "type" : "Boolean",
         "desc" : "True to scroll overflow in this panel (use with {@link #fitToFrame})",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "background",
         "type" : "Boolean",
         "desc" : "True if the panel should not be activated when it is added (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "badges",
         "type" : "Boolean",
         "desc" : "render the badges",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
         "desc" : "True if the panel can be closed/removed",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "extra classes to use",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "content",
         "type" : "String",
         "desc" : "Raw content to fill content panel with (uses setContent on construction.)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitContainer",
         "type" : "Boolean",
         "desc" : "When using {@link #fitToFrame} and {@link #resizeEl}, you can also fit the parent container  (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fitToFrame",
         "type" : "Boolean",
         "desc" : "True for this panel to adjust its size to fit when the region resizes  (defaults to false)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iframe",
         "type" : "Boolean",
         "desc" : "contents are an iframe - makes showing remote sources/CSS feasible..",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "layout",
         "type" : "Roo.BorderLayout",
         "desc" : "The layout for this panel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadOnce",
         "type" : "Boolean",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "params",
         "type" : "String/Object",
         "desc" : "When used with {@link #url}, calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "region",
         "type" : "String",
-        "desc" : "[required] (center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "desc" : "(center|north|south|east|west) which region to put this panel on (when used with xtype constructors)",
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizeEl",
         "type" : "String/HTMLElement/Element",
         "desc" : "An element to resize if {@link #fitToFrame} is true (instead of this panel's element)",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "The title for this panel",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Toolbar",
         "desc" : "A toolbar for this panel",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "Calls {@link #setUrl} with this value",
-        "memberOf" : "Roo.bootstrap.panel.Content"
+        "memberOf" : "Roo.bootstrap.panel.Content",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "fields",
         "type" : "Array",
         "desc" : "Array of field definition objects",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "id",
         "type" : "String",
         "desc" : "Name of the property within a row object that contains a record identifier value.\nas specified to {@link Roo.data.Record#create},\nor an {@link Roo.data.Record} object\n\n\ncreated using {@link Roo.data.Record#create}.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
       {
         "name" : "autoAbort",
         "type" : "Boolean",
-        "desc" : "(Optional) Whether this request should abort any pending requests. (defaults to false)",
-        "memberOf" : ""
+        "desc" : "Whether this request should abort any pending requests. (defaults to false)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultHeaders",
         "type" : "Object",
-        "desc" : "(Optional) An object containing request headers which are added\n to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "An object containing request headers which are added\n to each request made by this object. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableCaching",
         "type" : "Boolean",
-        "desc" : "(Optional) True to add a unique cache-buster param to GET requests. (defaults to true)",
-        "memberOf" : ""
+        "desc" : "True to add a unique cache-buster param to GET requests. (defaults to true)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "extraParams",
         "type" : "Object",
-        "desc" : "(Optional) An object containing properties which are used as\nextra parameters to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "An object containing properties which are used as\nextra parameters to each request made by this object. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
-        "desc" : "(Optional) The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
-        "memberOf" : ""
+        "desc" : "The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
-        "desc" : "(Optional) The timeout in milliseconds to be used for requests. (defaults to 30000)",
-        "memberOf" : ""
+        "desc" : "The timeout in milliseconds to be used for requests. (defaults to 30000)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
-        "desc" : "(Optional) The default URL to be used for requests to the server. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "The default URL to be used for requests to the server. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "transactionId",
             "type" : "Number",
-            "desc" : "(Optional) defaults to the last transaction",
+            "desc" : "defaults to the last transaction",
             "isOptional" : false
           }
         ],
           {
             "name" : "transactionId",
             "type" : "Number",
-            "desc" : "(Optional) defaults to the last transaction",
+            "desc" : "defaults to the last transaction",
             "isOptional" : false
           }
         ],
           {
             "name" : "options",
             "type" : "Object",
-            "desc" : "An object which may contain the following properties:<ul>\n<li><b>url</b> {String} (Optional) The URL to which to send the request. Defaults to configured URL</li>\n<li><b>params</b> {Object/String/Function} (Optional) An object containing properties which are used as parameters to the\nrequest, a url encoded string or a function to call to get either.</li>\n<li><b>method</b> {String} (Optional) The HTTP method to use for the request. Defaults to the configured method, or\nif no method was configured, \"GET\" if no parameters are being sent, and \"POST\" if parameters are being sent.</li>\n<li><b>callback</b> {Function} (Optional) The function to be called upon receipt of the HTTP response.\nThe callback is called regardless of success or failure and is passed the following parameters:<ul>\n<li>options {Object} The parameter to the request call.</li>\n<li>success {Boolean} True if the request succeeded.</li>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n</ul></li>\n<li><b>success</b> {Function} (Optional) The function to be called upon success of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>failure</b> {Function} (Optional) The function to be called upon failure of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>scope</b> {Object} (Optional) The scope in which to execute the callbacks: The \"this\" object\nfor the callback function. Defaults to the browser window.</li>\n<li><b>form</b> {Object/String} (Optional) A form object or id to pull parameters from.</li>\n<li><b>isUpload</b> {Boolean} (Optional) True if the form object is a file upload (will usually be automatically detected).</li>\n<li><b>headers</b> {Object} (Optional) Request headers to set for the request.</li>\n<li><b>xmlData</b> {Object} (Optional) XML document to use for the post. Note: This will be used instead of\nparams for the post data. Any params will be appended to the URL.</li>\n<li><b>disableCaching</b> {Boolean} (Optional) True to add a unique cache-buster param to GET requests.</li>\n</ul>",
+            "desc" : "An object which may contain the following properties:<ul>\n<li><b>url</b> {String}  The URL to which to send the request. Defaults to configured URL</li>\n<li><b>params</b> {Object/String/Function}  An object containing properties which are used as parameters to the\nrequest, a url encoded string or a function to call to get either.</li>\n<li><b>method</b> {String}  The HTTP method to use for the request. Defaults to the configured method, or\nif no method was configured, \"GET\" if no parameters are being sent, and \"POST\" if parameters are being sent.</li>\n<li><b>callback</b> {Function}  The function to be called upon receipt of the HTTP response.\nThe callback is called regardless of success or failure and is passed the following parameters:<ul>\n<li>options {Object} The parameter to the request call.</li>\n<li>success {Boolean} True if the request succeeded.</li>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n</ul></li>\n<li><b>success</b> {Function}  The function to be called upon success of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>failure</b> {Function}  The function to be called upon failure of the request.\nThe callback is passed the following parameters:<ul>\n<li>response {Object} The XMLHttpRequest object containing the response data.</li>\n<li>options {Object} The parameter to the request call.</li>\n</ul></li>\n<li><b>scope</b> {Object}  The scope in which to execute the callbacks: The \"this\" object\nfor the callback function. Defaults to the browser window.</li>\n<li><b>form</b> {Object/String}  A form object or id to pull parameters from.</li>\n<li><b>isUpload</b> {Boolean}  True if the form object is a file upload (will usually be automatically detected).</li>\n<li><b>headers</b> {Object}  Request headers to set for the request.</li>\n<li><b>xmlData</b> {Object}  XML document to use for the post. Note: This will be used instead of\nparams for the post data. Any params will be appended to the URL.</li>\n<li><b>disableCaching</b> {Boolean}  True to add a unique cache-buster param to GET requests.</li>\n</ul>",
             "isOptional" : false
           }
         ],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "autoAbort",
         "type" : "Boolean",
-        "desc" : "(Optional) Whether this request should abort any pending requests. (defaults to false)",
-        "memberOf" : ""
+        "desc" : "Whether this request should abort any pending requests. (defaults to false)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultHeaders",
         "type" : "Object",
-        "desc" : "(Optional) An object containing request headers which are added\n to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "An object containing request headers which are added\n to each request made by this object. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableCaching",
         "type" : "Boolean",
-        "desc" : "(Optional) True to add a unique cache-buster param to GET requests. (defaults to true)",
-        "memberOf" : ""
+        "desc" : "True to add a unique cache-buster param to GET requests. (defaults to true)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "extraParams",
         "type" : "Object",
-        "desc" : "(Optional) An object containing properties which are used as\nextra parameters to each request made by this object. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "An object containing properties which are used as\nextra parameters to each request made by this object. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
-        "desc" : "(Optional) The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
-        "memberOf" : ""
+        "desc" : "The default HTTP method to be used for requests. (defaults to undefined; if not set but parms are present will use POST, otherwise GET)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
-        "desc" : "(Optional) The timeout in milliseconds to be used for requests. (defaults to 30000)",
-        "memberOf" : ""
+        "desc" : "The timeout in milliseconds to be used for requests. (defaults to 30000)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
-        "desc" : "(Optional) The default URL to be used for requests to the server. (defaults to undefined)",
-        "memberOf" : ""
+        "desc" : "The default URL to be used for requests to the server. (defaults to undefined)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "fields",
         "type" : "Array",
         "desc" : "Array of field definition objects",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "id",
         "type" : "String",
         "desc" : "Name of the property within a row object that contains a record identifier value.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "root",
         "type" : "String",
         "desc" : "name of the property which contains the Array of row objects.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "successProperty",
         "type" : "String",
         "desc" : "Name of the property from which to retrieve the success attribute used by forms.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "totalProperty",
         "type" : "String",
         "desc" : "Name of the property from which to retrieve the total number of records\nin the dataset. This is only needed if the whole dataset is not passed in one go, but is being\npaged from the remote server.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "An object containing properties which are to be sent as parameters\non any HTTP request",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "data",
         "type" : "Array",
         "desc" : "Inline data to be loaded when the store is initialized.",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fields",
         "type" : "Array",
         "desc" : "An array of field definition objects, or field name strings.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isLocal",
         "type" : "boolean",
         "desc" : "flag if data is locally available (and can be always looked up\nwithout a remote query - used by combo/forms at present.",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiSort",
         "type" : "Boolean",
         "desc" : "enable multi column sorting (sort is based on the order of columns, remote only at present)",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "proxy",
         "type" : "Roo.data.DataProxy",
-        "desc" : "[required] The Proxy object which provides access to a data object.",
-        "memberOf" : "Roo.data.Store"
+        "desc" : "The Proxy object which provides access to a data object.",
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pruneModifiedRecords",
         "type" : "boolean",
         "desc" : "True to clear all modified record information each time the store is\nloaded or when a record is removed. (defaults to false).",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "reader",
         "type" : "Roo.data.DataReader",
-        "desc" : "[required]  The Reader object which processes the data object and returns\nan Array of Roo.data.record objects which are cached keyed by their <em>id</em> property.",
-        "memberOf" : "Roo.data.Store"
+        "desc" : "The Reader object which processes the data object and returns\nan Array of Roo.data.record objects which are cached keyed by their <em>id</em> property.",
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "remoteSort",
         "type" : "boolean",
         "desc" : "True if sorting is to be handled by requesting the Proxy to provide a refreshed\nversion of the data object in sorted order, as opposed to sorting the Record cache in place (defaults to false).",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortInfo",
         "type" : "Object",
         "desc" : "A config object in the format: {field: \"fieldName\", direction: \"ASC|DESC\"}",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "append",
             "type" : "Boolean",
-            "desc" : "(Optional) True to append the new Records rather than replace the existing cache.",
+            "desc" : "True to append the new Records rather than replace the existing cache.",
             "isOptional" : false
           }
         ],
         "name" : "id",
         "type" : "String",
         "desc" : "The id for this node. If one is not specified, one is generated.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "leaf",
         "type" : "Boolean",
         "desc" : "true if this node is a leaf and does not have children",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "o",
             "type" : "Array",
-            "desc" : "An Array of field definition objects which specify field names, and optionally,\ndata types, and a mapping for an {@link Roo.data.Reader} to extract the field's value from a data object.\nEach field definition object may contain the following properties: <ul>\n<li><b>name</b> : String<p style=\"margin-left:1em\">The name by which the field is referenced within the Record. This is referenced by,\nfor example the <em>dataIndex</em> property in column definition objects passed to {@link Roo.grid.ColumnModel}</p></li>\n<li><b>mapping</b> : String<p style=\"margin-left:1em\">(Optional) A path specification for use by the {@link Roo.data.Reader} implementation\nthat is creating the Record to access the data value from the data object. If an {@link Roo.data.JsonReader}\nis being used, then this is a string containing the javascript expression to reference the data relative to \nthe record item's root. If an {@link Roo.data.XmlReader} is being used, this is an {@link Roo.DomQuery} path\nto the data item relative to the record element. If the mapping expression is the same as the field name,\nthis may be omitted.</p></li>\n<li><b>type</b> : String<p style=\"margin-left:1em\">(Optional) The data type for conversion to displayable value. Possible values are\n<ul><li>auto (Default, implies no conversion)</li>\n<li>string</li>\n<li>int</li>\n<li>float</li>\n<li>boolean</li>\n<li>date</li></ul></p></li>\n<li><b>sortType</b> : Mixed<p style=\"margin-left:1em\">(Optional) A member of {@link Roo.data.SortTypes}.</p></li>\n<li><b>sortDir</b> : String<p style=\"margin-left:1em\">(Optional) Initial direction to sort. \"ASC\" or \"DESC\"</p></li>\n<li><b>convert</b> : Function<p style=\"margin-left:1em\">(Optional) A function which converts the value provided\nby the Reader into an object that will be stored in the Record. It is passed the\nfollowing parameters:<ul>\n<li><b>v</b> : Mixed<p style=\"margin-left:1em\">The data value as read by the Reader.</p></li>\n</ul></p></li>\n<li><b>dateFormat</b> : String<p style=\"margin-left:1em\">(Optional) A format String for the Date.parseDate function.</p></li>\n</ul>\n<br>usage:<br><pre><code>\nvar TopicRecord = Roo.data.Record.create(\n    {name: 'title', mapping: 'topic_title'},\n    {name: 'author', mapping: 'username'},\n    {name: 'totalPosts', mapping: 'topic_replies', type: 'int'},\n    {name: 'lastPost', mapping: 'post_time', type: 'date'},\n    {name: 'lastPoster', mapping: 'user2'},\n    {name: 'excerpt', mapping: 'post_text'}\n);\n\nvar myNewRecord = new TopicRecord({\n    title: 'Do my job please',\n    author: 'noobie',\n    totalPosts: 1,\n    lastPost: new Date(),\n    lastPoster: 'Animal',\n    excerpt: 'No way dude!'\n});\nmyStore.add(myNewRecord);\n</code></pre>",
+            "desc" : "An Array of field definition objects which specify field names, and optionally,\ndata types, and a mapping for an {@link Roo.data.Reader} to extract the field's value from a data object.\nEach field definition object may contain the following properties: <ul>\n<li><b>name</b> : String<p style=\"margin-left:1em\">The name by which the field is referenced within the Record. This is referenced by,\nfor example the <em>dataIndex</em> property in column definition objects passed to {@link Roo.grid.ColumnModel}</p></li>\n<li><b>mapping</b> : String<p style=\"margin-left:1em\"> A path specification for use by the {@link Roo.data.Reader} implementation\nthat is creating the Record to access the data value from the data object. If an {@link Roo.data.JsonReader}\nis being used, then this is a string containing the javascript expression to reference the data relative to \nthe record item's root. If an {@link Roo.data.XmlReader} is being used, this is an {@link Roo.DomQuery} path\nto the data item relative to the record element. If the mapping expression is the same as the field name,\nthis may be omitted.</p></li>\n<li><b>type</b> : String<p style=\"margin-left:1em\"> The data type for conversion to displayable value. Possible values are\n<ul><li>auto (Default, implies no conversion)</li>\n<li>string</li>\n<li>int</li>\n<li>float</li>\n<li>boolean</li>\n<li>date</li></ul></p></li>\n<li><b>sortType</b> : Mixed<p style=\"margin-left:1em\"> A member of {@link Roo.data.SortTypes}.</p></li>\n<li><b>sortDir</b> : String<p style=\"margin-left:1em\"> Initial direction to sort. \"ASC\" or \"DESC\"</p></li>\n<li><b>convert</b> : Function<p style=\"margin-left:1em\"> A function which converts the value provided\nby the Reader into an object that will be stored in the Record. It is passed the\nfollowing parameters:<ul>\n<li><b>v</b> : Mixed<p style=\"margin-left:1em\">The data value as read by the Reader.</p></li>\n</ul></p></li>\n<li><b>dateFormat</b> : String<p style=\"margin-left:1em\"> A format String for the Date.parseDate function.</p></li>\n</ul>\n<br>usage:<br><pre><code>\nvar TopicRecord = Roo.data.Record.create(\n    {name: 'title', mapping: 'topic_title'},\n    {name: 'author', mapping: 'username'},\n    {name: 'totalPosts', mapping: 'topic_replies', type: 'int'},\n    {name: 'lastPost', mapping: 'post_time', type: 'date'},\n    {name: 'lastPoster', mapping: 'user2'},\n    {name: 'excerpt', mapping: 'post_text'}\n);\n\nvar myNewRecord = new TopicRecord({\n    title: 'Do my job please',\n    author: 'noobie',\n    totalPosts: 1,\n    lastPost: new Date(),\n    lastPoster: 'Animal',\n    excerpt: 'No way dude!'\n});\nmyStore.add(myNewRecord);\n</code></pre>",
             "isOptional" : false
           }
         ],
       {
         "name" : "callbackParam",
         "type" : "String",
-        "desc" : "(Optional) The name of the parameter to pass to the server which tells\nthe server the name of the callback function set up by the load call to process the returned data object.\nDefaults to \"callback\".<p>The server-side processing must read this parameter value, and generate\njavascript output which calls this named function passing the data object as its only parameter.",
-        "memberOf" : ""
+        "desc" : "The name of the parameter to pass to the server which tells\nthe server the name of the callback function set up by the load call to process the returned data object.\nDefaults to \"callback\".<p>The server-side processing must read this parameter value, and generate\njavascript output which calls this named function passing the data object as its only parameter.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nocache",
         "type" : "Boolean",
-        "desc" : "(Optional) Defaults to true. Disable cacheing by adding a unique parameter\nname to the request.",
-        "memberOf" : ""
+        "desc" : "Defaults to true. Disable cacheing by adding a unique parameter\nname to the request.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
-        "desc" : "(Optional) The number of milliseconds to wait for a response. Defaults to 30 seconds.",
-        "memberOf" : ""
+        "desc" : "The number of milliseconds to wait for a response. Defaults to 30 seconds.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The URL from which to request the data object.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "an",
         "type" : "Object",
         "desc" : "existing reader (eg. copied from another store)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "An object containing properties which are to be sent as parameters\non any HTTP request",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "data",
         "type" : "Array",
         "desc" : "The multi-dimensional array of data",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fields",
         "type" : "Array",
         "desc" : "An array of field definition objects, or field name strings.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "id",
         "type" : "Number",
         "desc" : "The array index of the record id. Leave blank to auto generate ids.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isLocal",
         "type" : "boolean",
         "desc" : "flag if data is locally available (and can be always looked up\nwithout a remote query - used by combo/forms at present.",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiSort",
         "type" : "Boolean",
         "desc" : "enable multi column sorting (sort is based on the order of columns, remote only at present)",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "proxy",
         "type" : "Roo.data.DataProxy",
         "desc" : "[not-required]",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pruneModifiedRecords",
         "type" : "boolean",
         "desc" : "True to clear all modified record information each time the store is\nloaded or when a record is removed. (defaults to false).",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "reader",
         "type" : "Roo.data.Reader",
         "desc" : "[not-required]",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "remoteSort",
         "type" : "boolean",
         "desc" : "True if sorting is to be handled by requesting the Proxy to provide a refreshed\nversion of the data object in sorted order, as opposed to sorting the Record cache in place (defaults to false).",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortInfo",
         "type" : "Object",
         "desc" : "A config object in the format: {field: \"fieldName\", direction: \"ASC|DESC\"}",
-        "memberOf" : "Roo.data.Store"
+        "memberOf" : "Roo.data.Store",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "append",
             "type" : "Boolean",
-            "desc" : "(Optional) True to append the new Records rather than replace the existing cache.",
+            "desc" : "True to append the new Records rather than replace the existing cache.",
             "isOptional" : false
           }
         ],
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "An object containing properties which are to be sent as parameters\non any HTTP request",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "data",
         "type" : "Array",
         "desc" : "Inline data to be loaded when the store is initialized.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "isLocal",
         "type" : "boolean",
         "desc" : "flag if data is locally available (and can be always looked up\nwithout a remote query - used by combo/forms at present.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "multiSort",
         "type" : "Boolean",
         "desc" : "enable multi column sorting (sort is based on the order of columns, remote only at present)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "proxy",
         "type" : "Roo.data.DataProxy",
-        "desc" : "[required] The Proxy object which provides access to a data object.",
-        "memberOf" : ""
+        "desc" : "The Proxy object which provides access to a data object.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pruneModifiedRecords",
         "type" : "boolean",
         "desc" : "True to clear all modified record information each time the store is\nloaded or when a record is removed. (defaults to false).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "reader",
         "type" : "Roo.data.DataReader",
-        "desc" : "[required]  The Reader object which processes the data object and returns\nan Array of Roo.data.record objects which are cached keyed by their <em>id</em> property.",
-        "memberOf" : ""
+        "desc" : "The Reader object which processes the data object and returns\nan Array of Roo.data.record objects which are cached keyed by their <em>id</em> property.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "remoteSort",
         "type" : "boolean",
         "desc" : "True if sorting is to be handled by requesting the Proxy to provide a refreshed\nversion of the data object in sorted order, as opposed to sorting the Record cache in place (defaults to false).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortInfo",
         "type" : "Object",
         "desc" : "A config object in the format: {field: \"fieldName\", direction: \"ASC|DESC\"}",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
           {
             "name" : "append",
             "type" : "Boolean",
-            "desc" : "(Optional) True to append the new Records rather than replace the existing cache.",
+            "desc" : "True to append the new Records rather than replace the existing cache.",
             "isOptional" : false
           }
         ],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "id",
         "type" : "String",
         "desc" : "The DomQuery path relative from the record element to the element that contains\na record identifier value.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "record",
         "type" : "String",
         "desc" : "The DomQuery path to the repeated element which contains record information.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "success",
         "type" : "String",
         "desc" : "The DomQuery path to the success attribute used by forms.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "totalRecords",
         "type" : "String",
         "desc" : "The DomQuery path from which to retrieve the total number of records\nin the dataset. This is only needed if the whole dataset is not passed in one go, but is being\npaged from the remote server.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "dropAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is allowed (defaults to \"x-dd-drop-ok\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropNotAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is not allowed (defaults to \"x-dd-drop-nodrop\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "containerScroll",
         "type" : "Boolean",
         "desc" : "True to register this container with the Scrollmanager\nfor auto scrolling during drag operations.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is allowed (defaults to \"x-dd-drop-ok\").",
-        "memberOf" : "Roo.dd.DragSource"
+        "memberOf" : "Roo.dd.DragSource",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropNotAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is not allowed (defaults to \"x-dd-drop-nodrop\").",
-        "memberOf" : "Roo.dd.DragSource"
+        "memberOf" : "Roo.dd.DragSource",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hlColor",
         "type" : "String",
         "desc" : "The color to use when visually highlighting the drag source in the afterRepair\nmethod after a failed drop (defaults to \"c3daf9\" - light blue)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "The drag drop group to handle drop events for",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is allowed (defaults to \"x-dd-drop-ok\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropNotAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is not allowed (defaults to \"x-dd-drop-nodrop\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "overClass",
         "type" : "String",
         "desc" : "The CSS class applied to the drop target element while the drag source is over it (defaults to \"\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "success",
         "type" : "boolean",
         "desc" : "set this after drop listener..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valid",
         "type" : "boolean|String",
         "desc" : "true/false or string (ok-add/ok-sub/ok/nodrop)\nif the drop point is valid for over/enter..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "The drag drop group to handle drop events for",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is allowed (defaults to \"x-dd-drop-ok\").",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropNotAllowed",
         "type" : "String",
         "desc" : "The CSS class returned to the drag source when drop is not allowed (defaults to \"x-dd-drop-nodrop\").",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "overClass",
         "type" : "String",
         "desc" : "The CSS class applied to the drop target element while the drag source is over it (defaults to \"\").",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "success",
         "type" : "boolean",
         "desc" : "set this after drop listener..",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valid",
         "type" : "boolean|String",
         "desc" : "true/false or string (ok-add/ok-sub/ok/nodrop)\nif the drop point is valid for over/enter..",
-        "memberOf" : "Roo.dd.DropTarget"
+        "memberOf" : "Roo.dd.DropTarget",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "dropAllowed",
         "type" : "String",
         "desc" : "The CSS class to apply to the status element when drop is allowed (defaults to \"x-dd-drop-ok\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropNotAllowed",
         "type" : "String",
         "desc" : "The CSS class to apply to the status element when drop is not allowed (defaults to \"x-dd-drop-nodrop\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorMask",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "errorReader",
         "type" : "DataReader",
         "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when reading validation errors on \"submit\" actions.\nThis is completely optional as there is built-in support for processing JSON.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fileUpload",
         "type" : "Boolean",
         "desc" : "Set to true if this form is a file upload.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskOffset",
         "type" : "Number",
         "desc" : "Default 100",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
         "desc" : "The request method to use (GET or POST) for form actions if one isn't supplied in the action options.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "reader",
         "type" : "DataReader",
         "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when executing \"load\" actions.\nThis is optional as there is built-in support for processing JSON.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
         "desc" : "Timeout for form actions in seconds (default is 30 seconds).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackResetOnLoad",
         "type" : "Boolean",
         "desc" : "If set to true, form.reset() resets to the last loaded\nor setValues() data instead of when the form was first created.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The URL to use for form actions if one isn't supplied in the action options.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxLabel",
         "type" : "String",
         "desc" : "The text that appears beside the checkbox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "True if the the checkbox should render already checked (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputValue",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value attribute",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueOff",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value when unchecked.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec used to autocreate the column (defaults to {tag: 'div', cls: 'x-form-ct x-form-column'})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clear",
         "type" : "Boolean",
         "desc" : "True to add a clearing element at the end of this layout, equivalent to CSS clear: both (defaults to true)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideLabels",
         "type" : "Boolean",
         "desc" : "True to suppress the display of field labels in this layout (defaults to false)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\")",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelSeparator",
         "type" : "String",
         "desc" : "The separator to use after field labels (defaults to ':')",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "Fixed width in pixels of all field labels (defaults to undefined)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String/Object/Function",
         "desc" : "A style specification string, e.g. \"width:100px\", or object in the form {width:\"100px\"}, or\na function which returns such a specification.",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number/String",
         "desc" : "The fixed width of the column in pixels or CSS value (defaults to \"auto\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "transform",
         "type" : "String/HTMLElement/Element",
         "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "combo",
         "type" : "Roo.form.ComboBox",
-        "desc" : "[required] The combo box that is wrapped",
-        "memberOf" : ""
+        "desc" : "The combo box that is wrapped",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum width to allow when grow = true (defaults to 800)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum width to allow when grow = true (defaults to 30)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "The hidden name of the field, often contains an comma seperated list of names",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The name of the visable items on this form (eg. titles not ids)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "seperator",
         "type" : "String",
         "desc" : "The value seperator normally ','",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "The width of the box that displays the selected element",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "transform",
         "type" : "String/HTMLElement/Element",
         "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "transform",
         "type" : "String/HTMLElement/Element",
         "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : "Roo.form.ComboBox"
+        "memberOf" : "Roo.form.ComboBox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "altFormats",
         "type" : "String",
         "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDates",
         "type" : "Array",
         "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n<ul>\n<li>[\"03/08/2003\", \"09/16/2003\"] would disable those exact dates</li>\n<li>[\"03/08\", \"09/16\"] would disable those days for every year</li>\n<li>[\"^03/08\"] would only match the beginning (useful if you are using short years)</li>\n<li>[\"03/../2006\"] would disable every day in March 2006</li>\n<li>[\"^03\"] would disable every day in every March</li>\n</ul>\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDatesText",
         "type" : "String",
         "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDays",
         "type" : "Array",
         "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDaysText",
         "type" : "String",
         "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "format",
         "type" : "String",
         "desc" : "The default date format string which can be overriden for localization support.  The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxText",
         "type" : "String",
         "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxValue",
         "type" : "Date/String",
         "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minValue",
         "type" : "Date/String",
         "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "useIso",
         "type" : "Boolean",
         "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "zeroValue",
         "type" : "Date/String",
         "desc" : "if the date is less that this number, then the field is rendered as empty\ndefault is 1800",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "closable",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : ""
+        "desc" : "e) default fal",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueRenderer",
         "type" : "Function",
         "desc" : "The renderer for the field (so you can reformat output). should return raw HTML",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.TextArea"
+        "memberOf" : "Roo.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fck",
         "type" : "Object",
         "desc" : "BasePath",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum height to allow when grow = true (defaults to 1000)",
-        "memberOf" : "Roo.form.TextArea"
+        "memberOf" : "Roo.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum height to allow when grow = true (defaults to 60)",
-        "memberOf" : "Roo.form.TextArea"
+        "memberOf" : "Roo.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventScrollbars",
         "type" : "Boolean",
         "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)",
-        "memberOf" : "Roo.form.TextArea"
+        "memberOf" : "Roo.form.TextArea",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec used to autocreate the fieldset (defaults to {tag: 'fieldset', cn: {tag:'legend'}})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clear",
         "type" : "Boolean",
         "desc" : "True to add a clearing element at the end of this layout, equivalent to CSS clear: both (defaults to true)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideLabels",
         "type" : "Boolean",
         "desc" : "True to suppress the display of field labels in this layout (defaults to false)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\")",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelSeparator",
         "type" : "String",
         "desc" : "The separator to use after field labels (defaults to ':')",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "Fixed width in pixels of all field labels (defaults to undefined)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "legend",
         "type" : "String",
         "desc" : "The text to display as the legend for the FieldSet (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String/Object/Function",
         "desc" : "A style specification string, e.g. \"width:100px\", or object in the form {width:\"100px\"}, or\na function which returns such a specification.",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "Parameters to pass with all requests. e.g. baseParams: {id: '123', foo: 'bar'}.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttonAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"center\" and \"right\" (defaults to \"center\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "buttons[]",
         "type" : "Roo.Button",
         "desc" : "buttons at bottom of form",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "errorMask",
         "type" : "Boolean",
-        "desc" : "e) default false",
-        "memberOf" : "Roo.form.BasicForm"
+        "desc" : "e) default fal",
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : [
+          "true",
+          "false"
+        ]
       },
       {
         "name" : "errorReader",
         "type" : "DataReader",
         "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when reading validation errors on \"submit\" actions.\nThis is completely optional as there is built-in support for processing JSON.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fileUpload",
         "type" : "Boolean",
         "desc" : "Set to true if this form is a file upload.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "formData",
         "type" : "boolean|FormData",
         "desc" : "- true to use new 'FormData' post, or set to a new FormData({dom form}) Object, if\nsending a formdata with extra parameters - eg uploaded elements.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "A css class to apply to the x-form-item of fields. This property cascades to child containers.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\").\nThis property cascades to child containers if not set.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "The width of labels. This property cascades to child containers.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskOffset",
         "type" : "Number",
         "desc" : "Default 100",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "method",
         "type" : "String",
         "desc" : "The request method to use (GET or POST) for form actions if one isn't supplied in the action options.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minButtonWidth",
         "type" : "Number",
         "desc" : "Minimum width of all buttons in pixels (defaults to 75)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorPoll",
         "type" : "Number",
         "desc" : "The milliseconds to poll valid state, ignored if monitorValid is not true (defaults to 200)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorValid",
         "type" : "Boolean",
         "desc" : "If true the form monitors its valid state <b>client-side</b> and\nfires a looping event with that state. This is required to bind buttons to the valid\nstate using the config value formBind:true on the button.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "progressUrl",
         "type" : "String",
         "desc" : "- Url to return progress data",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "reader",
         "type" : "DataReader",
         "desc" : "An Roo.data.DataReader (e.g. {@link Roo.data.XmlReader}) to be used to read data when executing \"load\" actions.\nThis is optional as there is built-in support for processing JSON.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "timeout",
         "type" : "Number",
         "desc" : "Timeout for form actions in seconds (default is 30 seconds).",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackResetOnLoad",
         "type" : "Boolean",
         "desc" : "If set to true, form.reset() resets to the last loaded\nor setValues() data instead of when the form was first created.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "url",
         "type" : "String",
         "desc" : "The URL to use for form actions if one isn't supplied in the action options.",
-        "memberOf" : "Roo.form.BasicForm"
+        "memberOf" : "Roo.form.BasicForm",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "addTitle",
         "type" : "String",
         "desc" : "Text to include for adding a title.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "- used to restrict height of grid..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "- used to restrict width of grid..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xgrid",
         "type" : "Object",
         "desc" : "(xtype'd description of grid) { xtype : 'Grid', dataSource: .... }\n\n}",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum width to allow when grow = true (defaults to 800)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum width to allow when grow = true (defaults to 30)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowComments",
         "type" : "boolean",
         "desc" : "- default false - allow comments in HTML source - by default they are stripped - if you are editing email you may need this.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoClean",
         "type" : "boolean",
         "desc" : "- default true - loading and saving will remove quite a bit of formating,\n        if you are doing an email editor, this probably needs disabling, it's designed",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blacklist",
         "type" : "Array",
         "desc" : "of html tags - in addition to standard blacklist.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "bodyCls",
         "type" : "string",
         "desc" : "default '' default classes to add to body of editable area - usually undoreset is a good start..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clearUp",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableBlocks",
         "type" : "boolean",
         "desc" : "- default true - if the block editor (table and figure should be enabled)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "language",
         "type" : "String",
         "desc" : "default en - language of text (usefull for rtl languages)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "String",
         "desc" : "'s' or 'se' or 'e' - wrapps the element in a\n                       Roo.resizable.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stylesheets",
         "type" : "Array",
         "desc" : "url of stylesheets. set to [] to disable stylesheets - this is usally a good idea  rootURL + '/roojs1/css/undoreset.css',   .",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbars",
         "type" : "Array",
         "desc" : "Array of toolbars. - defaults to just the Standard one",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "whitelist",
         "type" : "Array",
         "desc" : "of html tags - in addition to statndard whitelist",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "(in pixels)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "disable",
         "type" : "Object",
         "desc" : "List of toolbar elements to disable",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "styles",
         "type" : "Object",
         "desc" : "List of styles \n   eg. { '*' : [ 'headline' ] , 'TD' : [ 'underline', 'double-underline' ] } \n\nThese must be defined in the page, so they get rendered correctly..\n.headline { }\nTD.underline { }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "btns[]",
         "type" : "Roo.Toolbar.Item|Roo.Toolbar.Button|Roo.Toolbar.SplitButton|Roo.form.Field",
         "desc" : "List of additional buttons.\n\n\nNEEDS Extra CSS? \n.x-html-editor-tb .x-edit-none .x-btn-text { background: none; }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "createLinkText",
         "type" : "String",
         "desc" : "The default text for the create link prompt",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultFont",
         "type" : "String",
         "desc" : "default font to use.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultLinkValue",
         "type" : "String",
         "desc" : "The default value for the create link prompt (defaults to http:/ /)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disable",
         "type" : "Object",
         "desc" : "List of elements to disable..",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fontFamilies",
         "type" : "Array",
         "desc" : "An array of available font families",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec used to autocreate the layout (defaults to {tag: 'div', cls: 'x-form-ct'})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clear",
         "type" : "Boolean",
         "desc" : "True to add a clearing element at the end of this layout, equivalent to CSS clear: both (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideLabels",
         "type" : "Boolean",
         "desc" : "True to suppress the display of field labels in this layout (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelSeparator",
         "type" : "String",
         "desc" : "The separator to use after field labels (defaults to ':')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "Fixed width in pixels of all field labels (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String/Object/Function",
         "desc" : "A style specification string, e.g. \"width:100px\", or object in the form {width:\"100px\"}, or\na function which returns such a specification.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "altFormats",
         "type" : "String",
         "desc" : "Multiple date formats separated by \"|\" to try when parsing a user input value and it doesn't match the defined\nformat (defaults to 'm/d/Y|m-d-y|m-d-Y|m/d|m-d|d').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"10\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDates",
         "type" : "Array",
         "desc" : "An array of \"dates\" to disable, as strings. These strings will be used to build a dynamic regular\nexpression so they are very powerful. Some examples:\n<ul>\n<li>[\"03/08/2003\", \"09/16/2003\"] would disable those exact dates</li>\n<li>[\"03/08\", \"09/16\"] would disable those days for every year</li>\n<li>[\"^03/08\"] would only match the beginning (useful if you are using short years)</li>\n<li>[\"03/../2006\"] would disable every day in March 2006</li>\n<li>[\"^03\"] would disable every day in every March</li>\n</ul>\nIn order to support regular expressions, if you are using a date format that has \".\" in it, you will have to\nescape the dot when restricting dates. For example: [\"03\\\\.08\\\\.03\"].",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDatesText",
         "type" : "String",
         "desc" : "The tooltip text to display when the date falls on a disabled date (defaults to 'Disabled')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDays",
         "type" : "Array",
         "desc" : "An array of days to disable, 0 based. For example, [0, 6] disables Sunday and Saturday (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabledDaysText",
         "type" : "String",
         "desc" : "The tooltip to display when the date falls on a disabled day (defaults to 'Disabled')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "format",
         "type" : "String",
         "desc" : "The default date format string which can be overriden for localization support.  The format must be\nvalid according to {@link Date#parseDate} (defaults to 'm/d/y').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to display when the date in the field is invalid (defaults to\n'{value} is not a valid date - it must be in the format {format}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxTextf",
         "type" : "String",
         "desc" : "The error text to display when the date in the cell is after maxValue (defaults to\n'The date in this field must be before {maxValue}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxValue",
         "type" : "Date/String",
         "desc" : "The maximum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "The error text to display when the date in the cell is before minValue (defaults to\n'The date in this field must be after {minValue}').",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minValue",
         "type" : "Date/String",
         "desc" : "The minimum allowed date. Can be either a Javascript date object or a string date in a\nvalid format (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-date-trigger'\nwhich displays a calendar icon).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "useIso",
         "type" : "Boolean",
         "desc" : "if enabled, then the date field will use a hidden field to store the \nreal value as iso formated date. default (true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDecimals",
         "type" : "Boolean",
         "desc" : "False to disallow decimal values (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowNegative",
         "type" : "Boolean",
         "desc" : "False to prevent entering a negative sign (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalPrecision",
         "type" : "Number",
         "desc" : "The maximum precision to display after the decimal separator (defaults to 2)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "decimalSeparator",
         "type" : "String",
         "desc" : "Character(s) to allow as the decimal separator (defaults to '.')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field x-form-num-field\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum width to allow when grow = true (defaults to 800)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum width to allow when grow = true (defaults to 30)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxText",
         "type" : "String",
         "desc" : "Error text to display if the maximum value validation fails (defaults to \"The maximum value for this field is {maxValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxValue",
         "type" : "Number",
         "desc" : "The maximum allowed value (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minText",
         "type" : "String",
         "desc" : "Error text to display if the minimum value validation fails (defaults to \"The minimum value for this field is {minValue}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minValue",
         "type" : "Number",
         "desc" : "The minimum allowed value (defaults to Number.NEGATIVE_INFINITY)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "nanText",
         "type" : "String",
         "desc" : "Error text to display if the value is not a valid number.  For example, this can happen\nif a valid character like '.' or '-' is left in the field with no number (defaults to \"{value} is not a valid number\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"checkbox\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "boxLabel",
         "type" : "String",
         "desc" : "The text that appears beside the checkbox",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "True if the the checkbox should render already checked (defaults to false)",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the checkbox (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the checkbox receives focus (defaults to undefined)",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputValue",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value attribute",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueOff",
         "type" : "String",
         "desc" : "The value that should go into the generated input element's value when unchecked.",
-        "memberOf" : "Roo.form.Checkbox"
+        "memberOf" : "Roo.form.Checkbox",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec used to autocreate the layout (defaults to {tag: 'div', cls: 'x-form-ct'})",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clear",
         "type" : "Boolean",
         "desc" : "True to add a clearing element at the end of this layout, equivalent to CSS clear: both (defaults to true)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number/String",
         "desc" : "The fixed height of the column in pixels or CSS value (defaults to \"auto\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideLabels",
         "type" : "Boolean",
         "desc" : "True to suppress the display of field labels in this layout (defaults to false)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "labelAlign",
         "type" : "String",
         "desc" : "Valid values are \"left,\" \"top\" and \"right\" (defaults to \"left\")",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelSeparator",
         "type" : "String",
         "desc" : "The separator to use after field labels (defaults to ':')",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labelWidth",
         "type" : "Number",
         "desc" : "Fixed width in pixels of all field labels (defaults to undefined)",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "style",
         "type" : "String/Object/Function",
         "desc" : "A style specification string, e.g. \"width:100px\", or object in the form {width:\"100px\"}, or\na function which returns such a specification.",
-        "memberOf" : "Roo.form.Layout"
+        "memberOf" : "Roo.form.Layout",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number/String",
         "desc" : "The fixed width of the column in pixels or CSS value (defaults to \"auto\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allQuery",
         "type" : "String",
         "desc" : "The text query to send to the server to return all records for the list with no filtering (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alwaysQuery",
         "type" : "Boolean",
         "desc" : "Disable caching of results, and always send query",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "Boolean/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to:\n{tag: \"input\", type: \"text\", size: \"24\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blockFocus",
         "type" : "Boolean",
         "desc" : "Prevents all focus calls, so it can work with things like HTML edtor bar",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultValue",
         "type" : "String",
         "desc" : "The value displayed after loading the store.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClear",
         "type" : "Boolean",
         "desc" : "Disable showing of clear button.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "displayField",
         "type" : "String",
         "desc" : "The underlying data field name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'text' if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editable",
         "type" : "Boolean",
         "desc" : "False to prevent the user from typing text directly into the field, just like a\ntraditional select (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "forceSelection",
         "type" : "Boolean",
         "desc" : "True to restrict the selected value to one of the values in the list, false to\nallow the user to set arbitrary text into the field (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handleHeight",
         "type" : "Number",
         "desc" : "The height in pixels of the dropdown list resize handle if resizable = true (defaults to 8)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hiddenName",
         "type" : "String",
         "desc" : "If specified, a hidden form field with this name is dynamically generated to store the\nfield's data value (defaults to the underlying DOM element's name)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : "Roo.form.TriggerField"
+        "memberOf" : "Roo.form.TriggerField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lazyRender",
         "type" : "Boolean",
         "desc" : "True to prevent the ComboBox from rendering until requested (should always be used when\nrendering into an Roo.Editor, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listAlign",
         "type" : "String",
         "desc" : "A valid anchor position value. See {@link Roo.Element#alignTo} for details on supported\nanchor positions (defaults to 'tl-bl')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listClass",
         "type" : "String",
         "desc" : "CSS class to apply to the dropdown list element (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listWidth",
         "type" : "Number",
         "desc" : "The width in pixels of the dropdown list (defaults to the width of the ComboBox field)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadingText",
         "type" : "String",
         "desc" : "The text to display in the dropdown list while data is loading.  Only applies\nwhen mode = 'remote' (defaults to 'Loading...')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "The maximum height in pixels of the dropdown list before scrollbars are shown (defaults to 300)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minChars",
         "type" : "Number",
         "desc" : "The minimum number of characters the user must type before autocomplete and typeahead activate\n(defaults to 4, does not apply if editable = false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minListWidth",
         "type" : "Number",
         "desc" : "The minimum width of the dropdown list in pixels (defaults to 70, will be ignored if\nlistWidth has a higher value)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mode",
         "type" : "String",
         "desc" : "Set to 'local' if the ComboBox loads local data (defaults to 'remote' which loads from the server)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pageSize",
         "type" : "Number",
         "desc" : "If greater than 0, a paging toolbar is displayed in the footer of the dropdown list and the\nfilter queries will execute with page start and limit parameters.  Only applies when mode = 'remote' (defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to delay between the start of typing and sending the\nquery to filter the dropdown list (defaults to 500 if mode = 'remote' or 10 if mode = 'local')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "Name of the query as it will be passed on the querystring (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
         "desc" : "True to add a resize handle to the bottom of the dropdown list (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to select any existing text in the field immediately on focus.  Only applies\nwhen editable = true (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectedClass",
         "type" : "String",
         "desc" : "CSS class to apply to the selected item in the dropdown list (defaults to 'x-combo-selected')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\" for bottom-right",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "store",
         "type" : "Roo.data.Store",
         "desc" : "The data store to which this combo is bound (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "title",
         "type" : "String",
         "desc" : "If supplied, a header element is created containing this text and added into the top of\nthe dropdown list (defaults to undefined, with no header element)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tpl",
         "type" : "String/Roo.Template",
         "desc" : "The template to use to render the output",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "transform",
         "type" : "String/HTMLElement/Element",
         "desc" : "The id, DOM node or element of an existing select to convert to a ComboBox",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerAction",
         "type" : "String",
         "desc" : "The action to execute when the trigger field is activated.  Use 'all' to run the\nquery specified by the allQuery config option (defaults to 'query')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' and triggerClass will be <b>appended</b> if specified (defaults to 'x-form-arrow-trigger'\nwhich displays a downward arrow icon).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAhead",
         "type" : "Boolean",
         "desc" : "True to populate and autoselect the remainder of the text being typed after a configurable\ndelay (typeAheadDelay) if it matches a known value (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "typeAheadDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds to wait until the typeahead text is displayed\nif typeAhead = true (defaults to 250)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueField",
         "type" : "String",
         "desc" : "The underlying data value name to bind to this CombBox (defaults to undefined if\nmode = 'remote' or 'value' if mode = 'local'). \nNote: use of a valueField requires the user make a selection\nin order for a value to be mapped.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valueNotFoundText",
         "type" : "String",
         "desc" : "When using a name/value combo, if the value passed to setValue is not found in\nthe store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "The signature panel height (defaults to 100)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "labels",
         "type" : "Object",
         "desc" : "Label to use when rendering a form.\ndefaults to \nlabels : { \n     clear : \"Clear\",\n     confirm : \"Confirm\"\n }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "The signature panel width (defaults to 300)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"textarea\", style: \"width:300px;height:60px;\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum height to allow when grow = true (defaults to 1000)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum height to allow when grow = true (defaults to 60)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventScrollbars",
         "type" : "Boolean",
         "desc" : "True to prevent scrollbars from appearing regardless of how much text is\nin the field (equivalent to setting overflow: hidden, defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"20\", autocomplete: \"off\"})",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "grow",
         "type" : "Boolean",
         "desc" : "True if this field should automatically grow and shrink to its content",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMax",
         "type" : "Number",
         "desc" : "The maximum width to allow when grow = true (defaults to 800)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "growMin",
         "type" : "Number",
         "desc" : "The minimum width to allow when grow = true (defaults to 30)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "the content for this item",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "String",
         "desc" : "the tag for this item (default div)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowBlank",
         "type" : "Boolean",
         "desc" : "False to validate that the value length > 0 (defaults to true)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowLeadingSpace",
         "type" : "Boolean",
         "desc" : "True to prevent the stripping of leading white space",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoCreate",
         "type" : "String/Object",
         "desc" : "A DomHelper element spec, or true for a default element spec (defaults to\n{tag: \"input\", type: \"text\", size: \"16\", autocomplete: \"off\"})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "blankText",
         "type" : "String",
         "desc" : "Error text to display if the allow blank validation fails (defaults to \"This field is required\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A CSS class to apply to the field's underlying element.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableKeyFilter",
         "type" : "Boolean",
         "desc" : "True to disable input keystroke filtering (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "True to disable the field (defaults to false).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "emptyText",
         "type" : "String",
         "desc" : "The default text to display in an empty field - placeholder... (defaults to null).",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldClass",
         "type" : "String",
         "desc" : "The default CSS class for the field (defaults to \"x-form-field\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fieldLabel",
         "type" : "String",
         "desc" : "Label to use when rendering a form.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "focusClass",
         "type" : "String",
         "desc" : "The CSS class to use when the field receives focus (defaults to \"x-form-focus\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "height",
         "type" : "Number",
         "desc" : "height (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideTrigger",
         "type" : "Boolean",
         "desc" : "True to hide the trigger element and display only the base text field (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "inputType",
         "type" : "String",
         "desc" : "The type attribute for input fields -- e.g. radio, text, password (defaults to \"text\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidClass",
         "type" : "String",
         "desc" : "The CSS class to use when marking a field invalid (defaults to \"x-form-invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "invalidText",
         "type" : "String",
         "desc" : "The error text to use when marking a field invalid and no message is provided (defaults to \"The value in this field is invalid\")",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maskRe",
         "type" : "String",
         "desc" : "An input mask regular expression that will be used to filter keystrokes that don't match (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLength",
         "type" : "Number",
         "desc" : "Maximum input field length allowed (defaults to Number.MAX_VALUE)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxLengthText",
         "type" : "String",
         "desc" : "Error text to display if the maximum length validation fails (defaults to \"The maximum length for this field is {maxLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLength",
         "type" : "Number",
         "desc" : "Minimum input field length required (defaults to 0)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minLengthText",
         "type" : "String",
         "desc" : "Error text to display if the minimum length validation fails (defaults to \"The minimum length for this field is {minLength}\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgFx",
         "type" : "String",
         "desc" : "<b>Experimental</b> The effect used when displaying a validation message under the field (defaults to 'normal').",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "msgTarget",
         "type" : "String",
         "desc" : "The location where error text should display.  Should be one of the following values (defaults to 'qtip'):\n<pre>\nValue         Description\n-----------   ----------------------------------------------------------------------\nqtip          Display a quick tip when the user hovers over the field\ntitle         Display a default browser title attribute popup\nunder         Add a block div beneath the field containing the error text\nside          Add an error icon to the right of the field with a popup on hover\n[element id]  Add the error text directly to the innerHTML of the specified element\n</pre>",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "name",
         "type" : "String",
         "desc" : "The field's HTML name attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "Mouse over tip",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "readOnly",
         "type" : "Boolean",
         "desc" : "True to mark the field as readOnly in HTML (defaults to false) -- Note: this only sets the element's readOnly DOM attribute.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regex",
         "type" : "RegExp",
         "desc" : "A JavaScript RegExp object to be tested against the field value during validation (defaults to null).\nIf available, this regex will be evaluated only after the basic validators all return true, and will be passed the\ncurrent field value.  If the test fails, the field will be marked invalid using {@link #regexText}.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "regexText",
         "type" : "String",
         "desc" : "The error text to display if {@link #regex} is used and the test fails during validation (defaults to \"\")",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selectOnFocus",
         "type" : "Boolean",
         "desc" : "True to automatically select any existing field text when the field receives input focus (defaults to false)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tabIndex",
         "type" : "Number",
         "desc" : "The tabIndex for this field. Note this only applies to fields that are rendered, not those which are built via applyTo (defaults to undefined).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "triggerClass",
         "type" : "String",
         "desc" : "An additional CSS class used to style the trigger button.  The trigger will always get the\nclass 'x-form-trigger' by default and triggerClass will be <b>appended</b> if specified.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validateOnBlur",
         "type" : "Boolean",
         "desc" : "Whether the field should validate when it loses focus (defaults to true).",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationDelay",
         "type" : "Number",
         "desc" : "The length of time in milliseconds after user input begins until validation is initiated (defaults to 250)",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validationEvent",
         "type" : "String/Boolean",
         "desc" : "The event that should initiate field validation. Set to false to disable\n      automatic validation (defaults to \"keyup\").",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "validator",
         "type" : "Function",
         "desc" : "A custom validation function to be called during field validation (defaults to null).\nIf available, this function will be called only after the basic validators all return true, and will be passed the\ncurrent field value and expected to return boolean true if the value is valid or a string error message if invalid.",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "A value to initialize this field with.",
-        "memberOf" : "Roo.form.Field"
+        "memberOf" : "Roo.form.Field",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "vtype",
         "type" : "String",
         "desc" : "A validation type name as defined in {@link Roo.form.VTypes} (defaults to null)",
-        "memberOf" : "Roo.form.TextField"
+        "memberOf" : "Roo.form.TextField",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
         "desc" : "width (optional) size of component",
-        "memberOf" : "Roo.BoxComponent"
+        "memberOf" : "Roo.BoxComponent",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "autoExpandColumn",
         "type" : "String",
         "desc" : "The id (or dataIndex) of a column in this grid that should expand to fill unused space. This id can not be 0. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMax",
         "type" : "Number",
         "desc" : "The maximum width the autoExpandColumn can have (if enabled). Default is 1000.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMin",
         "type" : "Number",
         "desc" : "The minimum width the autoExpandColumn can have (if enabled).\nDefault is 50.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHeight",
         "type" : "Boolean",
         "desc" : "True to fit the height of the grid container to the height of the data. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeColumns",
         "type" : "Boolean",
         "desc" : "True to automatically resize the columns to fit their content\n<b>on initial render.</b> It is more efficient to explicitly size the columns\nthrough the ColumnModel's {@link Roo.grid.ColumnModel#width} config option.  Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeHeaders",
         "type" : "Boolean",
         "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoWidth",
         "type" : "Boolean",
         "desc" : "True to set the grid's width to the default total width of the grid's columns instead\nof a fixed width. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cm[]",
         "type" : "Roo.grid.ColumnModel",
         "desc" : "The columns of the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "- drag drop group.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddText",
         "type" : "String",
         "desc" : "Configures the text is the drag proxy (defaults to \"%0 selected row(s)\").\n%0 is replaced with the number of selected rows.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragGroup",
         "type" : "String",
         "desc" : "- drag group (?? not sure if needed.)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropTarget",
         "type" : "Roo.dd.DropTarget",
         "desc" : "An {@link Roo.dd.DropTarget} config",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ds",
         "type" : "Roo.data.Store",
         "desc" : "The data store for the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnHide",
         "type" : "Boolean",
         "desc" : "True to enable hiding of columns with the header context menu. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnMove",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop reorder of columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "True to enable drag of rows. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDragDrop",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop of rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "True to enable drop of elements. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableRowHeightSync",
         "type" : "Boolean",
         "desc" : "True to manually sync row heights across locked and not locked rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "eventStore",
         "type" : "Store",
         "desc" : "The store that loads events.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Object",
         "desc" : "An {@link Roo.LoadMask} config or true to mask the grid while loading. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "Sets the maximum height of the grid - ignored if autoHeight is not on.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxRowsToMeasure",
         "type" : "Boolean",
         "desc" : "If autoSizeColumns is on, maxRowsToMeasure can be used to limit the number of\nrows measured to get a columns size. Default is 0 (all rows).",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minColumnWidth",
         "type" : "Number",
         "desc" : "The minimum width a column can be resized to. Default is 25.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorWindowResize",
         "type" : "Boolean",
         "desc" : "True to autoSize the grid when the window resizes. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Roo.grid.AbstractSelectionModel",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortColMenu",
         "type" : "boolean",
         "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "True to stripe the rows.  Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "a toolbar for buttons etc.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackMouseOver",
         "type" : "Boolean",
         "desc" : "True to highlight rows when the mouse is over. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "view",
         "type" : "Roo.grid.GridView",
         "desc" : "The view that renders the grid (default = Roo.grid.GridView)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "enter_is_tab",
         "type" : "Boolean",
         "desc" : "Enter behaves the same as tab. (eg. goes to next cell) default: false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "(Optional) Set the CSS text-align property of the column.  Defaults to undefined.",
-        "memberOf" : ""
+        "desc" : "Set the CSS text-align property of the column.  Defaults to undefined.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cursor",
         "type" : "String",
-        "desc" : "(Optional)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataIndex",
         "type" : "String",
-        "desc" : "(Optional) The name of the field in the grid's {@link Roo.data.Store}'s\n{@link Roo.data.Record} definition from which to draw the column's value. If not\nspecified, the column's index is used as an index into the Record's data Array.",
-        "memberOf" : ""
+        "desc" : "The name of the field in the grid's {@link Roo.data.Store}'s\n{@link Roo.data.Record} definition from which to draw the column's value. If not\nspecified, the column's index is used as an index into the Record's data Array.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editor",
         "type" : "Roo.grid.GridEditor",
-        "desc" : "(Optional) For grid editors - returns the grid editor",
-        "memberOf" : ""
+        "desc" : "For grid editors - returns the grid editor",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "fixed",
         "type" : "Boolean",
-        "desc" : "(Optional) True if the column width cannot be changed.  Defaults to false.",
-        "memberOf" : ""
+        "desc" : "True if the column width cannot be changed.  Defaults to false.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "header",
         "type" : "String",
         "desc" : "The header text to display in the Grid view.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
-        "desc" : "(Optional) True to hide the column. Defaults to false.",
-        "memberOf" : ""
+        "desc" : "True to hide the column. Defaults to false.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lg",
         "type" : "Number",
-        "desc" : "(Optional) can be '0' for hidden at this size (number less than 12)",
-        "memberOf" : ""
+        "desc" : "can be '0' for hidden at this size (number less than 12)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lgHeader",
         "type" : "String",
         "desc" : "Header at Bootsrap Large width",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "locked",
         "type" : "Boolean",
-        "desc" : "(Optional) True to lock the column in place while scrolling the Grid.  Defaults to false.",
-        "memberOf" : ""
+        "desc" : "True to lock the column in place while scrolling the Grid.  Defaults to false.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "md",
         "type" : "Number",
-        "desc" : "(Optional) can be '0' for hidden at this size (number less than 12)",
-        "memberOf" : ""
+        "desc" : "can be '0' for hidden at this size (number less than 12)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "mdHeader",
         "type" : "String",
         "desc" : "Header at Bootsrap Medium width",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderer",
         "type" : "Function",
-        "desc" : "(Optional) A function used to generate HTML markup for a cell\ngiven the cell's data value. See {@link #setRenderer}. If not specified, the\ndefault renderer returns the escaped data value. If an object is returned (bootstrap only)\nthen it is treated as a Roo Component object instance, and it is rendered after the initial row is rendered",
-        "memberOf" : ""
+        "desc" : "A function used to generate HTML markup for a cell\ngiven the cell's data value. See {@link #setRenderer}. If not specified, the\ndefault renderer returns the escaped data value. If an object is returned (bootstrap only)\nthen it is treated as a Roo Component object instance, and it is rendered after the initial row is rendered",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "resizable",
         "type" : "Boolean",
-        "desc" : "(Optional) False to disable column resizing. Defaults to true.",
-        "memberOf" : ""
+        "desc" : "False to disable column resizing. Defaults to true.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Number",
-        "desc" : "(Optional) can be '0' for hidden at this size (number less than 12)",
-        "memberOf" : ""
+        "desc" : "can be '0' for hidden at this size (number less than 12)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "smHeader",
         "type" : "String",
         "desc" : "Header at Bootsrap Small width",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortable",
         "type" : "Boolean",
-        "desc" : "(Optional) True if sorting is to be allowed on this column.\nDefaults to the value of the {@link #defaultSortable} property.\nWhether local/remote sorting is used is specified in {@link Roo.data.Store#remoteSort}.",
-        "memberOf" : ""
+        "desc" : "True if sorting is to be allowed on this column.\nDefaults to the value of the {@link #defaultSortable} property.\nWhether local/remote sorting is used is specified in {@link Roo.data.Store#remoteSort}.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tooltip",
         "type" : "String",
-        "desc" : "(Optional)",
-        "memberOf" : ""
+        "desc" : "",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "valign",
         "type" : "String",
-        "desc" : "(Optional) Set the CSS vertical-align property of the column (eg. middle, top, bottom etc).  Defaults to undefined.",
-        "memberOf" : ""
+        "desc" : "Set the CSS vertical-align property of the column (eg. middle, top, bottom etc).  Defaults to undefined.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "width",
         "type" : "Number",
-        "desc" : "(Optional) The initial width in pixels of the column. Using this\ninstead of {@link Roo.grid.Grid#autoSizeColumns} is more efficient.",
-        "memberOf" : ""
+        "desc" : "The initial width in pixels of the column. Using this\ninstead of {@link Roo.grid.Grid#autoSizeColumns} is more efficient.",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xl",
         "type" : "Number",
-        "desc" : "(Optional) can be '0' for hidden at this size (number less than 12)",
-        "memberOf" : ""
+        "desc" : "can be '0' for hidden at this size (number less than 12)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xlHeader",
         "type" : "String",
         "desc" : "Header at Bootsrap extra Large width",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xs",
         "type" : "Number",
-        "desc" : "(Optional) can be '0' for hidden at this size (number less than 12)",
-        "memberOf" : ""
+        "desc" : "can be '0' for hidden at this size (number less than 12)",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "xsHeader",
         "type" : "String",
         "desc" : "Header at Bootsrap Extra Small width (default for all)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "autoExpandColumn",
         "type" : "String",
         "desc" : "The id (or dataIndex) of a column in this grid that should expand to fill unused space. This id can not be 0. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMax",
         "type" : "Number",
         "desc" : "The maximum width the autoExpandColumn can have (if enabled). Default is 1000.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMin",
         "type" : "Number",
         "desc" : "The minimum width the autoExpandColumn can have (if enabled).\nDefault is 50.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHeight",
         "type" : "Boolean",
         "desc" : "True to fit the height of the grid container to the height of the data. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeColumns",
         "type" : "Boolean",
         "desc" : "True to automatically resize the columns to fit their content\n<b>on initial render.</b> It is more efficient to explicitly size the columns\nthrough the ColumnModel's {@link Roo.grid.ColumnModel#width} config option.  Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeHeaders",
         "type" : "Boolean",
         "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoWidth",
         "type" : "Boolean",
         "desc" : "True to set the grid's width to the default total width of the grid's columns instead\nof a fixed width. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clicksToEdit",
         "type" : "Number",
         "desc" : "The number of clicks on a cell required to display the cell's editor (defaults to 2)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cm[]",
         "type" : "Roo.grid.ColumnModel",
         "desc" : "The columns of the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "- drag drop group.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddText",
         "type" : "String",
         "desc" : "Configures the text is the drag proxy (defaults to \"%0 selected row(s)\").\n%0 is replaced with the number of selected rows.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragGroup",
         "type" : "String",
         "desc" : "- drag group (?? not sure if needed.)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropTarget",
         "type" : "Roo.dd.DropTarget",
         "desc" : "An {@link Roo.dd.DropTarget} config",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ds",
         "type" : "Roo.data.Store",
         "desc" : "The data store for the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnHide",
         "type" : "Boolean",
         "desc" : "True to enable hiding of columns with the header context menu. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnMove",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop reorder of columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "True to enable drag of rows. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDragDrop",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop of rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "True to enable drop of elements. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableRowHeightSync",
         "type" : "Boolean",
         "desc" : "True to manually sync row heights across locked and not locked rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Object",
         "desc" : "An {@link Roo.LoadMask} config or true to mask the grid while loading. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "Sets the maximum height of the grid - ignored if autoHeight is not on.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxRowsToMeasure",
         "type" : "Boolean",
         "desc" : "If autoSizeColumns is on, maxRowsToMeasure can be used to limit the number of\nrows measured to get a columns size. Default is 0 (all rows).",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minColumnWidth",
         "type" : "Number",
         "desc" : "The minimum width a column can be resized to. Default is 25.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorWindowResize",
         "type" : "Boolean",
         "desc" : "True to autoSize the grid when the window resizes. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Roo.grid.AbstractSelectionModel",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortColMenu",
         "type" : "boolean",
         "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "True to stripe the rows.  Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "a toolbar for buttons etc.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackMouseOver",
         "type" : "Boolean",
         "desc" : "True to highlight rows when the mouse is over. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "view",
         "type" : "Roo.grid.GridView",
         "desc" : "The view that renders the grid (default = Roo.grid.GridView)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "autoExpandColumn",
         "type" : "String",
         "desc" : "The id (or dataIndex) of a column in this grid that should expand to fill unused space. This id can not be 0. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMax",
         "type" : "Number",
         "desc" : "The maximum width the autoExpandColumn can have (if enabled). Default is 1000.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMin",
         "type" : "Number",
         "desc" : "The minimum width the autoExpandColumn can have (if enabled).\nDefault is 50.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHeight",
         "type" : "Boolean",
         "desc" : "True to fit the height of the grid container to the height of the data. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeColumns",
         "type" : "Boolean",
         "desc" : "True to automatically resize the columns to fit their content\n<b>on initial render.</b> It is more efficient to explicitly size the columns\nthrough the ColumnModel's {@link Roo.grid.ColumnModel#width} config option.  Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeHeaders",
         "type" : "Boolean",
         "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoWidth",
         "type" : "Boolean",
         "desc" : "True to set the grid's width to the default total width of the grid's columns instead\nof a fixed width. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cm[]",
         "type" : "Roo.grid.ColumnModel",
         "desc" : "The columns of the grid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "- drag drop group.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddText",
         "type" : "String",
         "desc" : "Configures the text is the drag proxy (defaults to \"%0 selected row(s)\").\n%0 is replaced with the number of selected rows.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragGroup",
         "type" : "String",
         "desc" : "- drag group (?? not sure if needed.)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropTarget",
         "type" : "Roo.dd.DropTarget",
         "desc" : "An {@link Roo.dd.DropTarget} config",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ds",
         "type" : "Roo.data.Store",
         "desc" : "The data store for the grid",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnHide",
         "type" : "Boolean",
         "desc" : "True to enable hiding of columns with the header context menu. Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnMove",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop reorder of columns. Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "True to enable drag of rows. Default is false. (double check if this is needed?)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDragDrop",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop of rows. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "True to enable drop of elements. Default is false. (double check if this is needed?)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableRowHeightSync",
         "type" : "Boolean",
         "desc" : "True to manually sync row heights across locked and not locked rows. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Object",
         "desc" : "An {@link Roo.LoadMask} config or true to mask the grid while loading. Default is false.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "Sets the maximum height of the grid - ignored if autoHeight is not on.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxRowsToMeasure",
         "type" : "Boolean",
         "desc" : "If autoSizeColumns is on, maxRowsToMeasure can be used to limit the number of\nrows measured to get a columns size. Default is 0 (all rows).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minColumnWidth",
         "type" : "Number",
         "desc" : "The minimum width a column can be resized to. Default is 25.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorWindowResize",
         "type" : "Boolean",
         "desc" : "True to autoSize the grid when the window resizes. Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Roo.grid.AbstractSelectionModel",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortColMenu",
         "type" : "boolean",
         "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "True to stripe the rows.  Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "a toolbar for buttons etc.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackMouseOver",
         "type" : "Boolean",
         "desc" : "True to highlight rows when the mouse is over. Default is true.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "view",
         "type" : "Roo.grid.GridView",
         "desc" : "The view that renders the grid (default = Roo.grid.GridView)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alignment",
         "type" : "String",
         "desc" : "The position to align to (see {@link Roo.Element#alignTo} for more details, defaults to \"c-c?\").",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autosize",
         "type" : "Boolean/String",
         "desc" : "True for the editor to automatically adopt the size of the underlying field, \"width\" to adopt the width only,\nor \"height\" to adopt the height only (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cancelOnEsc",
         "type" : "Boolean",
         "desc" : "True to cancel the edit when the escape key is pressed (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "completeOnEnter",
         "type" : "Boolean",
         "desc" : "True to complete the edit when the enter key is pressed (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrain",
         "type" : "Boolean",
         "desc" : "True to constrain the editor to the viewport",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "field",
         "type" : "Roo.form.Field",
         "desc" : "Field to wrap (or xtyped)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideEl",
         "type" : "Boolean",
         "desc" : "False to keep the bound element visible while the editor is displayed (defaults to true)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "ignoreNoChange",
         "type" : "Boolean",
         "desc" : "True to skip the the edit completion process (no save, no events fired) if the user completes an edit and\nthe value has not changed (defaults to false).  Applies only to string values - edits for other data types\nwill never be ignored.",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "revertInvalid",
         "type" : "Boolean",
         "desc" : "True to automatically revert the field value and cancel the edit when the user completes an edit and the field\nvalidation fails (defaults to true)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "\"sides\" for sides/bottom only, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"frame\")",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "updateEl",
         "type" : "Boolean",
         "desc" : "True to update the innerHTML of the bound element when the update completes (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "The data value of the underlying field (defaults to \"\")",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "autoExpandColumn",
         "type" : "String",
         "desc" : "The id (or dataIndex) of a column in this grid that should expand to fill unused space. This id can not be 0. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMax",
         "type" : "Number",
         "desc" : "The maximum width the autoExpandColumn can have (if enabled). Default is 1000.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoExpandMin",
         "type" : "Number",
         "desc" : "The minimum width the autoExpandColumn can have (if enabled).\nDefault is 50.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoHeight",
         "type" : "Boolean",
         "desc" : "True to fit the height of the grid container to the height of the data. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeColumns",
         "type" : "Boolean",
         "desc" : "True to automatically resize the columns to fit their content\n<b>on initial render.</b> It is more efficient to explicitly size the columns\nthrough the ColumnModel's {@link Roo.grid.ColumnModel#width} config option.  Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoSizeHeaders",
         "type" : "Boolean",
         "desc" : "True to measure headers with column data when auto sizing columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autoWidth",
         "type" : "Boolean",
         "desc" : "True to set the grid's width to the default total width of the grid's columns instead\nof a fixed width. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clicksToEdit",
         "type" : "Number",
         "desc" : "The number of clicks on a cell required to display the cell's editor (defaults to 2)",
-        "memberOf" : "Roo.grid.EditorGrid"
+        "memberOf" : "Roo.grid.EditorGrid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cm[]",
         "type" : "Roo.grid.ColumnModel",
         "desc" : "The columns of the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "customEditors",
         "type" : "Object",
         "desc" : "map of colnames=> custom editors.\nthe custom editor can be one of the standard ones (date|string|number|int|boolean), or a\ngrid editor eg. Roo.grid.GridEditor(new Roo.form.TextArea({selectOnFocus:true})),\nfalse disables editing of the field.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "- drag drop group.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddText",
         "type" : "String",
         "desc" : "Configures the text is the drag proxy (defaults to \"%0 selected row(s)\").\n%0 is replaced with the number of selected rows.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragGroup",
         "type" : "String",
         "desc" : "- drag group (?? not sure if needed.)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropTarget",
         "type" : "Roo.dd.DropTarget",
         "desc" : "An {@link Roo.dd.DropTarget} config",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ds",
         "type" : "Roo.data.Store",
         "desc" : "The data store for the grid",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnHide",
         "type" : "Boolean",
         "desc" : "True to enable hiding of columns with the header context menu. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableColumnMove",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop reorder of columns. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "True to enable drag of rows. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDragDrop",
         "type" : "Boolean",
         "desc" : "True to enable drag and drop of rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "True to enable drop of elements. Default is false. (double check if this is needed?)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableRowHeightSync",
         "type" : "Boolean",
         "desc" : "True to manually sync row heights across locked and not locked rows. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loadMask",
         "type" : "Object",
         "desc" : "An {@link Roo.LoadMask} config or true to mask the grid while loading. Default is false.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxHeight",
         "type" : "Number",
         "desc" : "Sets the maximum height of the grid - ignored if autoHeight is not on.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxRowsToMeasure",
         "type" : "Boolean",
         "desc" : "If autoSizeColumns is on, maxRowsToMeasure can be used to limit the number of\nrows measured to get a columns size. Default is 0 (all rows).",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minColumnWidth",
         "type" : "Number",
         "desc" : "The minimum width a column can be resized to. Default is 25.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "monitorWindowResize",
         "type" : "Boolean",
         "desc" : "True to autoSize the grid when the window resizes. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "propertyNames",
         "type" : "Object",
         "desc" : "map of property Names to their displayed value",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sm",
         "type" : "Roo.grid.AbstractSelectionModel",
         "desc" : "The selection Model (default = Roo.grid.RowSelectionModel)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortColMenu",
         "type" : "boolean",
         "desc" : "Sort the column order menu when it shows (usefull for long lists..) default false",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stripeRows",
         "type" : "Boolean",
         "desc" : "True to stripe the rows.  Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "toolbar",
         "type" : "Roo.Toolbar",
         "desc" : "a toolbar for buttons etc.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "trackMouseOver",
         "type" : "Boolean",
         "desc" : "True to highlight rows when the mouse is over. Default is true.",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "view",
         "type" : "Roo.grid.GridView",
         "desc" : "The view that renders the grid (default = Roo.grid.GridView)",
-        "memberOf" : "Roo.grid.Grid"
+        "memberOf" : "Roo.grid.Grid",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleSelect",
         "type" : "Boolean",
         "desc" : "True to allow selection of only one row at a time (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "Context",
         "type" : "Object",
         "desc" : "menu - see Roo.form.HtmlEditor.ToolbarContext",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "friendly_name",
         "type" : "String",
         "desc" : "the name that appears in the context bar about this block",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "node",
         "type" : "DomElement",
         "desc" : "The node to apply stuff to.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
       {
         "name" : "align",
         "type" : "String",
-        "desc" : "t) alignment for the block default left",
-        "memberOf" : ""
+        "desc" : "t) alignment for the block default le",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "left",
+          "right"
+        ]
       },
       {
         "name" : "caption",
         "type" : "String",
         "desc" : "the text to appear below  (and in the alt tag)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "caption_display",
         "type" : "String",
-        "desc" : "e) display or not the caption",
-        "memberOf" : ""
+        "desc" : "e) display or not the capti",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : [
+          "block",
+          "none"
+        ]
       },
       {
         "name" : "image_height",
         "type" : "String|number",
         "desc" : "the height of the image number or %?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "image_src",
         "type" : "String",
         "desc" : "the url for the image",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "image_width",
         "type" : "String|number",
         "desc" : "the width of the image number or %?",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "node",
         "type" : "DomElement",
         "desc" : "The node to iterate and filter",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tag",
         "type" : "boolean|String|Array",
         "desc" : "Tags to replace",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "core",
         "type" : "Roo.HtmlEditorCore",
         "desc" : "the editor.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to true)",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "True to initialize this checkbox as checked (defaults to false).  Note that\nif this checkbox is part of a radio group (group = true) only the last item in the group that is\ninitialized with checked = true will be rendered as checked.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "group",
         "type" : "String",
         "desc" : "All check items with the same group name will automatically be grouped into a single-select\nradio button group (defaults to '')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "groupClass",
         "type" : "String",
         "desc" : "The default CSS class to use for radio group check items (defaults to \"x-menu-group-item\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "to render in menu\nThe text to show on the menu item (HTML version).",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an icon to display in this menu item (defaults to Roo.BLANK_IMAGE_URL)",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "The default CSS class to use for check items (defaults to \"x-menu-item x-menu-check-item\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "A Sub menu",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before showing this item (defaults to 200)",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The text to show on the menu item.",
-        "memberOf" : "Roo.menu.Item"
+        "memberOf" : "Roo.menu.Item",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowOtherMenus",
         "type" : "Boolean",
         "desc" : "True to allow multiple menus to be displayed at the same time (defaults to false)",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultAlign",
         "type" : "String",
         "desc" : "The default {@link Roo.Element#alignTo) anchor position value for this menu\nrelative to its element of origin (defaults to \"tl-bl?\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width of the menu in pixels (defaults to 120)",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "registerMenu",
         "type" : "Boolean",
         "desc" : "True (default) - means that clicking on screen etc. hides it.",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"sides\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "subMenuAlign",
         "type" : "String",
         "desc" : "The {@link Roo.Element#alignTo} anchor position value to use for submenus of\nthis menu (defaults to \"tl-tr?\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowOtherMenus",
         "type" : "Boolean",
         "desc" : "True to allow multiple menus to be displayed at the same time (defaults to false)",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultAlign",
         "type" : "String",
         "desc" : "The default {@link Roo.Element#alignTo) anchor position value for this menu\nrelative to its element of origin (defaults to \"tl-bl?\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width of the menu in pixels (defaults to 120)",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "registerMenu",
         "type" : "Boolean",
         "desc" : "True (default) - means that clicking on screen etc. hides it.",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"sides\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "subMenuAlign",
         "type" : "String",
         "desc" : "The {@link Roo.Element#alignTo} anchor position value to use for submenus of\nthis menu (defaults to \"tl-tr?\")",
-        "memberOf" : "Roo.menu.Menu"
+        "memberOf" : "Roo.menu.Menu",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to true)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "html",
         "type" : "String",
         "desc" : "to render in menu\nThe text to show on the menu item (HTML version).",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an icon to display in this menu item (defaults to Roo.BLANK_IMAGE_URL)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "The default CSS class to use for menu items (defaults to \"x-menu-item\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "menu",
         "type" : "Roo.menu.Menu",
         "desc" : "A Sub menu",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "showDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before showing this item (defaults to 200)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The text to show on the menu item.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowOtherMenus",
         "type" : "Boolean",
         "desc" : "True to allow multiple menus to be displayed at the same time (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "defaultAlign",
         "type" : "String",
         "desc" : "The default {@link Roo.Element#alignTo) anchor position value for this menu\nrelative to its element of origin (defaults to \"tl-bl?\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "minWidth",
         "type" : "Number",
         "desc" : "The minimum width of the menu in pixels (defaults to 120)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "registerMenu",
         "type" : "Boolean",
         "desc" : "True (default) - means that clicking on screen etc. hides it.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "True or \"sides\" for the default effect, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"sides\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "subMenuAlign",
         "type" : "String",
         "desc" : "The {@link Roo.Element#alignTo} anchor position value to use for submenus of\nthis menu (defaults to \"tl-tr?\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "The default CSS class to use for separators (defaults to \"x-menu-sep\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "activeClass",
         "type" : "String",
         "desc" : "The CSS class to use when the item becomes activated (defaults to \"x-menu-item-active\")",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "canActivate",
         "type" : "Boolean",
         "desc" : "True if this item can be visually activated (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "handler",
         "type" : "Function",
         "desc" : "A function that will handle the click event of this menu item (defaults to undefined)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hidden",
         "type" : "Boolean",
         "desc" : "True to prevent creation of this menu item (defaults to false)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideDelay",
         "type" : "Number",
         "desc" : "Length of time in milliseconds to wait before hiding after a click (defaults to 100)",
-        "memberOf" : "Roo.menu.BaseItem"
+        "memberOf" : "Roo.menu.BaseItem",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "hideOnClick",
         "type" : "Boolean",
         "desc" : "True to hide the containing menu after this item is clicked (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "itemCls",
         "type" : "String",
         "desc" : "The default CSS class to use for text items (defaults to \"x-menu-text\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "Text to show on item.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "domain",
         "type" : "String",
         "desc" : "The domain to save the cookie for.  Note that you cannot specify a different domain than\nyour page is on, but you can specify a sub-domain, or simply the domain itself like 'roojs.com' to include\nall sub-domains if you need to access cookies across different sub-domains (defaults to null which uses the same\ndomain the page is running on including the 'www' like 'www.roojs.com')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "expires",
         "type" : "Date",
         "desc" : "The cookie expiration date (defaults to 7 days from now)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "path",
         "type" : "String",
         "desc" : "The path for which the cookie is active (defaults to root '/' which makes it active for all pages in the site)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "secure",
         "type" : "Boolean",
         "desc" : "True if the site is using SSL (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowDrag",
         "type" : "Boolean",
         "desc" : "false to make this node undraggable if DD is on (defaults to true)",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDrop",
         "type" : "Boolean",
         "desc" : "false if this node cannot be drop on",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "True to render a checked checkbox for this node, false to render an unchecked checkbox\n(defaults to undefined with no checkbox rendered)",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A css class to be added to the node",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "true to start the node disabled",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "expanded",
         "type" : "Boolean",
         "desc" : "true to start the node expanded",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "URL of the link used for the node (defaults to #)",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hrefTarget",
         "type" : "String",
         "desc" : "target frame for the link",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an icon for the node. The preferred way to do this",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class to be added to the nodes icon element for applying css background images",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "id",
         "type" : "String",
         "desc" : "The id for this node. If one is not specified, one is generated.",
-        "memberOf" : "Roo.data.Node"
+        "memberOf" : "Roo.data.Node",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "leaf",
         "type" : "Boolean",
         "desc" : "true if this node is a leaf and does not have children",
-        "memberOf" : "Roo.data.Node"
+        "memberOf" : "Roo.data.Node",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loader",
         "type" : "TreeLoader",
         "desc" : "A TreeLoader to be used by this node (defaults to the loader defined on the tree)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "An Ext QuickTip for the node",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtipCfg",
         "type" : "String",
         "desc" : "An Ext QuickTip config for the node (used instead of qtip)",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleClickExpand",
         "type" : "Boolean",
         "desc" : "True for single click expand on this node",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The text for this node",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "uiProvider",
         "type" : "Function",
         "desc" : "A UI <b>class</b> to use for this node (defaults to Roo.tree.TreeNodeUI)",
-        "memberOf" : "Roo.tree.TreeNode"
+        "memberOf" : "Roo.tree.TreeNode",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "true to enable animated expand/collapse (defaults to the value of Roo.enableFx)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "borderWidth",
         "type" : "int",
         "desc" : "compined right/left border allowance",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "columns",
         "type" : "Object",
         "desc" : "Including width, header, renderer, cls, dataIndex",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "containerScroll",
         "type" : "Boolean",
         "desc" : "true to register this container with ScrollManager",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddAppendOnly",
         "type" : "String",
         "desc" : "True if the tree should only allow append drops (use for trees which are sorted)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "The DD group this TreePanel belongs to",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddScroll",
         "type" : "Boolean",
         "desc" : "true to enable YUI body scrolling",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragConfig",
         "type" : "Object",
         "desc" : "Custom config to pass to the {@link Roo.tree.TreeDragZone} instance",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropConfig",
         "type" : "Object",
         "desc" : "Custom config to pass to the {@link Roo.tree.TreeDropZone} instance",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editor",
         "type" : "Roo.tree.TreeEditor",
         "desc" : "The TreeEditor to display when clicked.",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDD",
         "type" : "Boolean",
         "desc" : "true to enable drag and drop",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "true to enable just drag",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "true to enable just drop",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hlColor",
         "type" : "String",
         "desc" : "The color of the node highlight (defaults to C3DAF9)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hlDrop",
         "type" : "Boolean",
         "desc" : "false to disable node highlight on drop (defaults to the value of Roo.enableFx)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lines",
         "type" : "Boolean",
         "desc" : "false to disable tree lines (defaults to true)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loader",
         "type" : "Roo.tree.TreeLoader",
         "desc" : "A TreeLoader for use with this TreePanel",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pathSeparator",
         "type" : "String",
         "desc" : "The token used to separate sub-paths in path strings (defaults to '/')",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderer",
         "type" : "Function",
         "desc" : "DEPRECATED - use TreeLoader:create event / Sets the rendering (formatting) function for the nodes. to return HTML markup for the tree view. The render function is called with  the following parameters:<ul><li>The {Object} The data for the node.</li></ul>",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rendererTip",
         "type" : "Function",
         "desc" : "DEPRECATED - use TreeLoader:create event / Sets the rendering (formatting) function for the nodes hovertip to return HTML markup for the tree view. The render function is called with  the following parameters:<ul><li>The {Object} The data for the node.</li></ul>",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "root",
         "type" : "Roo.tree.TreeNode",
         "desc" : "The root node",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rootVisible",
         "type" : "Boolean",
         "desc" : "false to hide the root node (defaults to true)",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selModel",
         "type" : "Boolean",
         "desc" : "A tree selection model to use with this TreePanel (defaults to a {@link Roo.tree.DefaultSelectionModel})",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleExpand",
         "type" : "Boolean",
         "desc" : "true if only 1 node per branch may be expanded",
-        "memberOf" : "Roo.tree.TreePanel"
+        "memberOf" : "Roo.tree.TreePanel",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "actionMode",
         "type" : "String",
         "desc" : "which property holds the element that used for  hide() / show() / disable() / enable()\ndefault is 'el' for forms you probably want to set this to fieldEl",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "alignment",
         "type" : "String",
         "desc" : "The position to align to (see {@link Roo.Element#alignTo} for more details, defaults to \"l-l\").",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDomMove",
         "type" : "Boolean",
         "desc" : "Whether the component can move the Dom node when rendering (defaults to true).",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "autosize",
         "type" : "Boolean/String",
         "desc" : "True for the editor to automatically adopt the size of the underlying field, \"width\" to adopt the width only,\nor \"height\" to adopt the height only (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cancelOnEsc",
         "type" : "Boolean",
         "desc" : "True to cancel the edit when the escape key is pressed (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "CSS class to apply to the editor (defaults to \"x-small-editor x-tree-editor\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "completeOnEnter",
         "type" : "Boolean",
         "desc" : "True to complete the edit when the enter key is pressed (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "constrain",
         "type" : "Boolean",
         "desc" : "True to constrain the editor to the viewport",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disableClass",
         "type" : "String",
         "desc" : "CSS class added to the component when it is disabled (defaults to \"x-item-disabled\").",
-        "memberOf" : "Roo.Component"
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "field",
         "type" : "Roo.form.TextField",
-        "desc" : "[required] The field configuration",
-        "memberOf" : ""
+        "desc" : "The field configuration",
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideEl",
         "type" : "Boolean",
         "desc" : "True to hide the bound element while the editor is displayed (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hideMode",
         "type" : "String",
-        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display\".",
-        "memberOf" : "Roo.Component"
+        "desc" : "y)\nHow this component should hidden. Supported values are\n\"visibility\" (css visibility), \"offsets\" (negative offset position) and\n\"display\" (css display) - defaults to \"display",
+        "memberOf" : "Roo.Component",
+        "isOptional" : false,
+        "optvalues" : [
+          "display",
+          "visibility"
+        ]
       },
       {
         "name" : "ignoreNoChange",
         "type" : "Boolean",
         "desc" : "True to skip the the edit completion process (no save, no events fired) if the user completes an edit and\nthe value has not changed (defaults to false).  Applies only to string values - edits for other data types\nwill never be ignored.",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "maxWidth",
         "type" : "Number",
         "desc" : "The maximum width in pixels of the editor field (defaults to 250).  Note that if the maxWidth would exceed\nthe containing tree element's size, it will be automatically limited for you to the container width, taking\nscroll and client offsets into account prior to each edit.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "revertInvalid",
         "type" : "Boolean",
         "desc" : "True to automatically revert the field value and cancel the edit when the user completes an edit and the field\nvalidation fails (defaults to true)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shadow",
         "type" : "Boolean/String",
         "desc" : "\"sides\" for sides/bottom only, \"frame\" for 4-way shadow, and \"drop\"\nfor bottom-right shadow (defaults to \"frame\")",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "shim",
         "type" : "Boolean",
         "desc" : "True to shim the editor if selects/iframes could be displayed beneath it (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "tree",
         "type" : "Roo.tree.TreePanel",
         "desc" : "The tree to bind to.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "updateEl",
         "type" : "Boolean",
         "desc" : "True to update the innerHTML of the bound element when the update completes (defaults to false)",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "value",
         "type" : "Mixed",
         "desc" : "The data value of the underlying field (defaults to \"\")",
-        "memberOf" : "Roo.Editor"
+        "memberOf" : "Roo.Editor",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "baseAttrs",
         "type" : "Object",
         "desc" : "(optional) An object containing attributes to be added to all nodes\ncreated by this loader. If the attributes sent by the server have an attribute in this object,\nthey take priority.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "baseParams",
         "type" : "Object",
         "desc" : "(optional) An object containing properties which\nspecify HTTP parameters to be passed to each request for child nodes.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "clearOnLoad",
         "type" : "Boolean",
         "desc" : "(optional) Default to true. Remove previously existing\nchild nodes before loading.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dataUrl",
         "type" : "String",
         "desc" : "The URL from which to request a Json string which\nspecifies an array of node definition object representing the child nodes\nto be loaded.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "queryParam",
         "type" : "String",
         "desc" : "(optional) \nName of the query as it will be passed on the querystring (defaults to 'node')\neg. the request will be ?node=[id]",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "requestMethod",
         "type" : "String",
         "desc" : "either GET or POST\ndefaults to POST (due to BC)\nto be loaded.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "root",
         "type" : "String",
         "desc" : "(optional) Default to false. Use this to read data from an object \nproperty on loading, rather than expecting an array. (eg. more compatible to a standard\nGrid query { data : [ .....] }",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "uiProviders",
         "type" : "Object",
         "desc" : "(optional) An object containing properties which\n\nDEPRECATED - use 'create' event handler to modify attributes - which affect creation.\nspecify custom {@link Roo.tree.TreeNodeUI} implementations. If the optional\n<i>uiProvider</i> attribute of a returned child node is a string rather\nthan a reference to a TreeNodeUI implementation, this that string value\nis used as a property name in the uiProviders object. You can define the provider named\n'default' , and this will be used for all nodes (if no uiProvider is delivered by the node data)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "allowDrag",
         "type" : "Boolean",
         "desc" : "false to make this node undraggable if DD is on (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "allowDrop",
         "type" : "Boolean",
         "desc" : "false if this node cannot be drop on",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "checked",
         "type" : "Boolean",
         "desc" : "True to render a checked checkbox for this node, false to render an unchecked checkbox\n(defaults to undefined with no checkbox rendered)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "cls",
         "type" : "String",
         "desc" : "A css class to be added to the node",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "disabled",
         "type" : "Boolean",
         "desc" : "true to start the node disabled",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "expanded",
         "type" : "Boolean",
         "desc" : "true to start the node expanded",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "href",
         "type" : "String",
         "desc" : "URL of the link used for the node (defaults to #)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hrefTarget",
         "type" : "String",
         "desc" : "target frame for the link",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "icon",
         "type" : "String",
         "desc" : "The path to an icon for the node. The preferred way to do this",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "iconCls",
         "type" : "String",
         "desc" : "A css class to be added to the nodes icon element for applying css background images",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "id",
         "type" : "String",
         "desc" : "The id for this node. If one is not specified, one is generated.",
-        "memberOf" : "Roo.data.Node"
+        "memberOf" : "Roo.data.Node",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "leaf",
         "type" : "Boolean",
         "desc" : "true if this node is a leaf and does not have children",
-        "memberOf" : "Roo.data.Node"
+        "memberOf" : "Roo.data.Node",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtip",
         "type" : "String",
         "desc" : "An Ext QuickTip for the node",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "qtipCfg",
         "type" : "String",
         "desc" : "An Ext QuickTip config for the node (used instead of qtip)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleClickExpand",
         "type" : "Boolean",
         "desc" : "True for single click expand on this node",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "text",
         "type" : "String",
         "desc" : "The text for this node",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "uiProvider",
         "type" : "Function",
         "desc" : "A UI <b>class</b> to use for this node (defaults to Roo.tree.TreeNodeUI)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "animate",
         "type" : "Boolean",
         "desc" : "true to enable animated expand/collapse (defaults to the value of Roo.enableFx)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "containerScroll",
         "type" : "Boolean",
         "desc" : "true to register this container with ScrollManager",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddAppendOnly",
         "type" : "String",
         "desc" : "True if the tree should only allow append drops (use for trees which are sorted)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddGroup",
         "type" : "String",
         "desc" : "The DD group this TreePanel belongs to",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "ddScroll",
         "type" : "Boolean",
         "desc" : "true to enable YUI body scrolling",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dragConfig",
         "type" : "Object",
         "desc" : "Custom config to pass to the {@link Roo.tree.TreeDragZone} instance",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dropConfig",
         "type" : "Object",
         "desc" : "Custom config to pass to the {@link Roo.tree.TreeDropZone} instance",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "editor",
         "type" : "Roo.tree.TreeEditor",
         "desc" : "The TreeEditor to display when clicked.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDD",
         "type" : "Boolean",
         "desc" : "true to enable drag and drop",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrag",
         "type" : "Boolean",
         "desc" : "true to enable just drag",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "enableDrop",
         "type" : "Boolean",
         "desc" : "true to enable just drop",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hlColor",
         "type" : "String",
         "desc" : "The color of the node highlight (defaults to C3DAF9)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "hlDrop",
         "type" : "Boolean",
         "desc" : "false to disable node highlight on drop (defaults to the value of Roo.enableFx)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "lines",
         "type" : "Boolean",
         "desc" : "false to disable tree lines (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "loader",
         "type" : "Roo.tree.TreeLoader",
         "desc" : "A TreeLoader for use with this TreePanel",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pathSeparator",
         "type" : "String",
         "desc" : "The token used to separate sub-paths in path strings (defaults to '/')",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "renderer",
         "type" : "Function",
         "desc" : "DEPRECATED - use TreeLoader:create event / Sets the rendering (formatting) function for the nodes. to return HTML markup for the tree view. The render function is called with  the following parameters:<ul><li>The {Object} The data for the node.</li></ul>",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rendererTip",
         "type" : "Function",
         "desc" : "DEPRECATED - use TreeLoader:create event / Sets the rendering (formatting) function for the nodes hovertip to return HTML markup for the tree view. The render function is called with  the following parameters:<ul><li>The {Object} The data for the node.</li></ul>",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "root",
         "type" : "Roo.tree.TreeNode",
         "desc" : "The root node",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "rootVisible",
         "type" : "Boolean",
         "desc" : "false to hide the root node (defaults to true)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "selModel",
         "type" : "Boolean",
         "desc" : "A tree selection model to use with this TreePanel (defaults to a {@link Roo.tree.DefaultSelectionModel})",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "singleExpand",
         "type" : "Boolean",
         "desc" : "true if only 1 node per branch may be expanded",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "caseSensitive",
         "type" : "Boolean",
         "desc" : "true for case sensitive sort (defaults to false)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "dir",
         "type" : "String",
         "desc" : "The direction to sort (asc or desc) (defaults to asc)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "folderSort",
         "type" : "Boolean",
         "desc" : "True to sort leaf nodes under non leaf nodes",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "leafAttr",
         "type" : "String",
         "desc" : "The attribute used to determine leaf nodes in folder sort (defaults to \"leaf\")",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "property",
         "type" : "String",
         "desc" : "The named attribute on the node to sort by (defaults to text)",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "sortType",
         "type" : "Function",
         "desc" : "A custom \"casting\" function used to convert node values before sorting",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],
         "name" : "accelerate",
         "type" : "Boolean",
         "desc" : "True if autorepeating should start slowly and accelerate.\n          \"interval\" and \"delay\" are ignored. \"immediate\" is honored.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "delay",
         "type" : "Number",
         "desc" : "The initial delay before the repeating event begins firing.\nSimilar to an autorepeat key delay.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "el",
         "type" : "String/HTMLElement/Element",
         "desc" : "The element to act as a button.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "interval",
         "type" : "Number",
         "desc" : "The interval between firings of the \"click\" event. Default 10 ms.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "pressClass",
         "type" : "String",
         "desc" : "A CSS class name to be applied to the element while pressed.",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "preventDefault",
         "type" : "Boolean",
         "desc" : "True to prevent the default click event",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       },
       {
         "name" : "stopDefault",
         "type" : "Boolean",
         "desc" : "True to stop the default click event",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : "Roo.util.Observable"
+        "memberOf" : "Roo.util.Observable",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [
         "name" : "listeners",
         "type" : "Object",
         "desc" : "list of events and functions to call for this object, \nFor example :\n<pre><code>\n    listeners :  { \n       'click' : function(e) {\n           ..... \n        } ,\n        .... \n    } \n  </code></pre>",
-        "memberOf" : ""
+        "memberOf" : "",
+        "isOptional" : false,
+        "optvalues" : []
       }
     ],
     "events" : [],