summaryrefslogtreecommitdiff
path: root/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java
diff options
context:
space:
mode:
authortkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:04:50 +0000
committertkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:04:50 +0000
commit52edf7dfea3015e807e72e0812d99abbb53e6f9f (patch)
treededf1ba82f6e4a9b1ed48c84b70c761daf673e7b /trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java
parent2159fac36839b3d0db4784b624b25e3bb1163315 (diff)
downloadpdf-over-52edf7dfea3015e807e72e0812d99abbb53e6f9f.tar.gz
pdf-over-52edf7dfea3015e807e72e0812d99abbb53e6f9f.tar.bz2
pdf-over-52edf7dfea3015e807e72e0812d99abbb53e6f9f.zip
State Machine refactoring
git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12388 3a0b52a2-8410-0410-bc02-ff6273a87459
Diffstat (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java')
-rw-r--r--trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/MainWindowBehavior.java
new file mode 100644
index 00000000..63c2dafd
--- /dev/null
+++ b/trunk/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;
+ }
+}