From b2968bef5d56723826cfe38f1fe5ab1d60aa79f3 Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:53:11 +0000 Subject: State Machine refactoring git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@23 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../at/asit/pdfover/gui/MainWindowBehavior.java | 74 ++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java new file mode 100644 index 00000000..63c2dafd --- /dev/null +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java @@ -0,0 +1,74 @@ +/* + * Copyright 2012 by A-SIT, Secure Information Technology Center Austria + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://joinup.ec.europa.eu/software/page/eupl + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + */ +package at.asit.pdfover.gui; + +import java.util.EnumMap; +import java.util.Map; + +import at.asit.pdfover.gui.MainWindow.Buttons; + +/** + * Behavior manipulation for Main Window + */ +public class MainWindowBehavior { + protected Map buttonsEnabled; + protected Map buttonsActive; + protected boolean mainBarVisible; + + public MainWindowBehavior() { + this.buttonsActive = new EnumMap(MainWindow.Buttons.class); + this.buttonsEnabled = new EnumMap( MainWindow.Buttons.class); + reset(); + } + + public void setActive(Buttons button, boolean active) { + this.buttonsActive.put(button, active); + } + + public boolean getActive(Buttons button) { + return this.buttonsActive.get(button); + } + + public void setEnabled(Buttons button, boolean enabled) { + this.buttonsEnabled.put(button, enabled); + } + + public boolean getEnabled(Buttons button) { + return this.buttonsEnabled.get(button); + } + + /** + * Resets all behavior to a default state + * All buttons are inactive + * All buttons are disabled + * Main bar is visible + */ + public void reset() { + for (Buttons button : Buttons.values()) { + setActive(button, false); + setEnabled(button, false); + } + setMainBarVisible(true); + } + + public void setMainBarVisible(boolean visible) { + this.mainBarVisible = visible; + } + + public boolean getMainBarVisible() { + return this.mainBarVisible; + } +} -- cgit v1.2.3