]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/handlers/DeleteElementSelector.java
Elimination of compiler warnings.
[simantics/district.git] / org.simantics.district.selection.ui / src / org / simantics / district / selection / ui / handlers / DeleteElementSelector.java
1 package org.simantics.district.selection.ui.handlers;
2
3 import javax.inject.Inject;
4
5 import org.eclipse.e4.core.contexts.IEclipseContext;
6 import org.eclipse.e4.core.di.annotations.CanExecute;
7 import org.eclipse.e4.core.di.annotations.Execute;
8 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
9 import org.eclipse.e4.ui.workbench.IWorkbench;
10 import org.eclipse.e4.ui.workbench.modeling.EPartService;
11 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
12 import org.simantics.Simantics;
13 import org.simantics.db.WriteGraph;
14 import org.simantics.db.common.request.WriteRequest;
15 import org.simantics.db.exception.DatabaseException;
16 import org.simantics.district.selection.ElementSelector;
17 import org.simantics.district.selection.ui.parts.ElementSelectionView;
18 import org.slf4j.Logger;
19 import org.slf4j.LoggerFactory;
20
21 public class DeleteElementSelector {
22
23         @SuppressWarnings("unused")
24         private static final Logger LOGGER = LoggerFactory.getLogger(DeleteElementSelector.class);
25
26         @Inject
27         EPartService partService;
28         
29         @CanExecute
30         public boolean canExecute(ESelectionService selectionService) {
31                 MPart part = partService.getActivePart();
32                 if (part == null) return false;
33                 
34                 Object object = part.getObject();
35                 if (object == null || !(object instanceof ElementSelectionView))
36                         return false;
37                 
38                 ElementSelectionView view = (ElementSelectionView)object;
39                 return view.getSelectedItem() != null;
40         }
41
42         @Execute
43         public void editElementSelector(IEclipseContext context, IWorkbench workbench) {
44                 MPart part = partService.getActivePart();
45                 if (part == null) return;
46                 
47                 Object object = part.getObject();
48                 if (object == null || !(object instanceof ElementSelectionView))
49                         return;
50                 
51                 ElementSelectionView view = (ElementSelectionView)object;
52                 ElementSelector selectedItem = view.getSelectedItem();
53                 
54                 if (selectedItem == null)
55                         return;
56                 
57                 Simantics.getSession().async(new WriteRequest() {
58                         @Override
59                         public void perform(WriteGraph graph) throws DatabaseException {
60                                 graph.markUndoPoint();
61                                 graph.deny(selectedItem.getResource());
62                         }
63                 });
64         }
65 }