Introduction
Menulists are the root elements of drop-downs (combo boxes). While you can declare the contents of a menulist in the XUL document, most often you'll want to bind a collection to the "elements" property to generate the menuitems.
Properties
Property | Fires Events | Possible Values | Notes |
---|---|---|---|
binding (String) | No |
| The property to extract a label value from each item bound to this control (i.e. a value of "name" would translate to a "getName()" call on each item in the bound collection |
editable (bool) | No |
| Allows the editing of the property for the object bound to the menuitem |
elements (Collection) | No |
| Setting a collection on the property will populate the menulist based on the collection. The label displayed will be extracted from the Objects based on the value set in the "binding" property |
selectedIndex (int) | Yes |
| Sets the current value on the menulist. This property is also fired on user change. |
selectedItem (Object) | Yes |
| Similar to selectedIndex only based on the objects bound to the menulist. |
value (String) | No |
| Calling this will set the value for the currently selected item. Only meaningful when the menulist is editable |
oncommand (String) | No |
| "controller.method()" format. Fired when the currently selected item is changed. |
Methods
None.
Sample Usage
Code Block | ||||
---|---|---|---|---|
| ||||
<menulist id="list" pen:binding="name">
<menupopup>
<menuitem label="Value 1" />
<menuitem label="Value 2" />
</menupopup>
</menulist>
|
Example binding, usually defined in a controller's init. This populates the menulist with the contents of the method getListItems() in the controller:
Code Block |
---|
XulMenuList<String> list = (XulMenuList<String>) document.getElementById("list");
Binding b = bf.createBinding(this, "listItems", list, "elements");
b.fireSourceChanged();
|