/******************************************************************************* * Copyright Technophobia Ltd 2012 * * This file is part of the Substeps Eclipse Plugin. * * The Substeps Eclipse Plugin is free software: you can redistribute it and/or modify * it under the terms of the Eclipse Public License v1.0. * * The Substeps Eclipse Plugin is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * Eclipse Public License for more details. * * You should have received a copy of the Eclipse Public License * along with the Substeps Eclipse Plugin. If not, see <http://www.eclipse.org/legal/epl-v10.html>. ******************************************************************************/ package com.technophobia.substeps.editor.outline; import com.technophobia.substeps.editor.outline.model.AbstractModelElement; import com.technophobia.substeps.editor.outline.model.BackgroundElement; import com.technophobia.substeps.editor.outline.model.ExampleElement; import com.technophobia.substeps.editor.outline.model.ExampleRowElement; import com.technophobia.substeps.editor.outline.model.ScenarioElement; import com.technophobia.substeps.editor.outline.model.ScenarioOutlineElement; import com.technophobia.substeps.editor.outline.model.StepElement; import com.technophobia.substeps.editor.outline.model.SubstepsDefinitionElement; public enum OutlineImage { Background(BackgroundElement.class, "outline-background.gif"), // ExampleRow(ExampleRowElement.class, "outline-example-row.gif"), // Example(ExampleElement.class, "outline-example.gif"), // Scenario(ScenarioElement.class, "outline-scenario.gif"), // ScenarioOutline(ScenarioOutlineElement.class, "outline-scenario-outline.gif"), // Step(StepElement.class, "outline-step.gif"), // SubstepDefinition(SubstepsDefinitionElement.class, "outline-scenario.gif"); private final Class<? extends AbstractModelElement> modelClass; private final String imagePath; private OutlineImage(final Class<? extends AbstractModelElement> modelClass, final String imagePath) { this.modelClass = modelClass; this.imagePath = imagePath; } public String imagePath() { return imagePath; } public static OutlineImage findForModel(final AbstractModelElement model) { for (final OutlineImage outlineImage : values()) { if (model.getClass().equals(outlineImage.modelClass)) { return outlineImage; } } return null; } }