1 6 package com.nightlabs.ipanema.base.login.actions; 7 8 import javax.security.auth.login.LoginException ; 9 10 import org.eclipse.jface.action.IAction; 11 import org.eclipse.jface.viewers.ISelection; 12 import org.eclipse.ui.IWorkbenchWindow; 13 import org.eclipse.ui.IWorkbenchWindowActionDelegate; 14 15 import com.nightlabs.ipanema.base.login.Login; 16 import com.nightlabs.ipanema.base.login.LoginStateListener; 17 18 24 public abstract class LSDWorkbenchWindowActionDelegate implements 25 IWorkbenchWindowActionDelegate, LoginStateListener { 26 27 32 public void dispose() { 33 try { 34 Login.getLogin(false).removeLoginStateListener(this); 35 } catch (LoginException e) { 36 throw new RuntimeException ("Login.getLogin(false) should never throw this exception!", e); 37 } 38 } 39 40 IWorkbenchWindow window; 41 45 protected IWorkbenchWindow getWindow() { 46 return window; 47 } 48 49 55 public void init(IWorkbenchWindow window){ 56 this.window = window; 57 } 58 59 63 public abstract void run(IAction action); 64 65 72 public void selectionChanged(IAction action, ISelection selection) { 73 Login.sharedInstance().addLoginStateListener(this,action); 74 } 75 76 80 public void loginStateChanged(int loginState, IAction action) { 81 } 82 83 } 84 | Popular Tags |