Class OpModeMgr
- java.lang.Object
-
- de.desy.mst.libs.framework.mstapp.mode.OpModeMgr
-
- All Implemented Interfaces:
IOpModeKonfigurationObserver
,IRegisterForCaption
public final class OpModeMgr extends java.lang.Object implements IOpModeKonfigurationObserver, IRegisterForCaption
Operations Mode Manager The one and only place where the true opmode of the current app is defined (via ) The OpMode is never null. Registered Objects will be automatically updated or notified.- Author:
- schuette
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
OpModeMgr.IRubberband
Usecase: Die Applikation startet im BKR ist im Betriebsmode, der Expertenmode wird angewählt und wenig spaeter das Programm so zurückgelassen.
-
Constructor Summary
Constructors Constructor Description OpModeMgr()
OpModeMgr(OpModeKonfiguration opModeKonfiguration)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
deregisterForCaption(java.lang.Object object)
void
deregisterForEnablement(java.awt.Component component)
void
deregisterForVisibility(java.awt.Component component)
void
deregisterIOpModeObserver(IOpModeObserver opModeObserver)
OpModeMgr.IRubberband
getIRubberband()
not null, Zugriff auf die automatische Betriebsmode Rueckwechsel Detail Steuerungint
getIRubberbandProgress()
OpMode
getOpMode()
OpModeKonfiguration
getOpModeKonfiguration()
void
initAndRegisterOptionMenu(javax.swing.JMenu jMenuOptions, int menuIndex, IOpModeObserver opModeObserver)
void
onKonfigurationChange(OpModeKonfiguration konfiguration)
void
registerForCaption(javax.swing.AbstractButton menuItemOrButtonOrEtc)
void
registerForCaption(javax.swing.JLabel label)
void
registerForEnablement(java.awt.Component component, OpModeListe enabledFallsInListe)
void
registerForVisibility(java.awt.Component component, OpModeListe visibleFallsInListe)
void
registerIOpModeObserver(IOpModeObserver opModeObserver)
void
setOpMode(OpMode opMode)
Deprecated.void
setOpMode(OpMode opMode, java.lang.String passwort)
boolean
setRubberbandEnabled(boolean enabled)
The Rubberband (Gummiband) lets a changed OpMode always go back to the OpMode at the time of first calling this function (typically at construction of the Main Form that means to the defaultOpMode of the Application for the current user on the current PC).
-
-
-
Constructor Detail
-
OpModeMgr
public OpModeMgr(OpModeKonfiguration opModeKonfiguration)
-
OpModeMgr
public OpModeMgr()
-
-
Method Detail
-
initAndRegisterOptionMenu
public final void initAndRegisterOptionMenu(javax.swing.JMenu jMenuOptions, int menuIndex, IOpModeObserver opModeObserver)
- Parameters:
jMenuOptions
- Hier werden die Untermenues drangehaengtopModeObserver
- werden bei Aenderung vom OpMode benachrichtigt- Throws:
java.lang.NullPointerException
- theOptionMenu darf nicht null seinjava.lang.IllegalStateException
- darf nur genau einmal aufgerufen werden, menuIndex must be legal
-
getOpMode
public final OpMode getOpMode()
- Returns:
- current OpMode, never null
-
setOpMode
public final void setOpMode(OpMode opMode, java.lang.String passwort)
- Parameters:
opMode
- Ziel OpMode, muss gesetzt werden duerfen (implementiert, erfolgreicher Passwortcheck)- Throws:
java.security.AccessControlException
- fuer passwortgeschuetzte OpModes bei falscher Legitimationjava.lang.IllegalArgumentException
- opMode muss setzbar (implementiert) sein
-
setOpMode
@Deprecated public final void setOpMode(OpMode opMode)
Deprecated.
-
registerIOpModeObserver
public final void registerIOpModeObserver(IOpModeObserver opModeObserver)
-
deregisterIOpModeObserver
public final void deregisterIOpModeObserver(IOpModeObserver opModeObserver)
-
registerForCaption
public final void registerForCaption(javax.swing.JLabel label)
- Specified by:
registerForCaption
in interfaceIRegisterForCaption
-
registerForCaption
public final void registerForCaption(javax.swing.AbstractButton menuItemOrButtonOrEtc)
- Specified by:
registerForCaption
in interfaceIRegisterForCaption
-
deregisterForCaption
public final void deregisterForCaption(java.lang.Object object)
- Specified by:
deregisterForCaption
in interfaceIRegisterForCaption
-
registerForEnablement
public final void registerForEnablement(java.awt.Component component, OpModeListe enabledFallsInListe)
-
deregisterForEnablement
public final void deregisterForEnablement(java.awt.Component component)
-
registerForVisibility
public final void registerForVisibility(java.awt.Component component, OpModeListe visibleFallsInListe)
-
deregisterForVisibility
public final void deregisterForVisibility(java.awt.Component component)
-
getOpModeKonfiguration
public final OpModeKonfiguration getOpModeKonfiguration()
-
onKonfigurationChange
public final void onKonfigurationChange(OpModeKonfiguration konfiguration)
- Specified by:
onKonfigurationChange
in interfaceIOpModeKonfigurationObserver
- Parameters:
konfiguration
- eine evtl. neue Konfiguration ist aktuell
-
setRubberbandEnabled
public final boolean setRubberbandEnabled(boolean enabled)
The Rubberband (Gummiband) lets a changed OpMode always go back to the OpMode at the time of first calling this function (typically at construction of the Main Form that means to the defaultOpMode of the Application for the current user on the current PC). The Mode will be switched back after no more User activity (button or mouse pressed anywhere within the application) and an ample time out.
Details of this mechanisms can be configured with the OpModeMgr.IRubberband object that can be get via opModeMgr.getIRubberband().
Caveat: This is a best effort mechanisms. It will not be possible to enable it if the Java security manager does not allow access to the AWTEventListener. Also some strange but probably benign behavior might result from switching between ServerModes.- Parameters:
enabled
- ... true best effort, ... false always succeeds- Returns:
- isRubberbandEnabled() as a result of the call
-
getIRubberband
public final OpModeMgr.IRubberband getIRubberband()
not null, Zugriff auf die automatische Betriebsmode Rueckwechsel Detail Steuerung
-
getIRubberbandProgress
public final int getIRubberbandProgress()
- Returns:
- 0 bis 100%, 100% nur bei getDestinationMode() == getOpMode()
-
-