1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.argeo.slc.client.ui.dist.commands;
17
18 import org.argeo.slc.client.ui.dist.DistPlugin;
19 import org.argeo.slc.client.ui.dist.views.ArtifactsBrowser;
20 import org.eclipse.core.commands.AbstractHandler;
21 import org.eclipse.core.commands.Command;
22 import org.eclipse.core.commands.ExecutionEvent;
23 import org.eclipse.core.commands.ExecutionException;
24 import org.eclipse.core.commands.State;
25 import org.eclipse.ui.PlatformUI;
26 import org.eclipse.ui.commands.ICommandService;
27 import org.eclipse.ui.handlers.HandlerUtil;
28
29
30 public class ShowSizeColumn extends AbstractHandler {
31 public final static String ID = DistPlugin.PLUGIN_ID + ".showSizeColumn";
32
33 public Object execute(ExecutionEvent event) throws ExecutionException {
34 ArtifactsBrowser view = (ArtifactsBrowser) HandlerUtil
35 .getActiveWorkbenchWindow(event).getActivePage()
36 .findView(ArtifactsBrowser.ID);
37
38 ICommandService service = (ICommandService) PlatformUI.getWorkbench()
39 .getService(ICommandService.class);
40 Command command = service.getCommand(ID);
41 State state = command.getState(ID + ".toggleState");
42
43 boolean wasVisible = (Boolean) state.getValue();
44 view.setSizeVisible(!wasVisible);
45 state.setValue(!wasVisible);
46 return null;
47 }
48 }