/** * Copyright (c) 2014 Matthias Jaenicke <matthias.jaenicke@student.kit.edu>, * Matthias Plappert <undkc@student.kit.edu>, * Julien Duman <uncyc@student.kit.edu>, * Christian Dreher <uaeef@student.kit.edu>, * Wasilij Beskorovajnov <uajkm@student.kit.edu> and * Aydin Tekin <aydin.tekin@student.kit.edu> * * Released under the MIT license (refer to LICENSE.md) * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ package edu.kit.iks.Cryptographics.Vigenere.Demonstration; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import edu.kit.iks.Cryptographics.VisualizationContainerController; import edu.kit.iks.Cryptographics.Vigenere.VigenereVisualizationInfo; import edu.kit.iks.CryptographicsLib.AbstractVisualizationController; import edu.kit.iks.CryptographicsLib.AbstractVisualizationInfo; /** * Controller class of the first phase * @author Aydin Tekin */ public class FirstDemonstrationController extends AbstractVisualizationController { /** * Checks if vigenere text is read */ private boolean vigenereRead = false; /** * Instance of the visualisation info */ private VigenereVisualizationInfo vsInfo; /** * Constructor of the controller * @param visualizationInfo */ public FirstDemonstrationController(AbstractVisualizationInfo visualizationInfo) { super(visualizationInfo); this.vsInfo = (VigenereVisualizationInfo)visualizationInfo; } /** * loads the view and registers the actionlistener's. */ @Override public void loadView() { this.vigenereRead = false; this.view = new FirstDemonstrationView(vsInfo); this.getView().getBackButton().addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if (vigenereRead) { vigenereRead = false; getView().getModuloText().setVisible(false); getView().getClock().setVisible(false); } } }); this.getView().getNextButton().addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { if (!vigenereRead) { getView().getModuloText().setVisible(true); getView().getClock().setVisible(true); vigenereRead = true; } else { VisualizationContainerController containerController = (VisualizationContainerController)getParentController(); containerController.presentNextVisualizationController(); } } }); this.getView().getSkipButton().addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { VisualizationContainerController containerController = (VisualizationContainerController)getParentController(); containerController.presentNextVisualizationController(); } }); this.view.validate(); } /** * unloads the view */ @Override public void unloadView() { this.view = null; } /** * returns the view * @return view of current step */ @Override public FirstDemonstrationView getView() { return (FirstDemonstrationView) this.view; } /** * returns the help string * @return help string */ @Override public String getHelp() { return null; } }