diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:53:11 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:53:11 +0000 |
commit | b2968bef5d56723826cfe38f1fe5ab1d60aa79f3 (patch) | |
tree | 8bf68cf3b7c8a6d80d3338046110a6decd60fce2 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java | |
parent | 2e533b04ae8b232a50a83101692e20cda53696fb (diff) | |
download | mocca-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.tar.gz mocca-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.tar.bz2 mocca-b2968bef5d56723826cfe38f1fe5ab1d60aa79f3.zip |
State Machine refactoring
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@23 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java | 74 |
1 files changed, 74 insertions, 0 deletions
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<Buttons, Boolean> buttonsEnabled; + protected Map<Buttons, Boolean> buttonsActive; + protected boolean mainBarVisible; + + public MainWindowBehavior() { + this.buttonsActive = new EnumMap<MainWindow.Buttons, Boolean>(MainWindow.Buttons.class); + this.buttonsEnabled = new EnumMap<MainWindow.Buttons, Boolean>( 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; + } +} |