Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java441
1 files changed, 0 insertions, 441 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java
deleted file mode 100644
index 585cd4efc..000000000
--- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/properties/internal/AttributeGroup.java
+++ /dev/null
@@ -1,441 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.pagedesigner.properties.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.query.TaglibDomainMetaDataQueryHelper;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldApplyListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.IDialogFieldChangeListener;
-import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ISupportTextValue;
-import org.eclipse.jst.jsf.context.resolver.structureddocument.IStructuredDocumentContextResolverFactory;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContext;
-import org.eclipse.jst.jsf.context.structureddocument.IStructuredDocumentContextFactory;
-import org.eclipse.jst.jsf.metadataprocessors.MetaDataEnabledProcessingFactory;
-import org.eclipse.jst.pagedesigner.editors.HTMLEditor;
-import org.eclipse.jst.pagedesigner.editors.properties.IPropertyPageDescriptor;
-import org.eclipse.jst.pagedesigner.properties.attrgroup.IElementContextable;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-
-/**
- * @author mengbo
- * @version 1.5
- *
- * TODO: cleanup up constructors
- */
-public class AttributeGroup extends DialogFieldGroup {
- private static final Object KEY_ATTR = "KEY_ATTR"; //$NON-NLS-1$
-
-// private String _helpContextId;
-
- private List<DialogField> _dialogFields = null; //consider using Map
- private IDOMElement _ownerElement;
- private Entity _tagEntity;
- private List<String> _attrNames;
- private List<IPropertyPageDescriptor> _attrPDs;
- private IStructuredDocumentContext _sdContext;
-
- private String _uri;
- private String _tagName;
-
- /**
- * Constructor
- * @param tagEntity - may not be null
- * @param attrNames - may not be null. Attribute names must be valid for the tag, and have attribute-value-runtime-type trait info
- */
- public AttributeGroup(Entity tagEntity, List<String> attrNames) {
- _tagEntity = tagEntity;
- _attrNames = attrNames;
- }
-
- /**
- * Constructor where tagEntity is determined later or set later
- * @param uri - may be null
- * @param tagName - may be null
- * @param attributeNames - may not be null. Attribute names must be valid for the tag, and have attribute-value-runtime-type trait info
- */
- public AttributeGroup(String uri,
- String tagName, String[] attributeNames) {
- _uri = uri;
- _tagName = tagName;
- if (attributeNames != null)
- _attrNames = Arrays.asList(attributeNames);
- else
- _attrNames = new ArrayList();
- }
-
- private List<IPropertyPageDescriptor> prepareDescriptors(Entity tagEntity,
- List<String> names) {
-
- List pds = new ArrayList();
- for (String attrName : names) {
- IPropertyPageDescriptor pd = getPD(tagEntity, attrName);
- if (pd != null)
- pds.add(pd);
- }
- return pds;
- }
-
- private IPropertyPageDescriptor getPD(Entity tagEntity, String attrName) {
- IPropertyPageDescriptor pd = null;
- Entity attrEntity = TaglibDomainMetaDataQueryHelper.getEntity(tagEntity, attrName);
- if (attrEntity != null){
- List pds = MetaDataEnabledProcessingFactory.getInstance().getAttributeValueRuntimeTypeFeatureProcessors(
- IPropertyPageDescriptor.class, getStructuredDocumentContext(), attrEntity);
- if (pds != null && !pds.isEmpty())
- pd = (IPropertyPageDescriptor)pds.get(0);
- else
- pd = new DefaultPropertyPageDescriptor(tagEntity, attrEntity);
- }
- return pd;
- }
-
-
- private void resetStructuredDocumentContext() {
- _sdContext = null;
- getStructuredDocumentContext();
- }
-
- private IStructuredDocumentContext getStructuredDocumentContext() {
- if (_sdContext == null) {
- if (_ownerElement != null) {
- _sdContext = IStructuredDocumentContextFactory.INSTANCE.getContext(_ownerElement.getStructuredDocument(), _ownerElement);
-
- } else {
- IEditorPart edPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
- if (edPart != null && edPart instanceof HTMLEditor) {//edPart will always be the WPE, but checking just to be safe
- _sdContext = IStructuredDocumentContextFactory.INSTANCE.getContext(((HTMLEditor)edPart).getDocument(), 0);
- }
- }
- }
- return _sdContext;
- }
-
- /**
- * @return tag entity for this attribute group
- */
- protected Entity getTagEntity() {
- if (_tagEntity == null) {
- if (_ownerElement != null){
- IStructuredDocumentContext context = IStructuredDocumentContextFactory.INSTANCE.getContext(_ownerElement.getStructuredDocument(), 0);
- if (context != null){
- String uri = _uri != null ? _uri : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getBaseURI();
- String tagName = _tagName != null ? _tagName : IStructuredDocumentContextResolverFactory.INSTANCE.getDOMContextResolver(context).getNode().getNodeName();
- if (uri != null){
- IProject project = IStructuredDocumentContextResolverFactory.INSTANCE.getWorkspaceContextResolver(context).getProject();
- _tagEntity = TaglibDomainMetaDataQueryHelper.getEntity(TaglibDomainMetaDataQueryHelper.createMetaDataModelContext(project, uri), tagName);
- }
- }
- }
- }
- return _tagEntity;
- }
- /**
- * @return tag name
- */
- public String getTagName() {
- if (getTagEntity() == null)
- return _tagName;
- return getTagEntity().getId();
- }
-
- /**
- * @return tag URI
- */
- public String getURI() {
- if (getTagEntity() == null)
- return _uri;
- return getTagEntity().getModel().getCurrentModelContext().getUri();
- }
-
-
- /**
- * Empty implementation. Subclasses should override to override default dialogField creation
- * @param ppd
- * @return DialogField
- */
- protected DialogField createDialogField(IPropertyPageDescriptor ppd) {
- return null;
- }
-
-// protected DialogField createDialogField(String uri, String tag,
-// String attr) {
-//
-// return null;
-// }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup#initialize()
- */
- public void initialize() {
- if (_dialogFields == null) {
- _dialogFields = new ArrayList();
-
- for (IPropertyPageDescriptor pd : getAttributePDs()) {
- DialogField field;
- field = createDialogField(pd);
-
- if (field == null) {
- field = pd.getDialogFieldEditor();
- }
-
- field.putAttachedData(KEY_ATTR, pd);//descriptors[i]);
-
- IDialogFieldApplyListener applyListener = getDialogFieldApplyListener(pd);
-// getURI(), getTagName(), pd.getAttributeName());//descriptors[i]);
- if (applyListener == null) {
- applyListener = getDefaultApplyListener();
- }
- field.setDialogFieldApplyListener(applyListener);
-
- IDialogFieldChangeListener changeListener = getDialogFieldChangeListener(pd);
-// getURI(), getTagName(), pd.getAttributeName());//descriptors[i]);
- if (changeListener == null) {
- changeListener = getDefaultChangeListener();
- }
- field.setDialogFieldChangeListener(changeListener);
- _dialogFields.add(field);
- }
- }
- }
-
- private List<IPropertyPageDescriptor> getAttributePDs() {
- if (_attrPDs == null){
- _attrPDs = prepareDescriptors(getTagEntity(), _attrNames);
- }
- return _attrPDs;
- }
-
- /**
- * Child class can override the method to provide listener implementation
- *
- * @param ppd
- * @return IDialogFieldApplyListener
- */
- protected IDialogFieldApplyListener getDialogFieldApplyListener(IPropertyPageDescriptor ppd) {
- return null;
- }
-
- /**
- * Child class can override the method to provide listener implementation
- *
- * @param ppd
- * @return IDialogFieldChangeListener
- */
- protected IDialogFieldChangeListener getDialogFieldChangeListener(IPropertyPageDescriptor ppd){
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldGroup#refreshData()
- */
- public void refreshData() {
- if (_ownerElement == null) {
- return;
- }
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
-
- ISupportTextValue textValue = (ISupportTextValue) field;
- IPropertyPageDescriptor attr = (IPropertyPageDescriptor) field
- .getAttachedData(KEY_ATTR);
- String attrName = attr.getAttributeName();
- String attrValue = _ownerElement.getAttribute(attrName);
- textValue.setTextWithoutUpdate(attrValue);
- }
- }
-
- /**
- * @return IDOMElement
- */
- public IDOMElement getElement() {
- return _ownerElement;
- }
-
- /**
- * Sets the context in each of the dialogFields in the Group
- * @param context
- * @param owner
- */
- public void setElementContext(IDOMNode context, IDOMElement owner) {
- this._ownerElement = owner;
- resetStructuredDocumentContext();
- initialize();
- if (context != null) {
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- if (field instanceof IElementContextable) {
- ((IElementContextable) field).setElementContext(context,
- owner);
- }
- }
- }
- refreshData();
- }
-
- public void layoutDialogFields(FormToolkit toolkit, Composite parent) {
- Composite top;
- if (toolkit == null) {//when being displayed by DialogFieldGroupPage (wizard)
- top = new Composite(parent, SWT.NONE);
- FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
- parent.setLayout(fillLayout);
- } else {
- top = toolkit.createComposite(parent, SWT.NONE);
- }
-// FillLayout fillLayout = new FillLayout(SWT.VERTICAL);
-// parent.setLayout(fillLayout);
-
-// if (this._helpContextId != null && this._helpContextId.length() > 0) {
-// PlatformUI.getWorkbench().getHelpSystem().setHelp(top,
-// _helpContextId);
-// }
-
- GridLayout layout = new GridLayout();
- int numColumns = getNumColumns();
- layout.numColumns = numColumns;
- top.setLayout(layout);
-// top.setLayoutData(new RowData());
-
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- field.doFillIntoGrid(toolkit, top, numColumns);
- }
-
- DialogField maxColumnField = null;
- int maxColumn = 0;
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- int c = field.getNumberOfControls();
- if (c > maxColumn) {
- maxColumn = c;
- maxColumnField = field;
- }
- }
- if (maxColumnField != null) {
- maxColumnField.handleGrabHorizontal();
- }
- }
-
- /**
- * @return number of columns in for composite grid layout
- */
- public int getNumColumns() {
- int columns = 1;
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- columns = Math.max(columns, field.getNumberOfControls());
- }
- return columns;
- }
-
- @Override
- public IStatus[] validateDialogFields() {
- return null;
- }
-
- /**
- * @return DialogField[]
- */
- public DialogField[] getDialogFields() {
- initialize();
- DialogField[] ret = new DialogField[_dialogFields.size()];
- _dialogFields.toArray(ret);
- return ret;
- }
-
- /**
- * get the dialogfield for the corresponding attribute.
- *
- * @param attrName
- * case sensitive attribute name.
- * @return null if fail to find.
- */
- public DialogField getDialogField(String attrName) {
- initialize();
- for (int i = 0, size = _dialogFields.size(); i < size; i++) {
- DialogField field = _dialogFields.get(i);
- IPropertyPageDescriptor attr = this.getPropertyDescriptor(field);
- if (attr != null && attr.getAttributeName().equals(attrName)) {
- return field;
- }
- }
- return null;
- }
-
- /**
- * @param field
- * @return IPropertyPageDescriptor
- */
- public IPropertyPageDescriptor getPropertyDescriptor(DialogField field) {
- Object obj = field.getAttachedData(KEY_ATTR);
- if (obj instanceof IPropertyPageDescriptor) {
- return (IPropertyPageDescriptor) obj;
- }
- return null;
- }
-
- @Override
- public void reset(){
- if (_dialogFields != null){
- for (DialogField field : _dialogFields){
- field.setDialogFieldApplyListener(null);
- field.setDialogFieldChangeListener(null);
- }
- _dialogFields = null;
- }
- }
-
- /**
- * Set the tag entity
- * @param tagEntity
- */
- /*package*/ void setTagEntity(Entity tagEntity) {
- _tagEntity = tagEntity;
- }
-
- public String toString(){
- StringBuffer buf = new StringBuffer("AttributeGroup: uri="); //$NON-NLS-1$
- buf.append("\r\r").append(getURI()).append("\r\rtag=").append(getTagName()); //$NON-NLS-1$ //$NON-NLS-2$
- buf.append("\r\rAttrs: "); //$NON-NLS-1$
- for (int i=0;i<_attrNames.size();i++) {
- String attr = _attrNames.get(i);
- buf.append(attr);
- if (i<_attrNames.size())
- buf.append(", "); //$NON-NLS-1$
- }
- return buf.toString();
- }
-
-
-}

Back to the top