blob: 00682fff350187d406e90de0ef89c6a2e922e0e6 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 Obeo.
* 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:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.sirius.ui.properties.internal.tabprovider;
import org.eclipse.eef.EefPackage;
import org.eclipse.sirius.properties.ButtonDescription;
import org.eclipse.sirius.properties.ButtonWidgetConditionalStyle;
import org.eclipse.sirius.properties.ButtonWidgetStyle;
import org.eclipse.sirius.properties.CheckboxDescription;
import org.eclipse.sirius.properties.CheckboxWidgetConditionalStyle;
import org.eclipse.sirius.properties.CheckboxWidgetStyle;
import org.eclipse.sirius.properties.ContainerDescription;
import org.eclipse.sirius.properties.CustomDescription;
import org.eclipse.sirius.properties.CustomExpression;
import org.eclipse.sirius.properties.CustomOperation;
import org.eclipse.sirius.properties.CustomWidgetConditionalStyle;
import org.eclipse.sirius.properties.CustomWidgetStyle;
import org.eclipse.sirius.properties.DynamicMappingFor;
import org.eclipse.sirius.properties.DynamicMappingIf;
import org.eclipse.sirius.properties.FillLayoutDescription;
import org.eclipse.sirius.properties.GridLayoutDescription;
import org.eclipse.sirius.properties.GroupConditionalStyle;
import org.eclipse.sirius.properties.GroupDescription;
import org.eclipse.sirius.properties.GroupStyle;
import org.eclipse.sirius.properties.HyperlinkDescription;
import org.eclipse.sirius.properties.HyperlinkWidgetConditionalStyle;
import org.eclipse.sirius.properties.HyperlinkWidgetStyle;
import org.eclipse.sirius.properties.LabelDescription;
import org.eclipse.sirius.properties.LabelWidgetConditionalStyle;
import org.eclipse.sirius.properties.LabelWidgetStyle;
import org.eclipse.sirius.properties.PageDescription;
import org.eclipse.sirius.properties.PropertyValidationRule;
import org.eclipse.sirius.properties.RadioDescription;
import org.eclipse.sirius.properties.RadioWidgetConditionalStyle;
import org.eclipse.sirius.properties.RadioWidgetStyle;
import org.eclipse.sirius.properties.ReferenceDescription;
import org.eclipse.sirius.properties.ReferenceWidgetConditionalStyle;
import org.eclipse.sirius.properties.ReferenceWidgetStyle;
import org.eclipse.sirius.properties.SelectDescription;
import org.eclipse.sirius.properties.SelectWidgetConditionalStyle;
import org.eclipse.sirius.properties.SelectWidgetStyle;
import org.eclipse.sirius.properties.TextAreaDescription;
import org.eclipse.sirius.properties.TextDescription;
import org.eclipse.sirius.properties.TextWidgetConditionalStyle;
import org.eclipse.sirius.properties.TextWidgetStyle;
import org.eclipse.sirius.properties.WidgetAction;
import org.eclipse.sirius.properties.util.PropertiesSwitch;
import org.eclipse.sirius.ui.properties.api.IDescriptionConverter;
/**
* This switch is used to retrieve the proper {@link IDescriptionConverter} for
* each class of the properties meta-model.
*
* @author sbegaudeau
*/
public class PropertiesDescriptionConverterSwitch extends PropertiesSwitch<IDescriptionConverter> {
@Override
public IDescriptionConverter casePageDescription(PageDescription object) {
return new PageDescriptionConverter();
}
@Override
public IDescriptionConverter caseGroupDescription(GroupDescription object) {
return new GroupDescriptionConverter();
}
@Override
public IDescriptionConverter caseGroupStyle(GroupStyle object) {
return new GroupStyleDescriptionConverter();
}
@Override
public IDescriptionConverter caseGroupConditionalStyle(GroupConditionalStyle object) {
return new DefaultDescriptionConverter<>(GroupConditionalStyle.class, EefPackage.Literals.EEF_GROUP_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter casePropertyValidationRule(PropertyValidationRule object) {
return new PropertyValidationRuleDescriptionConverter();
}
@Override
public IDescriptionConverter caseContainerDescription(ContainerDescription object) {
return new DefaultDescriptionConverter<>(ContainerDescription.class, EefPackage.Literals.EEF_CONTAINER_DESCRIPTION);
}
@Override
public IDescriptionConverter caseFillLayoutDescription(FillLayoutDescription object) {
return new FillLayoutDescriptionConverter();
}
@Override
public IDescriptionConverter caseGridLayoutDescription(GridLayoutDescription object) {
return new DefaultDescriptionConverter<>(GridLayoutDescription.class, EefPackage.Literals.EEF_GRID_LAYOUT_DESCRIPTION);
}
@Override
public IDescriptionConverter caseDynamicMappingFor(DynamicMappingFor object) {
return new DefaultDescriptionConverter<>(DynamicMappingFor.class, EefPackage.Literals.EEF_DYNAMIC_MAPPING_FOR);
}
@Override
public IDescriptionConverter caseDynamicMappingIf(DynamicMappingIf object) {
return new DefaultDescriptionConverter<>(DynamicMappingIf.class, EefPackage.Literals.EEF_DYNAMIC_MAPPING_IF);
}
@Override
public IDescriptionConverter caseTextDescription(TextDescription object) {
return new TextDescriptionConverter();
}
@Override
public IDescriptionConverter caseTextAreaDescription(TextAreaDescription object) {
return new TextDescriptionConverter();
}
@Override
public IDescriptionConverter caseTextWidgetStyle(TextWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(TextWidgetStyle.class, EefPackage.Literals.EEF_TEXT_STYLE);
}
@Override
public IDescriptionConverter caseTextWidgetConditionalStyle(TextWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(TextWidgetConditionalStyle.class, EefPackage.Literals.EEF_TEXT_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseLabelDescription(LabelDescription object) {
return new DefaultDescriptionConverter<>(LabelDescription.class, EefPackage.Literals.EEF_LABEL_DESCRIPTION);
}
@Override
public IDescriptionConverter caseLabelWidgetStyle(LabelWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(LabelWidgetStyle.class, EefPackage.Literals.EEF_LABEL_STYLE);
}
@Override
public IDescriptionConverter caseLabelWidgetConditionalStyle(LabelWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(LabelWidgetConditionalStyle.class, EefPackage.Literals.EEF_LABEL_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseCheckboxDescription(CheckboxDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(CheckboxDescription.class, EefPackage.Literals.EEF_CHECKBOX_DESCRIPTION,
EefPackage.Literals.EEF_CHECKBOX_DESCRIPTION__EDIT_EXPRESSION);
}
@Override
public IDescriptionConverter caseCheckboxWidgetStyle(CheckboxWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(CheckboxWidgetStyle.class, EefPackage.Literals.EEF_CHECKBOX_STYLE);
}
@Override
public IDescriptionConverter caseCheckboxWidgetConditionalStyle(CheckboxWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(CheckboxWidgetConditionalStyle.class, EefPackage.Literals.EEF_CHECKBOX_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseHyperlinkDescription(HyperlinkDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(HyperlinkDescription.class, EefPackage.Literals.EEF_HYPERLINK_DESCRIPTION,
EefPackage.Literals.EEF_HYPERLINK_DESCRIPTION__ON_CLICK_EXPRESSION);
}
@Override
public IDescriptionConverter caseHyperlinkWidgetStyle(HyperlinkWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(HyperlinkWidgetStyle.class, EefPackage.Literals.EEF_HYPERLINK_STYLE);
}
@Override
public IDescriptionConverter caseHyperlinkWidgetConditionalStyle(HyperlinkWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(HyperlinkWidgetConditionalStyle.class, EefPackage.Literals.EEF_HYPERLINK_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseButtonDescription(ButtonDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(ButtonDescription.class, EefPackage.Literals.EEF_BUTTON_DESCRIPTION, EefPackage.Literals.EEF_BUTTON_DESCRIPTION__PUSH_EXPRESSION);
}
@Override
public IDescriptionConverter caseButtonWidgetStyle(ButtonWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(ButtonWidgetStyle.class, EefPackage.Literals.EEF_BUTTON_STYLE);
}
@Override
public IDescriptionConverter caseButtonWidgetConditionalStyle(ButtonWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(ButtonWidgetConditionalStyle.class, EefPackage.Literals.EEF_BUTTON_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseRadioDescription(RadioDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(RadioDescription.class, EefPackage.Literals.EEF_RADIO_DESCRIPTION, EefPackage.Literals.EEF_RADIO_DESCRIPTION__EDIT_EXPRESSION);
}
@Override
public IDescriptionConverter caseRadioWidgetStyle(RadioWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(RadioWidgetStyle.class, EefPackage.Literals.EEF_RADIO_STYLE);
}
@Override
public IDescriptionConverter caseRadioWidgetConditionalStyle(RadioWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(RadioWidgetConditionalStyle.class, EefPackage.Literals.EEF_RADIO_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseSelectDescription(SelectDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(SelectDescription.class, EefPackage.Literals.EEF_SELECT_DESCRIPTION, EefPackage.Literals.EEF_SELECT_DESCRIPTION__EDIT_EXPRESSION);
}
@Override
public IDescriptionConverter caseSelectWidgetStyle(SelectWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(SelectWidgetStyle.class, EefPackage.Literals.EEF_SELECT_STYLE);
}
@Override
public IDescriptionConverter caseSelectWidgetConditionalStyle(SelectWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(SelectWidgetConditionalStyle.class, EefPackage.Literals.EEF_SELECT_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseReferenceDescription(ReferenceDescription object) {
return new DefaultDescriptionWithInitialOperationConverter<>(ReferenceDescription.class, EefPackage.Literals.EEF_REFERENCE_DESCRIPTION,
EefPackage.Literals.EEF_REFERENCE_DESCRIPTION__ON_CLICK_EXPRESSION);
}
@Override
public IDescriptionConverter caseWidgetAction(WidgetAction object) {
return new DefaultDescriptionWithInitialOperationConverter<>(WidgetAction.class, EefPackage.Literals.EEF_WIDGET_ACTION, EefPackage.Literals.EEF_WIDGET_ACTION__ACTION_EXPRESSION);
}
@Override
public IDescriptionConverter caseReferenceWidgetStyle(ReferenceWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(ReferenceWidgetStyle.class, EefPackage.Literals.EEF_REFERENCE_STYLE);
}
@Override
public IDescriptionConverter caseReferenceWidgetConditionalStyle(ReferenceWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(ReferenceWidgetConditionalStyle.class, EefPackage.Literals.EEF_REFERENCE_CONDITIONAL_STYLE);
}
@Override
public IDescriptionConverter caseCustomDescription(CustomDescription object) {
return new CustomWidgetDescriptionConverter<>(CustomDescription.class, EefPackage.Literals.EEF_CUSTOM_WIDGET_DESCRIPTION);
}
@Override
public IDescriptionConverter caseCustomExpression(CustomExpression object) {
return new DefaultDescriptionConverter<>(CustomExpression.class, EefPackage.Literals.EEF_CUSTOM_EXPRESSION);
}
@Override
public IDescriptionConverter caseCustomOperation(CustomOperation object) {
return new DefaultDescriptionWithInitialOperationConverter<>(CustomOperation.class, EefPackage.Literals.EEF_CUSTOM_EXPRESSION, EefPackage.Literals.EEF_CUSTOM_EXPRESSION__CUSTOM_EXPRESSION);
}
@Override
public IDescriptionConverter caseCustomWidgetStyle(CustomWidgetStyle object) {
return new DefaultStyleDescriptionConverter<>(CustomWidgetStyle.class, EefPackage.Literals.EEF_CUSTOM_WIDGET_STYLE);
}
@Override
public IDescriptionConverter caseCustomWidgetConditionalStyle(CustomWidgetConditionalStyle object) {
return new DefaultDescriptionConverter<>(CustomWidgetConditionalStyle.class, EefPackage.Literals.EEF_CUSTOM_WIDGET_CONDITIONAL_STYLE);
}
}