]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.network.ui/src/org/simantics/district/network/ui/table/DistrictCSVTableView.java
Add CSV table view for copy/pasting consumer information before creation
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / table / DistrictCSVTableView.java
1 package org.simantics.district.network.ui.table;
2
3 import javax.annotation.PostConstruct;
4 import javax.annotation.PreDestroy;
5 import javax.inject.Inject;
6
7 import org.eclipse.e4.ui.model.application.MApplication;
8 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
9 import org.eclipse.e4.ui.model.application.ui.menu.MHandledToolItem;
10 import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory;
11 import org.eclipse.e4.ui.model.application.ui.menu.MToolBar;
12 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
13 import org.eclipse.swt.widgets.Composite;
14
15 public class DistrictCSVTableView {
16
17         @Inject ESelectionService selectionService;
18
19         private DistrictCSVTable table;
20
21         @Inject
22         public void init(MPart part, MApplication app) {
23                 MToolBar toolBar = MMenuFactory.INSTANCE.createToolBar();
24                 toolBar.setToBeRendered(true);
25                 toolBar.getChildren().add(createImportCSVDataToolItem(app));
26                 part.setToolbar(toolBar);
27         }
28
29         private MHandledToolItem createImportCSVDataToolItem(MApplication app) {
30                 MHandledToolItem createHandledToolItem = MMenuFactory.INSTANCE.createHandledToolItem();
31                 // Command is contributed via fragment
32                 createHandledToolItem.setCommand(app.getCommand("org.simantics.district.network.ui.command.importcsv")); //$NON-NLS-1$
33                 createHandledToolItem.setLabel("Import CSV");
34                 createHandledToolItem.setIconURI("platform:/plugin/com.famfamfam.silk/icons/table_edit.png"); //$NON-NLS-1$
35                 return createHandledToolItem;
36         }
37
38         @PostConstruct
39         public void postConstruct(Composite parent) {
40                 table = new DistrictCSVTable(parent, 0);
41                 
42         }
43         
44         @PreDestroy
45         public void dispose() {
46                 table.dispose();
47                 table = null;
48         }
49
50         public String[][] getCurrentData() {
51                 return table.getCurrentData();
52         }
53 }