/* * This file is part of the OSMembrane project. * More informations under www.osmembrane.de * * The project is licensed under the GNU GENERAL PUBLIC LICENSE 3.0. * for more details about the license see http://www.osmembrane.de/license/ * * Source: $HeadURL: https://osmembrane.de/svn/sources/src/header.txt $ ($Revision: 703 $) * Last changed: $Date: 2011-02-07 10:56:49 +0100 (Mo, 07 Feb 2011) $ */ package de.osmembrane.controller.actions; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.KeyStroke; import de.osmembrane.model.ModelProxy; import de.osmembrane.model.pipeline.AbstractPipelineSettings; import de.osmembrane.resources.Resource; import de.osmembrane.tools.I18N; import de.osmembrane.tools.IconLoader.Size; import de.osmembrane.view.ViewRegistry; import de.osmembrane.view.dialogs.PipelineSettingsDialog; import de.osmembrane.view.interfaces.IPipelineSettingsDialog; /** * Action to open the change pipeline settings dialog. * * @author tobias_kuhn * */ public class ChangePipelineSettingsAction extends AbstractAction { private static final long serialVersionUID = -1491395674816531738L; /** * Creates a new {@link ChangePipelineSettingsAction} */ public ChangePipelineSettingsAction() { putValue( Action.NAME, I18N.getInstance().getString( "Controller.Actions.ChangePipelineSettings.Name")); putValue( Action.SHORT_DESCRIPTION, I18N.getInstance() .getString( "Controller.Actions.ChangePipelineSettings.Description")); putValue(Action.SMALL_ICON, Resource.PROGRAM_ICON.getImageIcon( "property_edit.png", Size.SMALL)); putValue(Action.LARGE_ICON_KEY, Resource.PROGRAM_ICON.getImageIcon( "property_edit.png", Size.NORMAL)); putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0)); } @Override public void actionPerformed(ActionEvent e) { IPipelineSettingsDialog dialog = ViewRegistry.getInstance().getCasted( PipelineSettingsDialog.class, IPipelineSettingsDialog.class); // set the display components AbstractPipelineSettings settings = ModelProxy.getInstance() .getPipeline().getSettings(); dialog.setVerbose(settings.getVerbose()); dialog.setDebug(settings.getDebug()); dialog.setComment(settings.getComment()); dialog.setName(settings.getName()); dialog.showWindow(); if (dialog.shallApplyChanges()) { // set the model values, if necessary settings.setVerbose(dialog.getVerbose()); settings.setDebug(dialog.getDebug()); settings.setComment(dialog.getComment()); settings.setName(dialog.getName()); } /* if apply changes */ } }