View Javadoc

1   package org.ximtec.igesture.tool.view.devicemanager.action;
2   
3   import java.awt.event.ActionEvent;
4   
5   import javax.swing.event.ListSelectionEvent;
6   import javax.swing.event.ListSelectionListener;
7   
8   import org.sigtec.graphix.widget.BasicAction;
9   import org.ximtec.igesture.io.IUser;
10  import org.ximtec.igesture.tool.GestureConstants;
11  import org.ximtec.igesture.tool.service.GuiBundleService;
12  import org.ximtec.igesture.tool.view.devicemanager.DeviceManagerController;
13  import org.ximtec.igesture.tool.view.devicemanager.DeviceManagerView;
14  
15  /**
16   * Action to remove a user. It extends {@link org.sigtec.graphix.widget.BasicAction} and implements the {@link javax.swing.event.ListSelectionListener} interface.
17   * @author Bjorn Puype, bpuype@gmail.com
18   *
19   */
20  public class RemoveUserAction extends BasicAction implements ListSelectionListener{
21  
22  	private DeviceManagerController controller;
23  	private DeviceManagerView view;
24  	
25  	public RemoveUserAction(DeviceManagerController controller, DeviceManagerView view)
26  	{
27  		this(controller,view,false);
28  	}
29  	
30  	public RemoveUserAction(DeviceManagerController controller, DeviceManagerView view, boolean enabled)
31  	{
32  		super(GestureConstants.REMOVE_USER, controller.getLocator().getService(
33  	            GuiBundleService.IDENTIFIER, GuiBundleService.class));
34  		this.controller = controller;
35  		this.view = view;
36  		setEnabled(enabled);
37  	}
38  	
39  	@Override
40  	public void actionPerformed(ActionEvent e) {
41  		IUser user = view.getSelectedUser();
42  		controller.removeUser(user);
43  	}
44  
45  	@Override
46  	public void valueChanged(ListSelectionEvent e) {
47  		//enable the action when something was selected. Except if the user is a default user.
48  		IUser user = view.getSelectedUser();
49  		IUser defaultUser = controller.getDefaultUser();
50  		if( ( user != null ) && !user.equals(defaultUser) )
51  			setEnabled(true);
52  		else
53  			setEnabled(false);
54  	}
55  
56  }