[Event(name="change", type="mx.events.ListEvent")]
")
.appendChild(_editor.data);
}
collection.addItem(newItem);
addCancel();
_editor.update(collection.list);
if(!_editor.hasContent()) {
addButton.enabled = false;
}
this.dispatchEvent(new ListEvent("change"));
}
}
private function addCancel():void {
addBox.visible = false;
addBox.enabled = false;
addBox.includeInLayout = false;
addButton.enabled = true;
removeButton.enabled = list.selectedItem != null;
list.enabled = true;
}
override protected function createChildren():void {
super.createChildren();
_editor = _editorFactory.newInstance();
subContainer.addChild(_editor);
}
private function listChanged():void {
if(list.editable)
{
dispatchEvent(new ListEvent('change'))
}
}
private function init():void {
list.addEventListener(ListEvent.ITEM_EDIT_END, function():void
{
if(list.itemEditorInstance is EditableListEditor && EditableListEditor(list.itemEditorInstance).isValid())
{
XML(list.selectedItem).setChildren(list.itemEditorInstance.data);
listChanged();
}
});
}
public function get firstItem():String {
if(collection.length == 0) {
return "";
} else {
return collection.children()[0];
}
}
private function invalid():void {
setStyle("oldBorderStyle", getStyle("borderStyle"));
setStyle("oldBorderColor", getStyle("borderColor"));
setStyle("borderStyle", "solid");
setStyle("borderColor", getStyle("errorColor"));
}
private function valid():void {
setStyle("borderStyle", getStyle("oldBorderStyle"));
setStyle("borderColor", getStyle("oldBorderColor"));
}
]]>