/*******************************************************************************
* Copyright (c) 2007-2008 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.jsf.vpe.facelets;
import org.jboss.tools.vpe.editor.util.HTML;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
/**
* @author Sergey Dzmitrovich
*
*/
public class Facelets {
public static final String TAG_DEFINE = "define"; //$NON-NLS-1$
public static final String TAG_PARAM = "param"; //$NON-NLS-1$
public static final String ATTR_NAME = "name"; //$NON-NLS-1$
public static final String ATTR_VALUE = "value"; //$NON-NLS-1$
public static final String ATTR_TEMPLATE = "template"; //$NON-NLS-1$
/**
* Creates and returns a DIV element composed of name of JSP tag
* and the errorMessage.
* <P>
* Should be used to show messages in the VPE like:
* <pre>ui:composition Template is not found.</pre>
*/
public static nsIDOMElement createErrorMessageElement(
nsIDOMDocument visualDocument,
String tagName, String errorMessage) {
final String ANY_TAG_CAPTION_CLASS = "__any__tag__caption"; //$NON-NLS-1$
final String MESSAGE_STYLE = "color:red;font-style:italic;"; //$NON-NLS-1$
nsIDOMElement element = visualDocument.createElement(HTML.TAG_DIV);
nsIDOMElement nameTag = visualDocument.createElement(HTML.TAG_SPAN);
nameTag.setAttribute(HTML.ATTR_CLASS, ANY_TAG_CAPTION_CLASS);
nameTag.appendChild(visualDocument.createTextNode(tagName));
element.appendChild(nameTag);
nsIDOMElement messageTag = visualDocument.createElement(HTML.TAG_SPAN);
messageTag.setAttribute(HTML.ATTR_CLASS, ANY_TAG_CAPTION_CLASS);
messageTag.setAttribute(HTML.ATTR_STYLE, MESSAGE_STYLE);
messageTag.appendChild(visualDocument.createTextNode(
" " + errorMessage));//$NON-NLS-1$
element.appendChild(messageTag);
return element;
}
}