diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DefaultJSFHTMLElementEdit.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DefaultJSFHTMLElementEdit.java | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DefaultJSFHTMLElementEdit.java b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DefaultJSFHTMLElementEdit.java new file mode 100644 index 000000000..cb76b24e8 --- /dev/null +++ b/jsf/plugins/org.eclipse.jst.pagedesigner.jsf.ui/src/org/eclipse/jst/pagedesigner/jsf/ui/elementedit/jsfhtml/DefaultJSFHTMLElementEdit.java @@ -0,0 +1,95 @@ +/******************************************************************************* + * Copyright (c) 2006 Sybase, Inc. and others. + * + * All rights reserved. This program and the accompanying materials + * are 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 + * + * Contributors: + * Sybase, Inc. - initial API and implementation + *******************************************************************************/ +package org.eclipse.jst.pagedesigner.jsf.ui.elementedit.jsfhtml; + +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit; +import org.eclipse.jst.pagedesigner.jsf.ui.actions.IJSFCoreSupport; +import org.eclipse.jst.pagedesigner.jsf.ui.actions.JSFAddActionGroup; +import org.eclipse.jst.pagedesigner.jsf.ui.actions.JSFNavigationGroup; +import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement; +import org.w3c.dom.Element; + + +/** + * @author mengbo + * @version 1.5 + */ +public class DefaultJSFHTMLElementEdit extends AbstractElementEdit +{ + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.elementedit.AbstractElementEdit#fillContextMenu(org.eclipse.jface.action.IMenuManager, org.w3c.dom.Element) + */ + public void fillContextMenu(IMenuManager contextMenu, Element ele) + { + super.fillContextMenu(contextMenu, ele); + + // next are JSF HTML special support. + new JSFAddActionGroup().fillContextMenu(contextMenu, (IDOMElement) ele, new JSFCoreSupport(ele.getLocalName())); + new JSFNavigationGroup().fillContextMenu(contextMenu, (IDOMElement) ele, new JSFCoreSupport(ele.getLocalName())); + } + + static class JSFCoreSupport implements IJSFCoreSupport + { + String _localName; + + public JSFCoreSupport(String localtag) + { + _localName = localtag; + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.jsf.actions.IJSFCoreSupport#isActionSource() + */ + public boolean isActionSource() + { + // UICommand. + return _localName.startsWith("command"); + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.jsf.actions.IJSFCoreSupport#isUIComponent() + */ + public boolean isUIComponent() + { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.jsf.actions.IJSFCoreSupport#isValueHolder() + */ + public boolean isValueHolder() + { + // UIOutput + return _localName.startsWith("output") || _localName.startsWith("input") + || _localName.startsWith("select"); + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.jsf.actions.IJSFCoreSupport#isEditableValueHolder() + */ + public boolean isEditableValueHolder() + { + // UIInput + return _localName.startsWith("input") || _localName.startsWith("select"); + } + + /* (non-Javadoc) + * @see org.eclipse.jst.pagedesigner.jsf.actions.IJSFCoreSupport#supportSelectItems() + */ + public boolean supportSelectItems() + { + return _localName.startsWith("select"); + } + + } +} |