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
17
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
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 }