package edu.ualberta.med.biobank.gui.common;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.ui.AbstractSourceProvider;
import org.eclipse.ui.ISources;
public class LoginPermissionSessionState extends AbstractSourceProvider {
public final static String LOGIN_STATE_SOURCE_NAME =
"edu.ualberta.med.biobank.gui.common.sourceprovider.loginState"; //$NON-NLS-1$
public static final String LABEL_PRINTING_PERMISSION =
"edu.ualberta.med.biobank.gui.common.sourceprovider.labelPrintingPermission"; //$NON-NLS-1$
public final static String LOGGED_IN = "loggedIn"; //$NON-NLS-1$
public final static String LOGGED_OUT = "loggedOut"; //$NON-NLS-1$
private boolean loggedIn;
private boolean labelPrintingPermission;
@Override
public String[] getProvidedSourceNames() {
return new String[] { LOGIN_STATE_SOURCE_NAME,
LABEL_PRINTING_PERMISSION };
}
@Override
public void dispose() {
}
@Override
public Map<String, String> getCurrentState() {
Map<String, String> currentStateMap = new HashMap<String, String>(1);
String currentState = loggedIn ? LOGGED_IN : LOGGED_OUT;
currentStateMap.put(LOGIN_STATE_SOURCE_NAME, currentState);
return currentStateMap;
}
public void setLoggedInState(boolean loggedIn) {
if (this.loggedIn == loggedIn)
return; // no change
this.loggedIn = loggedIn;
String currentState = loggedIn ? LOGGED_IN : LOGGED_OUT;
fireSourceChanged(ISources.WORKBENCH, LOGIN_STATE_SOURCE_NAME,
currentState);
}
public void setLabelPrintingPermissionState(boolean labelPrintingPermission) {
if (this.labelPrintingPermission == labelPrintingPermission)
return; // no change
this.labelPrintingPermission = labelPrintingPermission;
fireSourceChanged(ISources.WORKBENCH, LABEL_PRINTING_PERMISSION,
labelPrintingPermission);
}
}