JBoss Tools SVN: r15337 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-05-18 22:48:33 -0400 (Mon, 18 May 2009)
New Revision: 15337
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/ClassFieldEditorValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
Log:
JBIDE-4232
Extent validation extension point of the "WST validation platform" to validate the smooks file
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2009-05-18 20:13:30 UTC (rev 15336)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/META-INF/MANIFEST.MF 2009-05-19 02:48:33 UTC (rev 15337)
@@ -18,7 +18,9 @@
org.eclipse.emf.edit,
org.eclipse.emf.edit.ui,
org.eclipse.jdt.core,
- org.eclipse.jdt.ui
+ org.eclipse.jdt.ui,
+ org.eclipse.wst.validation,
+ org.eclipse.wst.validation.ui;bundle-version="1.2.2"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-Vendor: JBoss, a division of Red Hat
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml 2009-05-18 20:13:30 UTC (rev 15336)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/plugin.xml 2009-05-19 02:48:33 UTC (rev 15337)
@@ -88,5 +88,27 @@
name="uri">
</attribute>
</extension>
+ <extension
+ id="org.jboss.tools.smooks.configuration.validator"
+ name="Smooks File Validator"
+ point="org.eclipse.wst.validation.validatorV2">
+ <validator
+ build="true"
+ class="org.jboss.tools.smooks.configuration.validate.SmooksModelValidator"
+ manual="true"
+ version="1">
+ <include>
+ <rules>
+ <contentType
+ exactMatch="true"
+ id="org.jboss.tools.smooks.ui.smooks.contentType">
+ </contentType>
+ </rules>
+ </include>
+ <group
+ id="org.eclipse.wst.sse.core.structuredModelGroup">
+ </group>
+ </validator>
+ </extension>
</plugin>
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java 2009-05-19 02:48:33 UTC (rev 15337)
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.validate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.util.BasicDiagnostic;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public abstract class AbstractValidator implements ISmooksValidator {
+
+
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.validate.ISmooksValidator#validate(java.util.Collection, org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ public List<Diagnostic> validate(Collection<?> selectedObjects, EditingDomain editingDomain) {
+ preStartValidation();
+ List<Diagnostic> list = new ArrayList<Diagnostic>();
+ for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ Diagnostic d = validateModel(object, editingDomain);
+ if(d != null){
+ list.add(d);
+ }
+ if (object instanceof EObject) {
+ List<Diagnostic> dd = validate(((EObject) object).eContents(),editingDomain);
+ if (dd != null) {
+ list.addAll(dd);
+ }
+ }
+ }
+ return list;
+ }
+
+ protected void preStartValidation(){
+
+ }
+
+ protected Diagnostic newDiagnostic(int severity , String message , Object model, EAttribute property){
+ return new BasicDiagnostic(severity, "org.jboss.tools", 0, message, new Object[] {
+ model, property });
+ }
+
+ protected Diagnostic newWaringDiagnostic(String message , Object model, EAttribute property){
+ return newDiagnostic(Diagnostic.WARNING, message, model, property);
+ }
+
+ protected Diagnostic newErrorDiagnostic(String message , Object model, EAttribute property){
+ return newDiagnostic(Diagnostic.ERROR, message, model, property);
+ }
+
+ protected Diagnostic validateModel(Object model , EditingDomain editingDomain){
+ return null;
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/AbstractValidator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/ClassFieldEditorValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/ClassFieldEditorValidator.java 2009-05-18 20:13:30 UTC (rev 15336)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/ClassFieldEditorValidator.java 2009-05-19 02:48:33 UTC (rev 15337)
@@ -16,7 +16,6 @@
import java.util.List;
import org.eclipse.core.resources.IResource;
-import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.EditingDomain;
@@ -31,7 +30,7 @@
* @author Dart (dpeng(a)redhat.com)
*
*/
-public class ClassFieldEditorValidator implements ISmooksValidator {
+public class ClassFieldEditorValidator extends AbstractValidator {
private ProjectClassLoader classLoader;
@@ -59,6 +58,12 @@
BindingsType bindings = (BindingsType) object;
classLoader = getClassLoader(bindings);
String clazz = bindings.getClass_();
+ if (clazz != null) {
+ clazz = clazz.trim();
+ if (clazz.endsWith("[]")) {
+ clazz = clazz.substring(0, clazz.length() - 2);
+ }
+ }
Class<?> clazz1 = null;
if (clazz != null && classLoader != null) {
try {
@@ -69,8 +74,7 @@
}
String message = "Can't find class : \"" + clazz + "\"";
if (clazz1 == null) {
- list.add(new BasicDiagnostic(Diagnostic.WARNING, "org.jboss.tools", 0, message, new Object[] {
- bindings, JavabeanPackage.Literals.BINDINGS_TYPE__CLASS }));
+ list.add(newWaringDiagnostic(message, bindings, JavabeanPackage.Literals.BINDINGS_TYPE__CLASS));
}
}
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java 2009-05-19 02:48:33 UTC (rev 15337)
@@ -0,0 +1,98 @@
+/*******************************************************************************
+ * Copyright (c) 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.configuration.validate;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
+
+/**
+ * @author Dart (dpeng(a)redhat.com)
+ *
+ */
+public class DuplicatedBeanIDValidator extends AbstractValidator {
+
+ private List<String> beanIdList = new ArrayList<String>();
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.jboss.tools.smooks.configuration.validate.AbstractValidator#validate
+ * (java.util.Collection, org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ @Override
+ public List<Diagnostic> validate(Collection<?> selectedObjects, EditingDomain editingDomain) {
+ beanIdList.clear();
+ findDuplicatedBeanId(selectedObjects);
+ if(beanIdList.isEmpty()){
+ return null;
+ }
+ List<Diagnostic> list = new ArrayList<Diagnostic>();
+ validateModel(selectedObjects, list);//, editingDomain)
+ return list;
+ }
+
+ private boolean isDuplicateBeanId(String id){
+ if(id != null){
+ id = id.trim();
+ }
+ return beanIdList.contains(id);
+ }
+
+ protected void validateModel(Collection<?> selectedObjects , List<Diagnostic> list){
+ for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof BindingsType) {
+ String beanId = ((BindingsType) object).getBeanId();
+ if(isDuplicateBeanId(beanId)){
+ list.add(newWaringDiagnostic("Duplicated beanId : " + beanId, object,
+ JavabeanPackage.Literals.BINDINGS_TYPE__BEAN_ID));
+ }
+ continue;
+ }
+ if (object instanceof EObject) {
+ validateModel(((EObject) object).eContents() , list);
+ }
+ }
+ }
+
+ protected void findDuplicatedBeanId(Collection<?> selectedObjects) {
+ List<String> idlist = new ArrayList<String>();
+ for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof BindingsType) {
+ String beanId = ((BindingsType) object).getBeanId();
+ if (beanId != null) {
+ beanId = beanId.trim();
+ }
+ if (idlist.contains(beanId)) {
+ if (!beanIdList.contains(beanId)) {
+ beanIdList.add(beanId);
+ }
+ } else {
+ idlist.add(beanId);
+ }
+ continue;
+ }
+ if (object instanceof EObject) {
+ findDuplicatedBeanId(((EObject) object).eContents());
+ }
+ }
+ }
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-05-18 20:13:30 UTC (rev 15336)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-05-19 02:48:33 UTC (rev 15337)
@@ -10,43 +10,79 @@
******************************************************************************/
package org.jboss.tools.smooks.configuration.validate;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.command.BasicCommandStack;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.BasicDiagnostic;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.util.Diagnostician;
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.wst.validation.AbstractValidator;
+import org.eclipse.wst.validation.ValidationResult;
+import org.eclipse.wst.validation.ValidationState;
+import org.eclipse.wst.validation.internal.core.ValidationException;
+import org.eclipse.wst.validation.internal.provisional.core.IReporter;
+import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
+import org.eclipse.wst.validation.internal.provisional.core.IValidator;
+import org.jboss.tools.smooks.model.calc.provider.CalcItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.common.provider.CommonItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.csv.provider.CsvItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.datasource.provider.DatasourceItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.dbrouting.provider.DbroutingItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.edi.provider.EdiItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.fileRouting.provider.FileRoutingItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.freemarker.provider.FreemarkerItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.groovy.provider.GroovyItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.iorouting.provider.IoroutingItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.javabean.provider.JavabeanItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.jmsrouting.provider.JmsroutingItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.json.provider.JsonItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.medi.provider.MEdiItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.smooks.provider.SmooksItemProviderAdapterFactory;
+import org.jboss.tools.smooks.model.xsl.provider.XslItemProviderAdapterFactory;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksResourceFactoryImpl;
/**
* @author Dart (dpeng(a)redhat.com)
* <p>
* Apr 14, 2009
*/
-public class SmooksModelValidator implements ISmooksValidator{
+public class SmooksModelValidator extends AbstractValidator implements IValidator, ISmooksValidator {
Collection<?> selectedObjects;
EditingDomain domain;
private boolean starting = false;
private boolean waiting = false;
private Object lock = new Object();
-
+ private AdapterFactoryEditingDomain innerEditingDomain;
+
private long watingTime = 300;
private List<ISmooksModelValidateListener> listeners = new ArrayList<ISmooksModelValidateListener>();
-
+
private List<ISmooksValidator> validatorList = new ArrayList<ISmooksValidator>();
public SmooksModelValidator(Collection<?> selectedObjects, EditingDomain domain) {
@@ -57,6 +93,8 @@
public SmooksModelValidator() {
validatorList.add(new ClassFieldEditorValidator());
+ validatorList.add(new DuplicatedBeanIDValidator());
+ innerEditingDomain = newEditingDomain();
}
public void addValidateListener(ISmooksModelValidateListener l) {
@@ -74,6 +112,13 @@
return validate(new NullProgressMonitor());
}
+ public List<Diagnostic> validate(Collection<?> selectedObjects, EditingDomain editingDomain,
+ IProgressMonitor monitor) {
+ this.selectedObjects = selectedObjects;
+ domain = editingDomain;
+ return validate(monitor);
+ }
+
public List<Diagnostic> validate(final IProgressMonitor progressMonitor) {
EObject eObject = (EObject) selectedObjects.iterator().next();
int count = 0;
@@ -112,15 +157,17 @@
progressMonitor.setTaskName("Validating...");
Diagnostic diagnostic = diagnostician.validate(eObject);
-
+
List<Diagnostic> list = new ArrayList<Diagnostic>();
list.add(diagnostic);
for (Iterator<?> iterator = this.validatorList.iterator(); iterator.hasNext();) {
ISmooksValidator validator = (ISmooksValidator) iterator.next();
List<Diagnostic> d = validator.validate(selectedObjects, domain);
- for (Iterator<?> iterator2 = d.iterator(); iterator2.hasNext();) {
- Diagnostic diagnostic2 = (Diagnostic) iterator2.next();
- ((BasicDiagnostic)diagnostic).add(diagnostic2);
+ if (d != null) {
+ for (Iterator<?> iterator2 = d.iterator(); iterator2.hasNext();) {
+ Diagnostic diagnostic2 = (Diagnostic) iterator2.next();
+ ((BasicDiagnostic) diagnostic).add(diagnostic2);
+ }
}
}
return list;
@@ -192,4 +239,102 @@
thread.setName("Validate Smooks model");
thread.start();
}
+
+ private AdapterFactoryEditingDomain newEditingDomain() {
+ ComposedAdapterFactory adapterFactory = new ComposedAdapterFactory(
+ ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+
+ adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new XslItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new FreemarkerItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new JavabeanItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new CommonItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new SmooksItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new MEdiItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new EdiItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new IoroutingItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new JsonItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new JmsroutingItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new DbroutingItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new CsvItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new DatasourceItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new CalcItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new GroovyItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new FileRoutingItemProviderAdapterFactory());
+ adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+ BasicCommandStack commandStack = new BasicCommandStack();
+ AdapterFactoryEditingDomain editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack,
+ new HashMap<Resource, Boolean>());
+ return editingDomain;
+ }
+
+ @Override
+ public ValidationResult validate(IResource resource, int kind, ValidationState state, IProgressMonitor monitor) {
+ System.out.println("validate file : " + resource.getFullPath().toOSString() + ", resource change type : "
+ + kind);
+
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain) this.domain;
+ if (editingDomain == null) {
+ editingDomain = this.innerEditingDomain;
+ }
+ if (editingDomain == null)
+ return null;
+ Object smooksModel = null;
+ Resource smooksResource = new SmooksResourceFactoryImpl().createResource(URI.createPlatformResourceURI(resource
+ .getFullPath().toPortableString(), false));
+ try {
+ smooksResource.load(Collections.emptyMap());
+ smooksModel = smooksResource.getContents().get(0);
+ } catch (IOException e) {
+ return null;
+ }
+ if (smooksModel == null) {
+ return null;
+ }
+ List<Object> list = new ArrayList<Object>();
+ list.add(smooksModel);
+ for (Iterator<?> iterator = listeners.iterator(); iterator.hasNext();) {
+ final ISmooksModelValidateListener l = (ISmooksModelValidateListener) iterator.next();
+ Display.getDefault().syncExec(new Runnable() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ l.validateStart();
+ }
+
+ });
+
+ }
+
+ final List<Diagnostic> d = this.validate(list, editingDomain, monitor);
+ for (Iterator<?> iterator = listeners.iterator(); iterator.hasNext();) {
+ final ISmooksModelValidateListener l = (ISmooksModelValidateListener) iterator.next();
+ Display.getDefault().syncExec(new Runnable() {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ l.validateEnd(d);
+ }
+
+ });
+ }
+
+ return null;
+ }
+
+ public void cleanup(IReporter reporter) {
+
+ }
+
+ public void validate(IValidationContext helper, IReporter reporter) throws ValidationException {
+
+ }
}
15 years, 4 months
JBoss Tools SVN: r15336 - in trunk: common/plugins/org.jboss.tools.common.el.core/META-INF and 3 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-05-18 16:13:30 -0400 (Mon, 18 May 2009)
New Revision: 15336
Added:
trunk/common/plugins/org.jboss.tools.common.el.core/plugin.xml
trunk/common/plugins/org.jboss.tools.common.el.core/schema/
trunk/common/plugins/org.jboss.tools.common.el.core/schema/elResolver.exsd
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactory.java
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/META-INF/MANIFEST.MF
trunk/common/plugins/org.jboss.tools.common.el.core/build.properties
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java
trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/META-INF/MANIFEST.MF 2009-05-18 18:52:25 UTC (rev 15335)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/META-INF/MANIFEST.MF 2009-05-18 20:13:30 UTC (rev 15336)
@@ -3,7 +3,7 @@
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.jboss.tools.common.el.core
+Bundle-SymbolicName: org.jboss.tools.common.el.core;singleton=true
Bundle-Version: 2.0.0
Provide-Package: org.jboss.tools.common.el.core,
org.jboss.tools.common.el.core.model,
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/build.properties
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/build.properties 2009-05-18 18:52:25 UTC (rev 15335)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/build.properties 2009-05-18 20:13:30 UTC (rev 15336)
@@ -2,4 +2,6 @@
output.. = bin/
bin.includes = META-INF/,\
.,\
- plugin.properties
+ plugin.properties,\
+ plugin.xml,\
+ schema/
Added: trunk/common/plugins/org.jboss.tools.common.el.core/plugin.xml
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/plugin.xml (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/plugin.xml 2009-05-18 20:13:30 UTC (rev 15336)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension-point id="elResolver" name="EL Resolver" schema="schema/elResolver.exsd"/>
+
+</plugin>
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/plugin.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/common/plugins/org.jboss.tools.common.el.core/schema/elResolver.exsd
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/schema/elResolver.exsd (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/schema/elResolver.exsd 2009-05-18 20:13:30 UTC (rev 15336)
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.jboss.tools.common.el.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.jboss.tools.common.el.core" id="elResolver" name="EL Resolver"/>
+ </appinfo>
+ <documentation>
+ This extenion point is used to enable EL Resolver for a project which has particular nature.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="el-resolver" minOccurs="1" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="el-resolver">
+ <annotation>
+ <documentation>
+ EL Resolver
+ </documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="factory" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="project-nature" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="project-nature">
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ ID of project nature which supports this EL
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.core.resources.natures/@point"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ <attribute name="resolver-class" type="string">
+ <annotation>
+ <documentation>
+ Implementation of org.jboss.tools.common.el.core.resolver.ELResolver
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.jboss.tools.common.el.core.resolver.ELResolver"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="factory">
+ <complexType>
+ <attribute name="class" type="string">
+ <annotation>
+ <documentation>
+ Implementetion of org.jboss.tools.common.el.core.resolver.ELResolverFactory
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.jboss.tools.common.el.core.resolver.ELResolverFactory"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ JBoss Tools 3.1
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ [Enter extension point usage example here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ [Enter API information here.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ [Enter information about supplied implementation of this extension point.]
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="copyright"/>
+ </appinfo>
+ <documentation>
+ Copyright (c) 2009 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
+
+Contributors:
+Red Hat, Inc. - initial API and implementation
+ </documentation>
+ </annotation>
+
+</schema>
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/schema/elResolver.exsd
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java 2009-05-18 18:52:25 UTC (rev 15335)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java 2009-05-18 20:13:30 UTC (rev 15336)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.common.el.core.resolver;
import java.util.HashMap;
Added: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactory.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactory.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactory.java 2009-05-18 20:13:30 UTC (rev 15336)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.el.core.resolver;
+
+import org.eclipse.core.resources.IResource;
+
+/**
+ * @author Alexey Kazakov
+ */
+public interface ELResolverFactory {
+
+ /**
+ * Create EL Resolver for resource. The method may return null.
+ * @param rersource
+ * @return
+ */
+ ELResolver createResolver(IResource resource);
+}
\ No newline at end of file
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java 2009-05-18 20:13:30 UTC (rev 15336)
@@ -0,0 +1,113 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.common.el.core.resolver;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtension;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.InvalidRegistryObjectException;
+import org.eclipse.core.runtime.Platform;
+import org.jboss.tools.common.el.core.Activator;
+
+/**
+ * This factory is used to get EL Resources for particular resource
+ * which are plug in via org.jboss.tools.common.el.core.elResolver extension point.
+ * @author Alexey Kazakov
+ */
+public class ELResolverFactoryManager {
+
+ private static final ELResolverFactoryManager INSTANCE = new ELResolverFactoryManager();
+
+ private Map<String, ELResolver[]> resolvers = new HashMap<String, ELResolver[]>();
+
+ private ELResolverFactoryManager() {
+ }
+
+ /**
+ * Returns an instance of factory manager
+ * @return
+ */
+ public static ELResolverFactoryManager getInstance() {
+ return INSTANCE;
+ }
+
+ /**
+ * Returns all EL resolvers for the resource
+ * @param resource
+ * @return
+ */
+ public ELResolver[] getResolvers(IResource resource) {
+ IProject project = resource.getProject();
+ if(project==null) {
+ return new ELResolver[0];
+ }
+ ELResolver[] result = resolvers.get(project.getName());
+ if(result!=null) {
+ return result;
+ }
+ Set<ELResolver> resolverSet = new HashSet<ELResolver>();
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+ IExtensionPoint extensionPoint = registry.getExtensionPoint("org.jboss.tools.common.el.core.elResolver"); //$NON-NLS-N$1
+ IExtension[] extensions = extensionPoint.getExtensions();
+ for (int i=0; i<extensions.length; i++) {
+ IExtension extension = extensions[i];
+ IConfigurationElement[] elements = extension.getConfigurationElements();
+ for(int j=0; j<elements.length; j++) {
+ IConfigurationElement[] natures = elements[i].getChildren("project-nature"); //$NON-NLS-N$1
+ for (int k = 0; k < natures.length; k++) {
+ String natureId = natures[k].getAttribute("id"); //$NON-NLS-N$1
+ try {
+ if(project.hasNature(natureId)) {
+ Object resolver = natures[k].createExecutableExtension("resolver-class"); //$NON-NLS-N$1
+ if(resolver instanceof ELResolver) {
+ resolverSet.add((ELResolver)resolver);
+ } else {
+ Activator.getPluginLog().logError(resolver.getClass().getName() + " must be instance of org.jboss.tools.common.el.core.resolver.ELResolver");
+ }
+ }
+ } catch (InvalidRegistryObjectException e) {
+ Activator.getPluginLog().logError(e);
+ } catch (CoreException e) {
+ Activator.getPluginLog().logError(e);
+ }
+ }
+ IConfigurationElement[] factories = elements[i].getChildren("factory"); //$NON-NLS-N$1
+ for (int k = 0; k < factories.length; k++) {
+ try {
+ Object factory = factories[k].createExecutableExtension("class"); //$NON-NLS-N$1
+ if(factory instanceof ELResolverFactory) {
+ ELResolver resolver = ((ELResolverFactory)factory).createResolver(resource);
+ if(resolver!=null) {
+ resolverSet.add(resolver);
+ }
+ } else {
+ Activator.getPluginLog().logError(factory.getClass().getName() + " must be instance of org.jboss.tools.common.el.core.resolver.ELResolverFactory");
+ }
+ } catch (CoreException e) {
+ Activator.getPluginLog().logError(e);
+ }
+ }
+ }
+ }
+ result = resolverSet.toArray(new ELResolver[resolverSet.size()]);
+ resolvers.put(project.getName(), result);
+ return result;
+ }
+}
\ No newline at end of file
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELResolverFactoryManager.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml 2009-05-18 18:52:25 UTC (rev 15335)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/plugin.xml 2009-05-18 20:13:30 UTC (rev 15336)
@@ -491,5 +491,12 @@
<variableresolver
class="org.jboss.tools.seam.internal.core.el.VariableResolver"
id="org.jboss.tools.seam.el.variableresolver"/>
+ </extension>
+
+ <extension
+ point="org.jboss.tools.common.el.core.elResolver">
+ <el-resolver id="seamELResolver">
+ <project-nature id="org.jboss.tools.seam.core.seamnature"/>
+ </el-resolver>
</extension>
</plugin>
15 years, 4 months
JBoss Tools SVN: r15335 - in trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test: resources/richFacesTest/WebContent/pages/components/panelMenu and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: sdzmitrovich
Date: 2009-05-18 14:52:25 -0400 (Mon, 18 May 2009)
New Revision: 15335
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml.xml
Removed:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp.xml
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/src/org/jboss/tools/jsf/vpe/richfaces/test/RichFacesComponentContentTest.java
Log:
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml 2009-05-18 17:24:09 UTC (rev 15334)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -8,8 +8,13 @@
<head>
<style>
- .redText {color:red;}
- .blueText {color:blue;}
+.redText {
+ color: red;
+}
+
+.blueText {
+ color: blue;
+}
</style>
</head>
<body>
@@ -76,6 +81,59 @@
</rich:columnGroup>
</f:facet>
</rich:dataTable>
+ <rich:panel id="column5">
+ <f:facet name="header">
+ <h:outputText value="Column" />
+ </f:facet>
+ <rich:dataTable id="table1" value="#{bookList.bookList}" var="book"
+ style="text-align:center;color:Orchid;font-style:italic;font-size:small;border-style:dotted;background-color:Turquoise;border-color:Orchid;text-decoration:underline;font-family:Arial;border-width:thick;font-weight:bolder"
+ columnClasses="evenRow, oddRow" sortMode="multi">
+ <f:facet name="header">
+ <h:outputText value="#{msg.pageTitle}" />
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}" />
+ </f:facet>
+ <rich:column sortBy="#{book.price}" id="col2" styleClass="btn">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}" />
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}" />
+ </f:facet>
+ <h:outputText value="#{book.price}" />
+ </rich:column>
+ <rich:column id="col3" sortBy="#{book.numOfCopies}" visible="false"
+ breakBefore="true">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}" />
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}" />
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}" />
+ </rich:column>
+ <rich:column sortBy="#{book.price}" id="col4"
+ style="text-align:center;color:Turquoise;font-style:italic;font-size:small;border-style:dotted;background-color:PaleVioletRed;border-color:Cornsilk;text-decoration:line-through;font-family:Bookman Old Style;border-width:thick;font-weight:bold;">
+ <f:facet name="header">
+ <h:outputText value="#{msg.priceColumnName}" />
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="#{msg.priceColumnName}" />
+ </f:facet>
+ <h:outputText value="#{book.price}" />
+ </rich:column>
+ <rich:column id="col5" sortBy="#{book.numOfCopies}" visible="true">
+ <f:facet name="footer">
+ <h:outputText value="#{msg.titleColumnName}" />
+ </f:facet>
+ <f:facet name="header">
+ <h:outputText value="#{msg.titleColumnName}" />
+ </f:facet>
+ <h:outputText value="#{book.numOfCopies}" />
+ </rich:column>
+ </rich:dataTable>
+ </rich:panel>
</h:form>
</body>
</html>
\ No newline at end of file
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml.xml 2009-05-18 17:24:09 UTC (rev 15334)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/column.xhtml.xml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -5,8 +5,8 @@
</TD>
</test>
<test id="column2">
- <TD BREAKBEFORE="true" ID="column2"
- CLASS="dr-table-headercell rich-table-headercell">
+ <TD BREAKBEFORE="true" ID="column2"
+ CLASS="dr-table-headercell rich-table-headercell">
<SPAN>field1</SPAN>
</TD>
</test>
@@ -20,4 +20,158 @@
<SPAN>footer1</SPAN>
</TD>
</test>
+ <test id="column5">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-h rich-panel-header"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <SPAN CLASS="vpe-text">
+ Column
+ </SPAN>
+ </DIV>
+ <DIV CLASS="dr-pnl-b rich-panel-body">
+ <TABLE ID="table1" VALUE="#{bookList.bookList}" VAR="book"
+ STYLE="border: thick dotted Orchid; text-align: center; color: Orchid; font-style: italic; font-size: small; background-color: Turquoise; text-decoration: underline; font-family: Arial; font-weight: bolder;"
+ COLUMNCLASSES="evenRow, oddRow" SORTMODE="multi" CLASS="dr-table rich-table">
+ <COLGROUP SPAN="4">
+ </COLGROUP>
+ <THEAD>
+ <TR CLASS="dr-table-header rich-table-header"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <TD CLASS="dr-table-headercell rich-table-headercell" COLSPAN="100"
+ SCOPE="colgroup">
+ <SPAN CLASS="vpe-text">
+ #{msg.pageTitle}
+ </SPAN>
+ </TD>
+ </TR>
+ <TR CLASS="dr-table-subheader rich-table-subheader">
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.priceColumnName}
+ </SPAN>
+ </SPAN>
+ <IMG
+ SRC="/.*resources/column/sortable.gif/"
+ STYLE="vertical-align: middle;" />
+
+ </TD>
+ <TD STYLE="display: none;" CLASS="dr-table-subheadercell rich-table-subheadercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.titleColumnName}
+ </SPAN>
+ </SPAN>
+ <IMG
+ SRC="/.*resources/column/sortable.gif/"
+ STYLE="vertical-align: middle;" />
+
+ </TD>
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.priceColumnName}
+ </SPAN>
+ </SPAN>
+ <IMG
+ SRC="/.*resources/column/sortable.gif/"
+ STYLE="vertical-align: middle;" />
+
+ </TD>
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.titleColumnName}
+ </SPAN>
+ </SPAN>
+ <IMG
+ SRC="/.*resources/column/sortable.gif/"
+ STYLE="vertical-align: middle;" />
+
+ </TD>
+ </TR>
+ </THEAD>
+ <TFOOT>
+ <TR CLASS="dr-table-subfooter rich-table-subfooter">
+ <TD CLASS="dr-table-subfootercell rich-table-subfootercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.priceColumnName}
+ </SPAN>
+ </SPAN>
+ </TD>
+ <TD STYLE="display: none;" CLASS="dr-table-subfootercell rich-table-subfootercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.titleColumnName}
+ </SPAN>
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-subfootercell rich-table-subfootercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.priceColumnName}
+ </SPAN>
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-subfootercell rich-table-subfootercell"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ #{msg.titleColumnName}
+ </SPAN>
+ </SPAN>
+ </TD>
+ </TR>
+ <TR CLASS="dr-table-footer rich-table-footer"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <TD CLASS="dr-table-footercell rich-table-footercell" COLSPAN="100"
+ SCOPE="colgroup">
+ <SPAN CLASS="vpe-text">
+ #{msg.priceColumnName}
+ </SPAN>
+ </TD>
+ </TR>
+ </TFOOT>
+ <TR CLASS="dr-table-firstrow rich-table-firstrow">
+ <TD SORTBY="#{book.price}" ID="col2" STYLECLASS="btn"
+ CLASS="dr-table-cell rich-table-cell btn evenRow">
+ <SPAN CLASS="vpe-text">
+ #{book.price}
+ </SPAN>
+ </TD>
+ </TR>
+ <TR CLASS="dr-table-row rich-table-row">
+ <TD STYLE="display: none;" ID="col3" SORTBY="#{book.numOfCopies}"
+ VISIBLE="false" BREAKBEFORE="true"
+ CLASS="dr-table-cell rich-table-cell evenRow">
+ <SPAN CLASS="vpe-text">
+ #{book.numOfCopies}
+ </SPAN>
+ </TD>
+ <TD SORTBY="#{book.price}" ID="col4"
+ STYLE="border: thick dotted Cornsilk; text-align: center; color: Turquoise; font-style: italic; font-size: small; background-color: PaleVioletRed; text-decoration: line-through; font-family: Bookman Old Style; font-weight: bold;"
+ CLASS="dr-table-cell rich-table-cell oddRow">
+ <SPAN CLASS="vpe-text">
+ #{book.price}
+ </SPAN>
+ </TD>
+ <TD ID="col5" SORTBY="#{book.numOfCopies}" VISIBLE="true"
+ CLASS="dr-table-cell rich-table-cell evenRow">
+ <SPAN CLASS="vpe-text">
+ #{book.numOfCopies}
+ </SPAN>
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ </test>
</tests>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:rich="http://richfaces.org/rich"
+ xmlns:a4j="http://richfaces.org/a4j">
+
+<head>
+ <link href="/WebContent/pages/components/main.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<rich:panel style="width : 780px; height : 702px;" id="dataTable">
+ <f:facet name="header">
+ <h:outputText value="Data Table & Spacer & DataScroller" />
+ </f:facet>
+ <rich:datascroller for="auction" maxPages="3" align="right"
+ boundaryControls="hide" styleClass="evenRow"
+ inactiveStyle="text-align:center;color:red;font-style:italic;border-style:none;background-color:green;text-decoration:overline;font-weight:bolder;"
+ selectedStyle="text-align:right;color:Navy;font-style:italic;background-color:PaleVioletRed;text-decoration:overline;font-weight:bolder;"
+ style="text-align:center;color:Orchid;font-style:italic;font-size:small;background-color:Turquoise;text-decoration:line-through;font-weight:bolder;" />
+ <rich:spacer height="30" width="700"
+ style="background-color:red; width : 748px;" styleClass="btn" />
+ <rich:dataTable id="auction" value="#{auctionDataModel}"
+ columnClasses="col1,col2,col3,col4" var="item" rows="10" width="100%"
+ columnsWidth="50" bgcolor="green" border="10" headerClass="btn"
+ footerClass="btn" sortMode="multi" style="color:red" styleClass="btn">
+ <f:facet name="header">
+ <h:outputText value="Header of the table" />
+ </f:facet>
+ <f:facet name="footer">
+ <h:outputText value="Footer of the table" />
+ </f:facet>
+ <rich:column sortBy="#{item.description}"
+ sortIcon="/pages/images/icons/copy.gif">
+ <f:facet name="header">
+ <h:outputText value="Description" />
+ </f:facet>
+ <h:outputText value="#{item.description}" />
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">
+ <h:outputText value="Highest Bid" />
+ </f:facet>
+ <h:outputText id="highestBid" value="#{item.highestBid}">
+ <f:convertNumber pattern="$#,##0.00" />
+ </h:outputText>
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">
+ <h:outputText value="Your Bid" />
+ </f:facet>
+
+ <rich:message for="bid" />
+ <br />
+ <h:inputText id="bid" value="#{item.bid}" label="Bid">
+ <f:validateDoubleRange minimum="0" maximum="1000000" />
+ </h:inputText>
+ <a4j:commandLink id="bid_link" actionListener="#{item.placeBid}"
+ value="Place a bid!" reRender="bid,amount,highestBid" />
+
+ </rich:column>
+ <rich:column>
+ <f:facet name="header">
+ <h:outputText value="Amount" />
+ </f:facet>
+ <h:outputText id="amount" value="#{item.amount}">
+ <f:convertNumber pattern="$#,##0.00" />
+ </h:outputText>
+ </rich:column>
+ </rich:dataTable>
+</rich:panel>
+</body>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/dataTable&Spacer&DataScroller.xhtml.xml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,147 @@
+<tests>
+ <test id="dataTable">
+ <DIV CLASS="dr-pnl rich-panel" STYLE="width: 780px; height: 702px;">
+ <DIV CLASS="dr-pnl-h rich-panel-header"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <SPAN CLASS="vpe-text">
+ Data Table & Spacer & DataScroller
+ </SPAN>
+ </DIV>
+ <DIV CLASS="dr-pnl-b rich-panel-body">
+ <DIV ALIGN="right" CLASS="rich-datascr evenRow" STYLE="text-align: center; color: Orchid; font-style: italic; font-size: small; background-color: Turquoise; text-decoration: line-through; font-weight: bolder;">
+<TABLE CELLSPACING="1" CELLPADDING="0" BORDER="0" CLASS="rich-dtascroller-table">
+<TBODY>
+<TR>
+<TD ALIGN="center" CLASS="rich-datascr-button rich-datascr-button-dsbld">
+«
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-button rich-datascr-button-dsbld">
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-act" STYLE="text-align: right; color: Navy; font-style: italic; background-color: PaleVioletRed; text-decoration: overline; font-weight: bolder;">
+1
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-inact" STYLE="border-style: none; text-align: center; color: red; font-style: italic; background-color: green; text-decoration: overline; font-weight: bolder;">
+2
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-inact" STYLE="border-style: none; text-align: center; color: red; font-style: italic; background-color: green; text-decoration: overline; font-weight: bolder;">
+3
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-button">
+</TD>
+<TD ALIGN="center" CLASS="rich-datascr-button">
+»
+</TD>
+</TR>
+</TBODY>
+</TABLE>
+</DIV>
+ <IMG WIDTH="700" HEIGHT="30"
+ SRC="/.*resources/spacer/spacer.gif/"
+ STYLE="background-color: red; width: 748px;" CLASS="rich-spacer btn" />
+
+ <TABLE WIDTH="100%" BORDER="10" BGCOLOR="green" ID="auction"
+ VALUE="#{auctionDataModel}" COLUMNCLASSES="col1,col2,col3,col4"
+ VAR="item" ROWS="10" COLUMNSWIDTH="50" HEADERCLASS="btn"
+ FOOTERCLASS="btn" SORTMODE="multi" STYLE="color: red;" STYLECLASS="btn"
+ CLASS="dr-table rich-table btn">
+ <COLGROUP SPAN="4">
+ <COL WIDTH="50" />
+
+ </COLGROUP>
+ <THEAD>
+ <TR CLASS="dr-table-header rich-table-header btn"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <TD CLASS="dr-table-headercell rich-table-headercell btn"
+ COLSPAN="100" SCOPE="colgroup">
+ <SPAN CLASS="vpe-text">
+ Header of the table
+ </SPAN>
+ </TD>
+ </TR>
+ <TR CLASS="dr-table-subheader rich-table-subheader btn">
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell btn"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ Description
+ </SPAN>
+ </SPAN>
+ <IMG
+ SRC="/.*ve/unresolved_image.gif/"
+ STYLE="vertical-align: middle;" />
+
+ </TD>
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell btn"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ Highest Bid
+ </SPAN>
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell btn"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ Your Bid
+ </SPAN>
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-subheadercell rich-table-subheadercell btn"
+ SCOPE="col">
+ <SPAN>
+ <SPAN CLASS="vpe-text">
+ Amount
+ </SPAN>
+ </SPAN>
+ </TD>
+ </TR>
+ </THEAD>
+ <TFOOT>
+ <TR CLASS="dr-table-footer rich-table-footer btn"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <TD CLASS="dr-table-footercell rich-table-footercell btn"
+ COLSPAN="100" SCOPE="colgroup">
+ <SPAN CLASS="vpe-text">
+ Footer of the table
+ </SPAN>
+ </TD>
+ </TR>
+ </TFOOT>
+ <TR CLASS="dr-table-firstrow rich-table-firstrow">
+ <TD SORTBY="#{item.description}" SORTICON="/pages/images/icons/copy.gif"
+ CLASS="dr-table-cell rich-table-cell col1">
+ <SPAN CLASS="vpe-text">
+ #{item.description}
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-cell rich-table-cell col2">
+ <SPAN>
+ #{item.highestBid}
+ </SPAN>
+ </TD>
+ <TD CLASS="dr-table-cell rich-table-cell col3">
+ <SPAN>
+ Validation message
+ <BR VPE:PSEUDO-ELEMENT="yes"
+ STYLE="font-style: italic; color: green; -moz-user-modify: read-only;" />
+
+ </SPAN>
+ <BR STYLE="-moz-user-modify: read-write;" />
+
+ <INPUT VALUE="#{item.bid}" />
+ <A STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">Place a bid!</SPAN>
+ </A>
+ </TD>
+ <TD CLASS="dr-table-cell rich-table-cell col4">
+ <SPAN>
+ #{item.amount}
+ </SPAN>
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ </test>
+</tests>
\ No newline at end of file
Deleted: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp 2009-05-18 17:24:09 UTC (rev 15334)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp 2009-05-18 18:52:25 UTC (rev 15335)
@@ -1,22 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
-<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
-<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
-
-<html>
-<head>
-<style type="text/css">
- .blue-border {
- color:blue;
- }
-</style>
-</head>
-<body>
-<f:view>
-<h:form>
- <rich:editor id="richEditor" width="391" height="347" styleClass="blue-border" style="border: 5px dotted;"/>
-</h:form>
-</f:view>
-
-</body>
-</html>
Deleted: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp.xml 2009-05-18 17:24:09 UTC (rev 15334)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.jsp.xml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -1,33 +0,0 @@
-<tests>
- <test id="richEditor">
- <SPAN CLASS="richfacesSimpleSkin blue-border" STYLE="border: 5px dotted ; display: table;">
- <TABLE CELLSPACING="0" CELLPADDING="0" CLASS="mceLayout"
- STYLE="width: 391px; height: 347px;">
- <TR STYLE="height: 100%;">
- <TD>
- <DIV CLASS="mceIframeContainer" STYLE="height: 100%;">
- <TABLE BORDER="0" STYLE="width: 100%; height: 100%;">
- <TR>
- <TD>
- </TD>
- </TR>
- </TABLE>
- </DIV>
- </TD>
- </TR>
- <TR>
- <TD CLASS="mceToolbar">
- <TABLE CELLSPACING="0" CELLPADDING="0" CLASS="mceToolbarTable">
- <TR>
- <TD>
- <DIV CLASS="mce_panel">
- </DIV>
- </TD>
- </TR>
- </TABLE>
- </TD>
- </TR>
- </TABLE>
- </SPAN>
- </test>
-</tests>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,21 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:rich="http://richfaces.org/rich">
+
+<head>
+</head>
+<body>
+<rich:panel id="editor">
+ <f:facet name="header">
+ <h:outputText value="Editor" />
+ </f:facet>
+ <rich:editor width="264" height="200"
+ style="width:500; background-color:red">
+ </rich:editor>
+</rich:panel>
+</body>
+
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/editor.xhtml.xml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,43 @@
+<tests>
+ <test id="editor">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-h rich-panel-header"
+ STYLE="/background-image: url\(.*resources/common/background.gif\);/">
+ <SPAN CLASS="vpe-text">
+ Editor
+ </SPAN>
+ </DIV>
+ <DIV CLASS="dr-pnl-b rich-panel-body">
+ <SPAN CLASS="richfacesSimpleSkin" STYLE="display: table; background-color: red;">
+ <TABLE CELLSPACING="0" CELLPADDING="0" CLASS="mceLayout"
+ STYLE="width: 264px; height: 200px;">
+ <TR STYLE="height: 100%;">
+ <TD>
+ <DIV CLASS="mceIframeContainer" STYLE="height: 100%;">
+ <TABLE BORDER="0" STYLE="width: 100%; height: 100%;">
+ <TR>
+ <TD>
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </TD>
+ </TR>
+ <TR>
+ <TD CLASS="mceToolbar">
+ <TABLE CELLSPACING="0" CELLPADDING="0" CLASS="mceToolbarTable">
+ <TR>
+ <TD>
+ <DIV CLASS="mce_panel">
+ </DIV>
+ </TD>
+ </TR>
+ </TABLE>
+ </TD>
+ </TR>
+ </TABLE>
+ </SPAN>
+ </DIV>
+ </DIV>
+ </test>
+</tests>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,894 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:rich="http://richfaces.org/rich">
+<head>
+<style>
+.cols {
+ vertical-align: top;
+ width: 50%;
+}
+</style>
+</head>
+<body id="panelMenu">
+<a4j:loadStyle src="/WebContent/pages/components/main.css" />
+<a4j:form>
+ <table>
+ <tr>
+ <td>
+ <p>Panel Menu #1</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu1"
+ style="text-align:center;color:Turquoise;font-style:italic;font-size:large;width:200px;border-style:dashed;background-color:Orchid;border-color:Cornsilk;text-decoration:overline;font-family:Arial Rounded MT Bold;font-weight:bolder;"
+ mode="ajax">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li>Attribute <b>style</b> should be applied for
+ rich:panelMenuGroup inside rich:panelMenuGroup as for items</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #2</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu2" styleClass="btn" mode="ajax">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li>Attribute <b>styleClass</b> isn't applied correctly</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #3</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu3" styleClass="btn"
+ style="text-align:center;color:Turquoise;font-style:italic;font-size:large;width:200px;border-style:dashed;background-color:Orchid;border-color:Cornsilk;text-decoration:overline;font-family:Arial Rounded MT Bold;font-weight:bolder;"
+ mode="ajax">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li>This is an example of <b>styleClass</b> and <b>style</b>
+ interaction (it's incorrect, too)</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #4</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu4" disabled="true"
+ style="text-align:center;color:Turquoise;font-style:italic;font-size:large;width:200px;border-style:dashed;background-color:Orchid;border-color:Cornsilk;text-decoration:overline;font-family:Arial Rounded MT Bold;font-weight:bolder;"
+ mode="ajax">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li>Attribute <b>disabled</b> should disallow access to items
+ inside menu in VPE as browser does. And <i><b>Refresh</b></i> button
+ change disabled style of a component. Names of groups become black
+ color again.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #5</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu5"
+ itemStyle="text-align:right;color:Navy;font-style:oblique;font-size:small;border-style:dotted;background-color:Turquoise;border-color:DodgerBlue;text-decoration:blink;font-family:Calisto MT;border-width:thick;font-weight:bold;"
+ groupStyle="text-align:center;color:Turquoise;font-style:italic;font-size:large;width:200px;border-style:dashed;background-color:Orchid;border-color:Cornsilk;text-decoration:overline;font-family:Arial Rounded MT Bold;font-weight:bolder;"
+ mode="ajax">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>groupStyle</b> should work only for rich:panelMenuGroup
+ inside rich:panelMenuGroup</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #6</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu6" groupClass="btn" itemClass="btn"
+ mode="ajax"
+ style="text-align:right;color:PaleVioletRed;font-style:italic;border-style:dotted;background-color:Cornsilk;border-color:Navy;text-decoration:underline;font-family:Arial Rounded MT Bold;border-width:thick;font-weight:bold;">
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>groupClass</b>, <b>itemClass</b>, <b>style</b>
+ interaction</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #7</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu7" groupClass="btn" itemClass="btn"
+ iconCollapsedGroup="chevronDown"
+ iconCollapsedTopGroup="chevronDown" iconExpandedGroup="chevronUp"
+ iconExpandedTopGroup="chevronUp" expandSingle="true"
+ iconGroupPosition="right" iconItem="disc" iconTopItem="grid"
+ iconItemPosition="right" mode="ajax"
+ style="text-align:right;color:PaleVioletRed;font-style:italic;border-style:dotted;background-color:Cornsilk;border-color:Navy;text-decoration:underline;font-family:Arial Rounded MT Bold;border-width:thick;font-weight:bold;">
+ <rich:panelMenuItem label="Item 0.0"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 0.0" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 1">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>iconCollapsedGroup</b>, <b>iconExpandedGroup</b>, <b>expandSingle</b>
+ don't work. <i>chevronUp</i>, <i>chevronDown</i> aren't displayed
+ correctly. <b>iconGroupPosition</b> doesn't work correctly, it
+ mustn't be applied for topGroups. <b>iconItemPosition</b> doesn't
+ work correctly, it mustn't be applied for topItems.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #8</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu8" groupClass="btn" itemClass="btn"
+ iconCollapsedGroup="chevronDown"
+ iconCollapsedTopGroup="chevronDown" iconExpandedGroup="chevronUp"
+ iconExpandedTopGroup="chevronUp" expandSingle="true"
+ iconItem="disc" iconTopItem="grid" iconDisabledItem="chevron"
+ iconTopDisabledItem="chevron"
+ iconDisabledGroup="/pages/images/ico_close.gif" mode="ajax"
+ style="text-align:right;color:PaleVioletRed;font-style:italic;border-style:dotted;background-color:Cornsilk;border-color:Navy;text-decoration:underline;font-family:Arial Rounded MT Bold;border-width:thick;font-weight:bold;">
+ <rich:panelMenuItem disabled="true" label="Item 0.0"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 0.0" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 1" disabled="true">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem disabled="true" label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4" disabled="true">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>iconDisabledGroup</b> doesn't work.</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #9</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu9" groupClass="btn" itemClass="btn"
+ iconCollapsedGroup="chevronDown"
+ iconCollapsedTopGroup="chevronDown" iconExpandedGroup="chevronUp"
+ iconExpandedTopGroup="chevronUp" expandSingle="true"
+ iconItem="disc" iconTopItem="grid" iconDisabledItem="chevron"
+ iconTopDisabledItem="chevron"
+ iconDisabledGroup="/pages/images/ico_close.gif"
+ disabledItemStyle="text-align:center;color:Grey;font-style:italic;font-size:medium;border-style:dotted;background-color:LawnGreen;border-color:Navy;text-decoration:underline;font-family:Bradley Hand ITC;border-width:thick;"
+ disabledGroupStyle="text-align:center;color:Turquoise;font-style:italic;font-size:small;border-style:double;background-color:PaleVioletRed;border-color:Cornsilk;text-decoration:line-through;font-family:Arial Narrow;border-width:thick;font-weight:bolder;"
+ mode="ajax"
+ style="text-align:right;color:PaleVioletRed;font-style:italic;border-style:dotted;background-color:Cornsilk;border-color:Navy;text-decoration:underline;font-family:Arial Rounded MT Bold;border-width:thick;font-weight:bold;">
+ <rich:panelMenuItem disabled="true" label="Item 0.0"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 0.0" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 1" disabled="true">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem disabled="true" label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4" disabled="true">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>disabeldGroupStyle</b> isn't applied correctly for top
+ groups</li>
+ </ul>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <p>Panel Menu #10</p>
+ <h:form>
+ <h:panelGrid columns="2" columnClasses="cols" width="100%">
+ <rich:panelMenu id="panelMenu10" groupClass="btn" itemClass="btn"
+ iconCollapsedGroup="chevronDown"
+ iconCollapsedTopGroup="chevronDown" iconExpandedGroup="chevronUp"
+ iconExpandedTopGroup="chevronUp" expandSingle="true"
+ iconItem="disc" iconTopItem="grid" iconDisabledItem="chevron"
+ iconTopDisabledItem="chevron"
+ iconDisabledGroup="/pages/images/ico_close.gif"
+ disabledItemClass="btn" disabledGroupClass="btn" mode="ajax"
+ style="text-align:right;color:PaleVioletRed;font-style:italic;border-style:dotted;background-color:Cornsilk;border-color:Navy;text-decoration:underline;font-family:Arial Rounded MT Bold;border-width:thick;font-weight:bold;">
+ <rich:panelMenuItem disabled="true" label="Item 0.0"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 0.0" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 1" disabled="true">
+ <rich:panelMenuItem label="Item 1.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 1.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 1.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 2">
+ <rich:panelMenuItem disabled="true" label="Item 2.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.3" />
+ </rich:panelMenuItem>
+ <rich:panelMenuGroup label="Group 2.4" disabled="true">
+ <rich:panelMenuItem label="Item 2.4.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 2.4.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.4.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuItem label="Item 2.5"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 2.5" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ <rich:panelMenuGroup label="Group 3">
+ <rich:panelMenuItem label="Item 3.1"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.1" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.2"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.2" />
+ </rich:panelMenuItem>
+ <rich:panelMenuItem label="Item 3.3"
+ action="#{panelMenu.updateCurrent}">
+ <f:param name="current" value="Item 3.3" />
+ </rich:panelMenuItem>
+ </rich:panelMenuGroup>
+ </rich:panelMenu>
+ <rich:panel bodyClass="rich-laguna-panel-no-header">
+ <a4j:outputPanel ajaxRendered="true">
+ <h:outputText value="#{panelMenu.current} selected" id="current" />
+ </a4j:outputPanel>
+ </rich:panel>
+ </h:panelGrid>
+ </h:form></td>
+ <td>
+ <ul>
+ <li><b>disabeldGroupStyle</b> isn't applied correctly for top
+ groups</li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+</a4j:form>
+</body>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/resources/richFacesTest/WebContent/pages/components/panelMenu/JBIDE3740.xhtml.xml 2009-05-18 18:52:25 UTC (rev 15335)
@@ -0,0 +1,1640 @@
+<tests>
+ <test id="panelMenu">
+ <DIV ID="panelMenu">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <TABLE STYLE="-moz-user-modify: read-write;">
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #1
+ </SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border-style: dashed; border-color: Cornsilk; text-align: center; color: Turquoise; font-style: italic; font-size: large; width: 200px; background-color: Orchid; text-decoration: overline; font-family: Arial Rounded MT Bold; font-weight: bolder;"
+ CLASS="rich-pmenu">
+ <DIV CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Attribute
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ style
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+should be applied for
+ rich:panelMenuGroup inside rich:panelMenuGroup as for items
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #2
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0" STYLE="" CLASS="rich-pmenu btn">
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Attribute
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ styleClass
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ isn't applied correctly
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #3
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border-style: dashed; border-color: Cornsilk; text-align: center; color: Turquoise; font-style: italic; font-size: large; width: 200px; background-color: Orchid; text-decoration: overline; font-family: Arial Rounded MT Bold; font-weight: bolder;"
+ CLASS="rich-pmenu btn">
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ This is an example of
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ styleClass
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ and
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ style
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ interaction (it's incorrect, too)
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #4
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border-style: dashed; border-color: Cornsilk; text-align: center; color: Turquoise; font-style: italic; font-size: large; width: 200px; background-color: Orchid; text-decoration: overline; font-family: Arial Rounded MT Bold; font-weight: bolder;"
+ CLASS="rich-pmenu">
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element"
+ STYLE="">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ >
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element"
+ STYLE="">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ >
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element"
+ STYLE="">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ >
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Attribute
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ disabled
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+should disallow access to items
+ inside menu in VPE as browser does. And
+</SPAN>
+ <I STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Refresh
+</SPAN>
+ </B>
+ </I>
+ <SPAN CLASS="vpe-text">
+button
+ change disabled style of a component. Names of groups become black
+ color again.
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #5
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0" STYLE="" CLASS="rich-pmenu">
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ groupStyle
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+should work only for rich:panelMenuGroup
+ inside rich:panelMenuGroup
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #6
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border: thick dotted Navy; text-align: right; color: PaleVioletRed; font-style: italic; background-color: Cornsilk; text-decoration: underline; font-family: Arial Rounded MT Bold; font-weight: bold;"
+ CLASS="rich-pmenu">
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ groupClass
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ ,
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ itemClass
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ ,
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ style
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ interaction
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #7
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border: thick dotted Navy; text-align: right; color: PaleVioletRed; font-style: italic; background-color: Cornsilk; text-decoration: underline; font-family: Arial Rounded MT Bold; font-weight: bold;"
+ CLASS="rich-pmenu">
+ <DIV CLASS="dr-pmenu-top-self-div" BORDER="0"
+ STYLE="margin-top: 3px;">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ STYLE="margin-top: 3px;" CLASS="rich-pmenu-item rich-pmenu-top-item">
+ <TR >
+ <TD STYLE="" CLASS="dr-pmenu-nowrap">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/grid.gif/"
+ CLASS="rich-pmenu-item-icon rich-pmenu-top-item-icon" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-item-label rich-pmenu-top-item-label">
+ Item 0.0
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="" CLASS="dr-pmenu-nowrap">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ iconCollapsedGroup
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ ,
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ iconExpandedGroup
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ ,
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ expandSingle
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ don't work.
+</SPAN>
+ <I STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ chevronUp
+</SPAN>
+ </I>
+ <SPAN CLASS="vpe-text">
+ ,
+</SPAN>
+ <I STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ chevronDown
+</SPAN>
+ </I>
+ <SPAN CLASS="vpe-text">
+aren't displayed
+ correctly.
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ iconGroupPosition
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+doesn't work correctly, it
+ mustn't be applied for topGroups.
+</SPAN>
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ iconItemPosition
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+doesn't
+ work correctly, it mustn't be applied for topItems.
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #8
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border: thick dotted Navy; text-align: right; color: PaleVioletRed; font-style: italic; background-color: Cornsilk; text-decoration: underline; font-family: Arial Rounded MT Bold; font-weight: bold;"
+ CLASS="rich-pmenu">
+ <DIV CLASS="dr-pmenu-top-self-div" BORDER="0"
+ STYLE="margin-top: 3px;">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ STYLE="margin-top: 3px;" CLASS="rich-pmenu-item">
+ <TR >
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/chevron.gif/"
+ />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;" >
+ Item 0.0
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element"
+ STYLE="">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*ve/unresolved_image.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ >
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ iconDisabledGroup
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+ doesn't work.
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #9
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border: thick dotted Navy; text-align: right; color: PaleVioletRed; font-style: italic; background-color: Cornsilk; text-decoration: underline; font-family: Arial Rounded MT Bold; font-weight: bold;"
+ CLASS="rich-pmenu">
+ <DIV CLASS="dr-pmenu-top-self-div" BORDER="0"
+ STYLE="margin-top: 3px;">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ STYLE="border: thick dotted Navy; margin-top: 3px; text-align: center; color: Grey; font-style: italic; font-size: medium; background-color: LawnGreen; text-decoration: underline; font-family: Bradley Hand ITC;"
+ CLASS="rich-pmenu-item">
+ <TR >
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/chevron.gif/"
+ />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;" >
+ Item 0.0
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element"
+ STYLE="border: thick double Cornsilk; text-align: center; color: Turquoise; font-style: italic; font-size: small; background-color: PaleVioletRed; text-decoration: line-through; font-family: Arial Narrow; font-weight: bolder;">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*ve/unresolved_image.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ >
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ disabeldGroupStyle
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+isn't applied correctly for top
+ groups
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ <TR STYLE="-moz-user-modify: read-write;">
+ <TD STYLE="-moz-user-modify: read-write;">
+ <P STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ Panel Menu #10
+</SPAN>
+ </P>
+ <FORM STYLE="border: 1px dotted rgb(255, 102, 0); padding: 5px;">
+ <TABLE WIDTH="100%" BORDER="0" STYLE="-moz-user-modify: read-write;">
+ <TBODY>
+ <TR>
+ <TD CLASS="cols">
+ <DIV BORDER="0"
+ STYLE="border: thick dotted Navy; text-align: right; color: PaleVioletRed; font-style: italic; background-color: Cornsilk; text-decoration: underline; font-family: Arial Rounded MT Bold; font-weight: bold;"
+ CLASS="rich-pmenu">
+ <DIV CLASS="dr-pmenu-top-self-div" BORDER="0"
+ STYLE="margin-top: 3px;">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ STYLE="margin-top: 3px;" CLASS="rich-pmenu-item btn">
+ <TR >
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/chevron.gif/"
+ />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;" >
+ Item 0.0
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="" >
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuItem/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-top-group rich-pmenu-group rich-pmenu-disabled-element btn"
+ STYLE="">
+ <TR>
+ <TD>
+ <IMG
+ SRC="/.*ve/unresolved_image.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;">
+ Group 1
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD>
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 2
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ <DIV
+ CLASS="dr-pmenu-top-group-div rich-pmenu-top-group-div">
+ <TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0"
+ CLASS="dr-pmenu-top-group rich-pmenu-group" STYLE="">
+ <TR>
+ <TD
+ CLASS="rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon">
+ <IMG
+ SRC="/.*resources/panelMenuGroup/chevronDown.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="width: 100%;"
+ CLASS="rich-pmenu-top-group-self-label">
+ Group 3
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD
+ CLASS="rich-pmenu-top-group-self-icon">
+ <IMG WIDTH="16" VSPACE="0" HSPACE="0" HEIGHT="16"
+ SRC="/.*resources/panelMenuGroup/spacer.gif/" />
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD CLASS="cols">
+ <DIV CLASS="dr-pnl rich-panel">
+ <DIV CLASS="dr-pnl-b rich-panel-body rich-laguna-panel-no-header">
+ <DIV STYLE="-moz-user-modify: read-write;">
+ <SPAN>
+ #{panelMenu.current} selected
+</SPAN>
+ </DIV>
+ </DIV>
+ </DIV>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TBODY>
+ </TABLE>
+ </FORM>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ <TD STYLE="-moz-user-modify: read-write;">
+ <UL STYLE="-moz-user-modify: read-write;">
+ <LI STYLE="-moz-user-modify: read-write;">
+ <B STYLE="-moz-user-modify: read-write;">
+ <SPAN CLASS="vpe-text">
+ disabeldGroupStyle
+</SPAN>
+ </B>
+ <SPAN CLASS="vpe-text">
+isn't applied correctly for top
+ groups
+</SPAN>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </LI>
+ </UL>
+ <BR _MOZ_DIRTY="" TYPE="_moz" />
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </DIV>
+ </test>
+</tests>
\ No newline at end of file
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/src/org/jboss/tools/jsf/vpe/richfaces/test/RichFacesComponentContentTest.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/src/org/jboss/tools/jsf/vpe/richfaces/test/RichFacesComponentContentTest.java 2009-05-18 17:24:09 UTC (rev 15334)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.richfaces.test/src/org/jboss/tools/jsf/vpe/richfaces/test/RichFacesComponentContentTest.java 2009-05-18 18:52:25 UTC (rev 15335)
@@ -24,6 +24,10 @@
super(name);
setCheckWarning(false);
}
+
+ public void testJBIDE3740() throws Throwable {
+ performContentTest("components/panelMenu/JBIDE3740.xhtml"); //$NON-NLS-1$
+ }
public void testJbide1605() throws Throwable {
performContentTest("components/panelMenuGroup/jbide1605.xhtml"); //$NON-NLS-1$
@@ -252,7 +256,7 @@
}
public void testEditor() throws Throwable {
- performContentTest("components/editor.jsp"); //$NON-NLS-1$
+ performContentTest("components/editor.xhtml"); //$NON-NLS-1$
}
public void testScrollableDataTable() throws Throwable {
@@ -319,6 +323,10 @@
performContentTest("components/treeNodesAdaptor.xhtml");//$NON-NLS-1$
}
+ public void testDataTableSpacerDataScroller() throws Throwable {
+ performContentTest("components/dataTable&Spacer&DataScroller.xhtml");//$NON-NLS-1$
+ }
+
@Override
protected String getTestProjectName() {
return RichFacesAllTests.IMPORT_PROJECT_NAME;
15 years, 4 months
JBoss Tools SVN: r15334 - trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-05-18 13:24:09 -0400 (Mon, 18 May 2009)
New Revision: 15334
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/FaceletPageContextImpl.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/FaceletPageContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/FaceletPageContextImpl.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/FaceletPageContextImpl.java 2009-05-18 17:24:09 UTC (rev 15334)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.kb.internal;
+
+import java.util.Map;
+
+import org.jboss.tools.jst.web.kb.IFaceletPageContext;
+
+/**
+ * Facelet page context
+ * @author Alexey Kazakov
+ */
+public class FaceletPageContextImpl extends JspContextImpl implements IFaceletPageContext {
+
+ private IFaceletPageContext parentContext;
+ private Map<String, String> params;
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.IFaceletPageContext#getParams()
+ */
+ public Map<String, String> getParams() {
+ return params;
+ }
+
+ /**
+ * @param params the params to set
+ */
+ public void setParams(Map<String, String> params) {
+ this.params = params;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.IFaceletPageContext#getParentContext()
+ */
+ public IFaceletPageContext getParentContext() {
+ return parentContext;
+ }
+
+ /**
+ * @param parentContext the parent facelet context to set
+ */
+ public void setParentContext(IFaceletPageContext parentContext) {
+ this.parentContext = parentContext;
+ }
+}
\ No newline at end of file
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/FaceletPageContextImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 17:11:12 UTC (rev 15333)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 17:24:09 UTC (rev 15334)
@@ -27,10 +27,10 @@
*/
public class JspContextImpl extends ELContextImpl implements IPageContext {
- private IDocument document;
- private ITagLibrary[] libs;
- private Map<Region, Map<String, INameSpace>> nameSpaces = new HashMap<Region, Map<String, INameSpace>>();
- private IResourceBundle[] bundles;
+ protected IDocument document;
+ protected ITagLibrary[] libs;
+ protected Map<Region, Map<String, INameSpace>> nameSpaces = new HashMap<Region, Map<String, INameSpace>>();
+ protected IResourceBundle[] bundles;
/*
* (non-Javadoc)
15 years, 4 months
JBoss Tools SVN: r15333 - in trunk: jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-05-18 13:11:12 -0400 (Mon, 18 May 2009)
New Revision: 15333
Added:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java
Modified:
trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContext.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Modified: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContext.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContext.java 2009-05-18 16:58:19 UTC (rev 15332)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContext.java 2009-05-18 17:11:12 UTC (rev 15333)
@@ -34,4 +34,10 @@
* @return
*/
ElVarSearcher getVarSearcher();
+
+ /**
+ * Returns EL Resolvers which are declared for this resource
+ * @return
+ */
+ ELResolver[] getElResolvers();
}
\ No newline at end of file
Added: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java
===================================================================
--- trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java (rev 0)
+++ trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java 2009-05-18 17:11:12 UTC (rev 15333)
@@ -0,0 +1,93 @@
+package org.jboss.tools.common.el.core.resolver;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.jface.text.Region;
+
+/**
+ * EL context
+ * @author Alexey Kazakov
+ */
+public class ELContextImpl implements ELContext {
+
+ protected IFile resource;
+ protected ELResolver[] elResolvers;
+ protected ElVarSearcher varSearcher;
+ protected Map<Region, Set<Var>> vars = new HashMap<Region, Set<Var>>();
+ protected Set<Var> allVars = new HashSet<Var>();
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.kb.text.PageContext#getElResolvers()
+ */
+ public ELResolver[] getElResolvers() {
+ return elResolvers;
+ }
+
+ public void setElResolvers(ELResolver[] elResolvers) {
+ this.elResolvers = elResolvers;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.kb.text.PageContext#getResource()
+ */
+ public IFile getResource() {
+ return resource;
+ }
+
+ public void setResource(IFile resource) {
+ this.resource = resource;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELContext#getVarSearcher()
+ */
+ public ElVarSearcher getVarSearcher() {
+ return varSearcher;
+ }
+
+ /**
+ * @param varSearcher the varSearcher to set
+ */
+ public void setVarSearcher(ElVarSearcher varSearcher) {
+ this.varSearcher = varSearcher;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.el.core.resolver.ELContext#getVars()
+ */
+ public Var[] getVars() {
+ return allVars.toArray(new Var[allVars.size()]);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.common.kb.text.PageContext#getVars(int)
+ */
+ public Var[] getVars(int offset) {
+ Set<Var> result = new HashSet<Var>();
+ for (Region region : vars.keySet()) {
+ if(offset>=region.getOffset() && offset<=region.getOffset() + region.getLength()) {
+ result.addAll(vars.get(region));
+ }
+ }
+ return result.toArray(new Var[result.size()]);
+ }
+
+ /**
+ * Adds new Var to the context
+ * @param region
+ * @param vars
+ */
+ public void addVar(Region region, Var var) {
+ this.vars.get(region).add(var);
+ allVars.add(var);
+ }
+}
\ No newline at end of file
Property changes on: trunk/common/plugins/org.jboss.tools.common.el.core/src/org/jboss/tools/common/el/core/resolver/ELContextImpl.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java 2009-05-18 16:58:19 UTC (rev 15332)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java 2009-05-18 17:11:12 UTC (rev 15333)
@@ -14,7 +14,6 @@
import org.eclipse.jface.text.IDocument;
import org.jboss.tools.common.el.core.resolver.ELContext;
-import org.jboss.tools.common.el.core.resolver.ELResolver;
import org.jboss.tools.common.el.core.resolver.Var;
import org.jboss.tools.jst.web.kb.taglib.INameSpace;
import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
@@ -32,12 +31,6 @@
ITagLibrary[] getLibraries();
/**
- * Returns EL Resolvers which are declared for this page
- * @return
- */
- ELResolver[] getElResolvers();
-
- /**
* Returns resource bundles
* @return
*/
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 16:58:19 UTC (rev 15332)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 17:11:12 UTC (rev 15333)
@@ -11,16 +11,11 @@
package org.jboss.tools.jst.web.kb.internal;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
-import org.eclipse.core.resources.IFile;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.Region;
-import org.jboss.tools.common.el.core.resolver.ELResolver;
-import org.jboss.tools.common.el.core.resolver.ElVarSearcher;
-import org.jboss.tools.common.el.core.resolver.Var;
+import org.jboss.tools.common.el.core.resolver.ELContextImpl;
import org.jboss.tools.jst.web.kb.IPageContext;
import org.jboss.tools.jst.web.kb.IResourceBundle;
import org.jboss.tools.jst.web.kb.taglib.INameSpace;
@@ -30,32 +25,15 @@
* JSP page context
* @author Alexey Kazakov
*/
-public class JspContextImpl implements IPageContext {
+public class JspContextImpl extends ELContextImpl implements IPageContext {
- private IFile resource;
private IDocument document;
- private ElVarSearcher varSearcher;
private ITagLibrary[] libs;
- private ELResolver[] elResolvers;
- private Map<Region, Set<Var>> vars = new HashMap<Region, Set<Var>>();
private Map<Region, Map<String, INameSpace>> nameSpaces = new HashMap<Region, Map<String, INameSpace>>();
- private Set<Var> allVars = new HashSet<Var>();
private IResourceBundle[] bundles;
/*
* (non-Javadoc)
- * @see org.jboss.tools.common.kb.text.PageContext#getResource()
- */
- public IFile getResource() {
- return resource;
- }
-
- public void setResource(IFile resource) {
- this.resource = resource;
- }
-
- /*
- * (non-Javadoc)
* @see org.jboss.tools.common.kb.text.PageContext#getLibraries()
*/
public ITagLibrary[] getLibraries() {
@@ -68,42 +46,6 @@
/*
* (non-Javadoc)
- * @see org.jboss.tools.common.kb.text.PageContext#getElResolvers()
- */
- public ELResolver[] getElResolvers() {
- return elResolvers;
- }
-
- public void setElResolvers(ELResolver[] elResolvers) {
- this.elResolvers = elResolvers;
- }
-
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.common.kb.text.PageContext#getVars(int)
- */
- public Var[] getVars(int offset) {
- Set<Var> result = new HashSet<Var>();
- for (Region region : vars.keySet()) {
- if(offset>=region.getOffset() && offset<=region.getOffset() + region.getLength()) {
- result.addAll(vars.get(region));
- }
- }
- return result.toArray(new Var[result.size()]);
- }
-
- /**
- * Adds new Var to the context
- * @param region
- * @param vars
- */
- public void addVar(Region region, Var var) {
- this.vars.get(region).add(var);
- allVars.add(var);
- }
-
- /*
- * (non-Javadoc)
* @see org.jboss.tools.common.kb.text.PageContext#getResourceBundles()
*/
public IResourceBundle[] getResourceBundles() {
@@ -139,13 +81,6 @@
this.document = document;
}
- /**
- * @param varSearcher the varSearcher to set
- */
- public void setVarSearcher(ElVarSearcher varSearcher) {
- this.varSearcher = varSearcher;
- }
-
/*
* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.PageContext#getDocument()
@@ -154,22 +89,6 @@
return document;
}
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.common.el.core.resolver.ELContext#getVarSearcher()
- */
- public ElVarSearcher getVarSearcher() {
- return varSearcher;
- }
-
- /*
- * (non-Javadoc)
- * @see org.jboss.tools.common.el.core.resolver.ELContext#getVars()
- */
- public Var[] getVars() {
- return allVars.toArray(new Var[allVars.size()]);
- }
-
/* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.IPageContext#getNameSpaces(int)
*/
15 years, 4 months
JBoss Tools SVN: r15332 - in trunk/jst/plugins: org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-05-18 12:58:19 -0400 (Mon, 18 May 2009)
New Revision: 15332
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/WebModelPlugin.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/WebModelPlugin.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/WebModelPlugin.java 2009-05-18 16:50:43 UTC (rev 15331)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/WebModelPlugin.java 2009-05-18 16:58:19 UTC (rev 15332)
@@ -10,31 +10,16 @@
******************************************************************************/
package org.jboss.tools.jst.web;
-import java.io.File;
import java.util.Iterator;
import java.util.Properties;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.debug.core.ILaunchConfigurationType;
import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.ServerUtil;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
import org.jboss.tools.common.log.BaseUIPlugin;
import org.jboss.tools.common.log.IPluginLog;
import org.jboss.tools.common.model.XModel;
@@ -131,5 +116,4 @@
public static IPluginLog getPluginLog() {
return getDefault();
}
-
}
\ No newline at end of file
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 16:50:43 UTC (rev 15331)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 16:58:19 UTC (rev 15332)
@@ -40,6 +40,7 @@
private Map<Region, Set<Var>> vars = new HashMap<Region, Set<Var>>();
private Map<Region, Map<String, INameSpace>> nameSpaces = new HashMap<Region, Map<String, INameSpace>>();
private Set<Var> allVars = new HashSet<Var>();
+ private IResourceBundle[] bundles;
/*
* (non-Javadoc)
@@ -106,11 +107,18 @@
* @see org.jboss.tools.common.kb.text.PageContext#getResourceBundles()
*/
public IResourceBundle[] getResourceBundles() {
- // TODO
- return null;
+ return bundles;
}
/**
+ * Sets resource bundles
+ * @param bundles
+ */
+ public void setResourceBundles(IResourceBundle[] bundles) {
+ this.bundles = bundles;
+ }
+
+ /**
* @return the libs
*/
public ITagLibrary[] getLibs() {
15 years, 4 months
JBoss Tools SVN: r15331 - in trunk/documentation: jboss-tools-docs-archetype and 8 other directories.
by jbosstools-commits@lists.jboss.org
Author: msorokin
Date: 2009-05-18 12:50:43 -0400 (Mon, 18 May 2009)
New Revision: 15331
Added:
trunk/documentation/jboss-tools-docs-archetype/
trunk/documentation/jboss-tools-docs-archetype/pom.xml
trunk/documentation/jboss-tools-docs-archetype/readme.txt
trunk/documentation/jboss-tools-docs-archetype/src/
trunk/documentation/jboss-tools-docs-archetype/src/main/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype.xml
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/images/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/master.xml
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/modules/
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/modules/chapter1.xml
trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/pom.xml
Log:
https://jira.jboss.org/jira/browse/JBDS-708
Archetype is created
Added: trunk/documentation/jboss-tools-docs-archetype/pom.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/pom.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/pom.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?><project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>jboss-tools-docs-archetype</artifactId>
+ <packaging>maven-archetype</packaging>
+ <name>jboss-tools-docs-archetype</name>
+ <version>1.0-SNAPSHOT</version>
+ <build>
+ <extensions>
+ <extension>
+ <groupId>org.apache.maven.archetype</groupId>
+ <artifactId>archetype-packaging</artifactId>
+ <version>2.0-alpha-4</version>
+ </extension>
+ </extensions>
+ <plugins>
+ <plugin>
+ <artifactId>maven-archetype-plugin</artifactId>
+ <version>2.0-alpha-4</version>
+ <extensions>true</extensions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Added: trunk/documentation/jboss-tools-docs-archetype/readme.txt
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/readme.txt (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/readme.txt 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,8 @@
+jboss-tools-docs-archetype
+The "jboss-tools-docs-archetype" archetype help create a skeleton for a new guide. To use it you need to take a few simple steps:
+1. Build the archetype in the current folder with "mvn install"
+2. Navigate to the folder with the new plugin for which you want to make a new guide.
+3. Create the docs folder
+4. CD to docs folder
+5. Run mvn "archetype:generate -DarchetypeGroupId=org.jboss.tools -DarchetypeArtifactId=jboss-tools-docs-archetype -DarchetypeVersion=1.0-SNAPSHOT -DartifactId=XXX_Guide -DgroupId=org.jboss.tools"
+6. That's it. A new guide is created. You can build it (CD to XXX_Guide directory and run "mvn install" ) to see that everything's ok.
Added: trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?><archetype-descriptor name="ref-guide">
+ <fileSets>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>en/modules</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </fileSet>
+ <fileSet filtered="true" encoding="UTF-8">
+ <directory>en</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </fileSet>
+ <fileSet encoding="UTF-8">
+ <directory>en/images</directory>
+ <includes>
+ <include>**/*.db</include>
+ <include>**/*.png</include>
+ <include>**/*.ico</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</archetype-descriptor>
\ No newline at end of file
Added: trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/src/main/resources/META-INF/maven/archetype.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?><archetype>
+ <id>ref-guide</id>
+ <resources>
+ <resource>en\images\</resource>
+ <resource>en\master.xml</resource>
+ <resource>en\modules\chapter1.xml</resource>
+ </resources>
+</archetype>
\ No newline at end of file
Added: trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/master.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/master.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/master.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+
+
+[<!ENTITY chapter1 SYSTEM "modules/chapter1.xml">
+
+
+]>
+<book>
+
+ <bookinfo>
+
+ <title>XXX Tools Reference Guide</title>
+ <author><firstname>Name</firstname><surname>Surname</surname></author>
+ <author><firstname>Svetlana</firstname><surname>Mukhina</surname><email>smukhina(a)exadel.com</email></author>
+
+ <pubdate>April 2008</pubdate>
+ <copyright>
+ <year>2007</year>
+ <year>2009</year>
+ <holder>JBoss, a division of Red Hat</holder>
+ </copyright>
+ <releaseinfo>
+ Version: 3.0.1.GA
+ </releaseinfo>
+
+<abstract>
+ <title/>
+ <para>
+ <ulink url="http://download.jboss.org/jbosstools/nightly-docs/en/seam/pdf/XXX_Referen...">PDF version</ulink>
+ </para>
+</abstract>
+
+
+ </bookinfo>
+ <toc/>
+
+&chapter1;
+
+
+</book>
Added: trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/modules/chapter1.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/modules/chapter1.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/en/modules/chapter1.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<chapter id="chapter1" xreflabel="chapter1">
+ <?dbhtml filename="chapter1.html"?>
+ <chapterinfo>
+ <keywordset>
+ <keyword>JBoss Tools</keyword>
+
+
+ <keyword>JBDS</keyword>
+ </keywordset>
+ </chapterinfo>
+
+ <title>Introduction</title>
+
+ <section>
+
+ <title>What is XXX</title>
+ <para>This introduction will help you to understand what is <property>XXX</property>.</para>
+ <para><property>XXX</property> is a fully featured application framework.</para>
+ </section>
+
+
+</chapter>
\ No newline at end of file
Added: trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/pom.xml
===================================================================
--- trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/pom.xml (rev 0)
+++ trunk/documentation/jboss-tools-docs-archetype/src/main/resources/archetype-resources/pom.xml 2009-05-18 16:50:43 UTC (rev 15331)
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>${groupId}</groupId>
+ <artifactId>${artifactId}</artifactId>
+ <version>${version}</version>
+ <packaging>jdocbook</packaging>
+ <name>Reference_Guide</name>
+
+ <profiles>
+ <profile>
+ <id>release</id>
+ <properties>
+ <master>master_output.xml</master>
+ <xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single-release.xsl</xsl-single>
+ <xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml-release.xsl</xsl-chunked>
+ <xsl-pdf>classpath:/xslt/org/jboss/tools/pdf.xsl</xsl-pdf>
+ </properties>
+ </profile>
+ <profile>
+ <id>releaseJBDS</id>
+ <properties>
+ <master>master_output.xml</master>
+ <xsl-single>classpath:/xslt/com/jboss/tools/xhtml-single-release-nomarker.xsl</xsl-single>
+ <xsl-chunked>classpath:/xslt/com/jboss/tools/xhtml-release-nomarker.xsl</xsl-chunked>
+ <xsl-pdf>classpath:/xslt/com/jboss/tools/pdf.xsl</xsl-pdf>
+ <cssdir>../../../documentation/jbosstools-jdocbook-style/src/main/com/css/</cssdir>
+ </properties>
+ </profile>
+ <profile>
+ <id>diffmk</id>
+ <properties>
+ <master>master_output.xml</master>
+ <xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single-diff.xsl</xsl-single>
+ <xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml-diff.xsl</xsl-chunked>
+ <xsl-pdf>classpath:/xslt/org/jboss/tools/pdf-diff.xsl</xsl-pdf>
+ </properties>
+ </profile>
+ </profiles>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.0-200803311251UTC-MPJDOCBOOK-8</version>
+
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>com.jboss</groupId>
+ <artifactId>jbossent-docbook-xslt</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jboss</groupId>
+ <artifactId>jbossent-jdocbook-style</artifactId>
+ <version>1.0.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-docbook-xslt</artifactId>
+ <version>1.1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossorg-jdocbook-style</artifactId>
+ <version>1.1.0</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>jbosstools-docbook-xslt</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>fop</artifactId>
+ <version>0.95</version>
+ </dependency>
+ </dependencies>
+
+ <configuration>
+ <sourceDocumentName>${master}</sourceDocumentName>
+ <sourceDirectory>${pom.basedir}/en</sourceDirectory>
+ <imageResource>
+ <directory>${pom.basedir}/en</directory>
+ <includes>
+ <include>images/**/*</include>
+ </includes>
+ </imageResource>
+ <cssResource>
+ <directory>${pom.basedir}/${cssdir}</directory>
+ </cssResource>
+
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>${xsl-pdf}</stylesheetResource>
+ <finalName>${pom.name}.pdf</finalName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>${xsl-chunked}</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>${xsl-single}</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ <format>
+ <formatName>eclipse</formatName>
+ <stylesheetResource>file:${pom.basedir}/${stylesdir}/xslt/org/jboss/tools/eclipse.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ </format>
+ </formats>
+
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <xmlTransformerType>saxon</xmlTransformerType>
+ <!-- needed for uri-resolvers; can be ommitted if using 'current' uri scheme -->
+ <!-- could also locate the docbook dependency and inspect its version... -->
+ <docbookVersion>1.72.0</docbookVersion>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <distributionManagement>
+ <repository>
+ <!-- Copy the dist to the local checkout of the JBoss maven2 repo ${maven.repository.root} -->
+ <!-- It is anticipated that ${maven.repository.root} be set in user's settings.xml -->
+ <!-- todo : replace this with direct svn access once the svnkit providers are available -->
+ <id>repository.jboss.org</id>
+ <url>file://${maven.repository.root}</url>
+ </repository>
+ <snapshotRepository>
+ <id>snapshots.jboss.org</id>
+ <name>JBoss Snapshot Repository</name>
+ <url>dav:https://snapshots.jboss.org/maven2</url>
+ </snapshotRepository>
+ </distributionManagement>
+
+ <properties>
+ <stylesdir>../../../documentation/jbosstools-docbook-xslt/src/main/resources/</stylesdir>
+ <xsl-single>classpath:/xslt/org/jboss/tools/xhtml-single.xsl</xsl-single>
+ <xsl-chunked>classpath:/xslt/org/jboss/tools/xhtml.xsl</xsl-chunked>
+ <xsl-pdf>classpath:/xslt/org/jboss/tools/pdf.xsl</xsl-pdf>
+ <cssdir>../../../documentation/jbosstools-jdocbook-style/src/main/org/css/</cssdir>
+ <master>master.xml</master>
+ <translation>en-US</translation>
+ </properties>
+</project>
15 years, 4 months
JBoss Tools SVN: r15330 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-05-18 12:26:19 -0400 (Mon, 18 May 2009)
New Revision: 15330
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/RenameComponentProcessor.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4326
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/RenameComponentProcessor.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/RenameComponentProcessor.java 2009-05-18 15:55:51 UTC (rev 15329)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/refactoring/RenameComponentProcessor.java 2009-05-18 16:26:19 UTC (rev 15330)
@@ -11,6 +11,7 @@
package org.jboss.tools.seam.internal.core.refactoring;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Set;
import java.util.StringTokenizer;
@@ -20,6 +21,7 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.jdt.internal.ui.text.FastJavaPartitionScanner;
@@ -152,15 +154,42 @@
else if(ext.equalsIgnoreCase(PROPERTIES_EXT))
scanProperties(file, content);
}
+
+ ArrayList<IPath> files = new ArrayList<IPath>();
private void findDeclarations() throws CoreException{
- if(component.getJavaDeclaration() != null)
- renameJavaDeclaration(component.getJavaDeclaration());
+ files.clear();
+ findDeclarations(component);
+
+ SeamProjectsSet projectsSet = new SeamProjectsSet(declarationFile.getProject());
+ IProject[] projects = projectsSet.getAllProjects();
+ for (IProject project : projects) {
+ ISeamProject seamProject = SeamCorePlugin.getSeamProject(project, true);
+ if(seamProject != null){
+ ISeamComponent comp = seamProject.getComponent(component.getName());
+ if(comp != null)
+ findDeclarations(comp);
+ }
+ }
+ }
+
+ private void findDeclarations(ISeamComponent component) throws CoreException{
+ if(component.getJavaDeclaration() != null){
+ if(!files.contains(component.getJavaDeclaration().getResource().getFullPath())){
+ files.add(component.getJavaDeclaration().getResource().getFullPath());
+ renameJavaDeclaration(component.getJavaDeclaration());
+ }
+
+ }
+
Set<ISeamXmlComponentDeclaration> xmlDecls = component.getXmlDeclarations();
for(ISeamXmlComponentDeclaration xmlDecl : xmlDecls){
- renameXMLDeclaration(xmlDecl);
+ if(!files.contains(xmlDecl.getResource().getFullPath())){
+ files.add(xmlDecl.getResource().getFullPath());
+ renameXMLDeclaration(xmlDecl);
+ }
}
}
15 years, 4 months
JBoss Tools SVN: r15329 - in trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb: internal and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2009-05-18 11:55:51 -0400 (Mon, 18 May 2009)
New Revision: 15329
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java 2009-05-18 15:19:13 UTC (rev 15328)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/IPageContext.java 2009-05-18 15:55:51 UTC (rev 15329)
@@ -10,10 +10,13 @@
******************************************************************************/
package org.jboss.tools.jst.web.kb;
+import java.util.Map;
+
import org.eclipse.jface.text.IDocument;
import org.jboss.tools.common.el.core.resolver.ELContext;
import org.jboss.tools.common.el.core.resolver.ELResolver;
import org.jboss.tools.common.el.core.resolver.Var;
+import org.jboss.tools.jst.web.kb.taglib.INameSpace;
import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
/**
@@ -52,4 +55,10 @@
* @return
*/
Var[] getVars(int offset);
+
+ /**
+ * Returns map of name spaces which are set in particular offset.
+ * @return
+ */
+ Map<String, INameSpace> getNameSpaces(int offset);
}
\ No newline at end of file
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 15:19:13 UTC (rev 15328)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/JspContextImpl.java 2009-05-18 15:55:51 UTC (rev 15329)
@@ -23,6 +23,7 @@
import org.jboss.tools.common.el.core.resolver.Var;
import org.jboss.tools.jst.web.kb.IPageContext;
import org.jboss.tools.jst.web.kb.IResourceBundle;
+import org.jboss.tools.jst.web.kb.taglib.INameSpace;
import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
/**
@@ -36,7 +37,8 @@
private ElVarSearcher varSearcher;
private ITagLibrary[] libs;
private ELResolver[] elResolvers;
- private Map<Region, Var[]> vars = new HashMap<Region, Var[]>();
+ private Map<Region, Set<Var>> vars = new HashMap<Region, Set<Var>>();
+ private Map<Region, Map<String, INameSpace>> nameSpaces = new HashMap<Region, Map<String, INameSpace>>();
private Set<Var> allVars = new HashSet<Var>();
/*
@@ -75,19 +77,18 @@
this.elResolvers = elResolvers;
}
- private final static Var[] EMPTY_VAR_ARRAY = new Var[0];
-
/*
* (non-Javadoc)
* @see org.jboss.tools.common.kb.text.PageContext#getVars(int)
*/
public Var[] getVars(int offset) {
+ Set<Var> result = new HashSet<Var>();
for (Region region : vars.keySet()) {
if(offset>=region.getOffset() && offset<=region.getOffset() + region.getLength()) {
- return vars.get(region);
+ result.addAll(vars.get(region));
}
}
- return EMPTY_VAR_ARRAY;
+ return result.toArray(new Var[result.size()]);
}
/**
@@ -95,11 +96,9 @@
* @param region
* @param vars
*/
- public void addVars(Region region, Var[] vars) {
- this.vars.put(region, vars);
- for (int i = 0; i < vars.length; i++) {
- allVars.add(vars[i]);
- }
+ public void addVar(Region region, Var var) {
+ this.vars.get(region).add(var);
+ allVars.add(var);
}
/*
@@ -162,4 +161,26 @@
public Var[] getVars() {
return allVars.toArray(new Var[allVars.size()]);
}
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.IPageContext#getNameSpaces(int)
+ */
+ public Map<String, INameSpace> getNameSpaces(int offset) {
+ Map<String, INameSpace> result = new HashMap<String, INameSpace>();
+ for (Region region : nameSpaces.keySet()) {
+ if(offset>=region.getOffset() && offset<=region.getOffset() + region.getLength()) {
+ result.putAll(nameSpaces.get(region));
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Adds new name space to the context
+ * @param region
+ * @param name space
+ */
+ public void addNameSpace(Region region, INameSpace nameSpace) {
+ nameSpaces.get(region).put(nameSpace.getPrefix(), nameSpace);
+ }
}
\ No newline at end of file
15 years, 4 months
JBoss Tools SVN: r15328 - in trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb: internal/scanner and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: scabanovich
Date: 2009-05-18 11:19:13 -0400 (Mon, 18 May 2009)
New Revision: 15328
Added:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/TLDLibrary.java
Modified:
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/ClassPathMonitor.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/XMLScanner.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/IComponent.java
trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ITagLibrary.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-2808
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/KbProject.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -85,6 +85,7 @@
public void setProject(IProject project) {
this.project = project;
+ classPath.init();
}
/**
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/ClassPathMonitor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/ClassPathMonitor.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/ClassPathMonitor.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -174,7 +174,6 @@
processedPaths.add(p);
LibraryScanner scanner = new LibraryScanner();
- scanner.setClassPath(this);
String fileName = new File(p).getName();
if(SYSTEM_JAR_SET.contains(fileName)) continue;
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/LibraryScanner.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -23,17 +23,11 @@
* @author Viacheslav Kabanovich
*/
public class LibraryScanner implements IFileScanner {
- ClassPathMonitor classPath = null;
-
//Now it is absolute file on disk
IPath sourcePath = null;
public LibraryScanner() {}
- public void setClassPath(ClassPathMonitor classPath) {
- this.classPath = classPath;
- }
-
public boolean isRelevant(IFile f) {
if(EclipseResourceUtil.isJar(f.getName())) return true;
return false;
@@ -82,14 +76,30 @@
if(metaInf != null) {
XModelObject[] tlds = metaInf.getChildren();
for (XModelObject tld: tlds) {
- XMLScanner s = new XMLScanner();
- //TODO check that tld object is correct.
- LoadedDeclarations ds1 = s.parse(tld, path, sp);
- if(ds1 != null) ds.add(ds1);
+ if(isFaceletTaglibFile(tld) || isTLDFile(tld)) {
+ XMLScanner s = new XMLScanner();
+ LoadedDeclarations ds1 = s.parse(tld, path, sp);
+ if(ds1 != null) ds.add(ds1);
+ }
}
}
return ds;
}
+
+ public static boolean isTLDFile(XModelObject o) {
+ if(o == null) return false;
+ String entity = o.getModelEntity().getName();
+ if(entity.startsWith("FileTLD")) return true;
+ return false;
+ }
+
+ public static boolean isFaceletTaglibFile(XModelObject o) {
+ if(o == null) return false;
+ String entity = o.getModelEntity().getName();
+ if(entity.startsWith("FileFaceletTaglib")) return true;
+ return false;
+ }
}
+
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/XMLScanner.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/XMLScanner.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/scanner/XMLScanner.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -33,7 +33,10 @@
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.common.model.util.NamespaceMapping;
import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.jst.web.kb.internal.taglib.AbstractComponent;
+import org.jboss.tools.jst.web.kb.internal.taglib.TLDLibrary;
import org.jboss.tools.jst.web.model.helpers.InnerModelHelper;
+import org.jboss.tools.jst.web.model.project.ext.store.XMLValueInfo;
/**
* @author Viacheslav Kabanovich
@@ -49,8 +52,7 @@
* @return
*/
public boolean isRelevant(IFile resource) {
- if(resource.getName().equals("components.xml")) return true; //$NON-NLS-1$
- if(resource.getName().endsWith(".component.xml")) return true; //$NON-NLS-1$
+ if(resource.getName().endsWith(".xml")) return true; //$NON-NLS-1$
return false;
}
@@ -66,8 +68,7 @@
if(model == null) return false;
XModelObject o = EclipseResourceUtil.getObjectByResource(model, f);
if(o == null) return false;
- //TODO
- if(o.getModelEntity().getName().startsWith("FileSeamComponent")) return true; //$NON-NLS-1$
+ if(LibraryScanner.isTLDFile(o) || LibraryScanner.isFaceletTaglibFile(o)) return true;
return false;
}
@@ -113,21 +114,66 @@
}
LoadedDeclarations ds = new LoadedDeclarations();
- XModelObject[] os = o.getChildren();
- for (int i = 0; i < os.length; i++) {
- XModelEntity componentEntity = os[i].getModelEntity();
- //TODO
-// if(os[i].getModelEntity().getName().startsWith("SeamFactory")) { //$NON-NLS-1$
-// SeamXmlFactory factory = new SeamXmlFactory();
-// factory.setId(os[i]);
-// factory.setSourcePath(source);
-// factory.setName(new XMLValueInfo(os[i], ISeamXmlComponentDeclaration.NAME));
-// factory.setValue(new XMLValueInfo(os[i], "value")); //$NON-NLS-1$
-// factory.setMethod(new XMLValueInfo(os[i], "method")); //$NON-NLS-1$
-// ds.getLibraries().add(factory);
-// }
+ if(LibraryScanner.isTLDFile(o)) {
+ parseTLD(o, source, sp, ds);
+ } else if(LibraryScanner.isFaceletTaglibFile(o)) {
+ parseFaceletTaglib(o, source, sp, ds);
}
return ds;
}
-
+
+ private void parseTLD(XModelObject o, IPath source, IKbProject sp, LoadedDeclarations ds) {
+ TLDLibrary library = new TLDLibrary();
+ library.setURI(new XMLValueInfo(o, "uri"));
+ library.setDisplayName(new XMLValueInfo(o, "display-name"));
+ library.setShortName(new XMLValueInfo(o, "shortname"));
+ String version = o.getAttributeValue("version");
+ if(version == null) {
+ if("FileTLD_1_2".equals(o.getModelEntity().getName())) {
+ version = "1.2";
+ } else {
+ version = "1.1";
+ }
+ }
+ library.setVersion(version);
+
+ ds.getLibraries().add(library);
+
+ XModelObject[] ts = o.getChildren();
+ for (XModelObject t: ts) {
+ if(t.getModelEntity().getName().startsWith("TLDTag")) {
+ AbstractComponent tag = new AbstractComponent() {}; //TODO
+
+ String name = t.getAttributeValue("name");
+ tag.setName(name);
+
+ String description = t.getAttributeValue("description");
+ if(description != null) {
+ //in version 1.1 this attribute is not available
+ tag.setDescription(description);
+ }
+
+ String cls = t.getAttributeValue("tagclass");
+ tag.setComponentClass(cls);
+
+ String bodycontent = t.getAttributeValue("bodycontent");
+ boolean canHaveBody = !"empty".equals(bodycontent);
+ tag.setCanHaveBody(canHaveBody);
+
+ //TODO
+
+ XModelObject[] as = t.getChildren();
+ for(XModelObject a: as) {
+ //TODO
+ }
+ }
+ }
+
+ }
+
+ private void parseFaceletTaglib(XModelObject o, IPath source, IKbProject sp, LoadedDeclarations ds) {
+ XModelObject[] os = o.getChildren();
+
+ }
+
}
\ No newline at end of file
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractComponent.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -33,7 +33,6 @@
protected String componentType;
protected String description;
protected String name;
- protected INameSpace nameSpace;
protected Map<String, IAttribute> attributes = new HashMap<String, IAttribute>();
protected Map<String, IAttribute> preferableAttributes = new HashMap<String, IAttribute>();
protected Map<String, IAttribute> requiredAttributes = new HashMap<String, IAttribute>();
@@ -160,20 +159,6 @@
}
/* (non-Javadoc)
- * @see org.jboss.tools.jst.web.kb.taglib.IComponent#getNameSpace()
- */
- public INameSpace getNameSpace() {
- return nameSpace;
- }
-
- /**
- * @param nameSpace the name space to set
- */
- public void setNameSpace(INameSpace nameSpace) {
- this.nameSpace = nameSpace;
- }
-
- /* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.taglib.IComponent#getPreferableAttributes()
*/
public IAttribute[] getPreferableAttributes() {
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/AbstractTagLib.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -18,11 +18,13 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath;
+import org.jboss.tools.common.model.project.ext.IValueInfo;
import org.jboss.tools.common.text.TextProposal;
import org.jboss.tools.jst.web.kb.IPageContext;
import org.jboss.tools.jst.web.kb.KbQuery;
import org.jboss.tools.jst.web.kb.taglib.IAttribute;
import org.jboss.tools.jst.web.kb.taglib.IComponent;
+import org.jboss.tools.jst.web.kb.taglib.INameSpace;
import org.jboss.tools.jst.web.kb.taglib.ITagLibrary;
/**
@@ -31,10 +33,14 @@
*/
public abstract class AbstractTagLib implements ITagLibrary {
+ protected INameSpace nameSpace;
protected String uri;
protected IFile resource;
protected Map<String, IComponent> components = new HashMap<String, IComponent>();
+ //locations of xml attributes
+ protected Map<String,IValueInfo> attributes = new HashMap<String, IValueInfo>();
+
/* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.taglib.TagLibrary#getAllComponents()
*/
@@ -124,6 +130,20 @@
}
/* (non-Javadoc)
+ * @see org.jboss.tools.jst.web.kb.taglib.IComponent#getNameSpace()
+ */
+ public INameSpace getDefaultNameSpace() {
+ return nameSpace;
+ }
+
+ /**
+ * @param nameSpace the name space to set
+ */
+ public void setDefaultNameSpace(INameSpace nameSpace) {
+ this.nameSpace = nameSpace;
+ }
+
+ /* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.taglib.TagLibrary#getURI()
*/
public String getURI() {
@@ -137,6 +157,12 @@
this.uri = uri;
}
+ public void setURI(IValueInfo s) {
+ uri = s == null ? null : s.getValue();
+ attributes.put("uri", s);
+ }
+
+
/* (non-Javadoc)
* @see org.jboss.tools.jst.web.kb.ProposalProcessor#getProposals(org.jboss.tools.jst.web.kb.KbQuery, org.jboss.tools.jst.web.kb.PageContext)
*/
Added: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/TLDLibrary.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/TLDLibrary.java (rev 0)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/TLDLibrary.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2009 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
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jst.web.kb.internal.taglib;
+
+import org.jboss.tools.common.model.project.ext.IValueInfo;
+import org.jboss.tools.jst.web.kb.taglib.ITLDLibrary;
+
+/**
+ * @author Viacheslav Kabanovich
+ */
+public class TLDLibrary extends AbstractTagLib implements ITLDLibrary {
+ String displayName = null;
+ String shortName = null;
+ String version = null;
+
+ public String displayName() {
+ return displayName;
+ }
+
+ public String getShortName() {
+ return shortName;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setDisplayName(IValueInfo s) {
+ displayName = s == null ? null : s.getValue();
+ attributes.put("display-name", s);
+ }
+
+ public void setShortName(IValueInfo s) {
+ shortName = s == null ? null : s.getValue();
+ attributes.put("short-name", s);
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public void createDefaultNameSpace() {
+
+ }
+}
Property changes on: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/internal/taglib/TLDLibrary.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/IComponent.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/IComponent.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/IComponent.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -20,11 +20,6 @@
public interface IComponent extends IProposalProcessor {
/**
- * @return name space
- */
- INameSpace getNameSpace();
-
- /**
* @return component name
*/
String getName();
Modified: trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ITagLibrary.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ITagLibrary.java 2009-05-18 14:21:59 UTC (rev 15327)
+++ trunk/jst/plugins/org.jboss.tools.jst.web.kb/src/org/jboss/tools/jst/web/kb/taglib/ITagLibrary.java 2009-05-18 15:19:13 UTC (rev 15328)
@@ -25,6 +25,10 @@
public IPath getSourcePath();
/**
+ * @return name space
+ */
+ INameSpace getDefaultNameSpace();
+ /**
* @return URI of the tag lib.
*/
String getURI();
15 years, 4 months