IdentifierNode initObjectIdentifier = nodeFactory.identifier(INITIALIZEFROMOBJECT, false);
ArgumentListNode spArguments = null;
// Look for non state-specific event handler for our event if any.
Initializer baseValue = context.getEventInitializer(event);
// isBaseValueDataBound
if (isDataBound)
{
IdentifierNode isStyleIdentifier = nodeFactory.identifier(ISBASEVALUEDATABOUND, false);
LiteralBooleanNode value = nodeFactory.literalBoolean(true);
LiteralFieldNode literalField = nodeFactory.literalField(isStyleIdentifier, value);
spArguments = nodeFactory.argumentList(spArguments, literalField);
}
// target
if (document.getRoot() != context)
{
IdentifierNode targetIdentifier = nodeFactory.identifier(TARGET, false);
LiteralStringNode valueNode = nodeFactory.literalString(context.getId());
LiteralFieldNode literalField = nodeFactory.literalField(targetIdentifier, valueNode);
spArguments = nodeFactory.argumentList(spArguments, literalField);
}
// name
IdentifierNode nameIdentifier = nodeFactory.identifier(NAME, false);
LiteralStringNode nameNode = nodeFactory.literalString(event);
LiteralFieldNode literalField = nodeFactory.literalField(nameIdentifier, nameNode);
spArguments = nodeFactory.argumentList(spArguments, literalField);
// baseEventHandler
if (baseValue != null)
{
IdentifierNode valueIdentifier = nodeFactory.identifier(ORIGINALHANDLERFUNCTION, false);
macromedia.asc.parser.Node valueNode =
baseValue.generateValueExpr(nodeFactory, configNamespaces, generateDocComments);
literalField = nodeFactory.literalField(valueIdentifier, valueNode);
spArguments = nodeFactory.argumentList(spArguments, literalField);
}
// eventHandler