| /******************************************************************************* |
| * Copyright (c) 2009 IBM Corporation 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: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.xsd.ui.internal.adapters; |
| |
| |
| import java.util.ArrayList; |
| import java.util.Collection; |
| |
| import org.eclipse.swt.graphics.Image; |
| import org.eclipse.wst.xsd.ui.internal.adt.actions.BaseSelectionAction; |
| import org.eclipse.wst.xsd.ui.internal.adt.actions.ShowPropertiesViewAction; |
| import org.eclipse.wst.xsd.ui.internal.adt.facade.IModel; |
| import org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDRedefinedAttributeGroupAction; |
| import org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDRedefinedComplexTypeAction; |
| import org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDRedefinedModelGroupAction; |
| import org.eclipse.wst.xsd.ui.internal.common.actions.AddXSDRedefinedSimpleTypeAction; |
| import org.eclipse.xsd.XSDRedefine; |
| |
| |
| public class RedefineCategoryAdapter extends CategoryAdapter |
| { |
| protected XSDRedefine xsdRedefine; |
| private XSDRedefineAdapter xsdRedefineAdapter; |
| |
| public RedefineCategoryAdapter(String label, Image image, Collection children, XSDRedefine xsdRedefine, XSDRedefineAdapter xsdRedefineAdapter, int groupType) |
| { |
| super(label, image, children, xsdRedefine.getSchema(), groupType); |
| this.xsdRedefine = xsdRedefine; |
| this.target = xsdRedefine; |
| this.xsdRedefineAdapter = xsdRedefineAdapter; |
| } |
| |
| public XSDRedefine getXSDRedefine() |
| { |
| return xsdRedefine; |
| } |
| |
| public String[] getActions(Object object) |
| { |
| Collection actionIDs = new ArrayList(); |
| |
| switch (groupType) |
| { |
| case TYPES: |
| { |
| actionIDs.add(AddXSDRedefinedComplexTypeAction.ID); |
| actionIDs.add(AddXSDRedefinedSimpleTypeAction.ID); |
| break; |
| } |
| case GROUPS: |
| { |
| actionIDs.add(AddXSDRedefinedModelGroupAction.ID); |
| break; |
| } |
| case ATTRIBUTES: |
| case ATTRIBUTE_GROUPS: |
| { |
| actionIDs.add(AddXSDRedefinedAttributeGroupAction.ID); |
| break; |
| } |
| } |
| actionIDs.add(BaseSelectionAction.SEPARATOR_ID); |
| actionIDs.add(ShowPropertiesViewAction.ID); |
| return (String[])actionIDs.toArray(new String [0]); |
| } |
| |
| public IModel getModel() |
| { |
| return (IModel)XSDAdapterFactory.getInstance().adapt(xsdRedefine.getSchema()); |
| } |
| |
| |
| public XSDRedefineAdapter getXsdRedefineAdapter() { |
| return xsdRedefineAdapter; |
| } |
| |
| } |