]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/scl/imports/OntologyImportModulesAction.java
Merge "Added trailing zero visibility control for FormattingUtil"
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / scl / imports / OntologyImportModulesAction.java
1 package org.simantics.modeling.ui.scl.imports;
2
3 import java.util.ArrayList;
4
5 import org.eclipse.jface.dialogs.Dialog;
6 import org.eclipse.swt.widgets.Shell;
7 import org.simantics.scl.compiler.commands.CommandSessionImportEntry;
8 import org.simantics.scl.ui.imports.ImportModulesAction;
9
10 public class OntologyImportModulesAction extends ImportModulesAction {
11     
12     public static final OntologyImportModulesAction INSTANCE = new OntologyImportModulesAction();
13             
14     public OntologyImportModulesAction() {
15         super(Messages.OntologyImportModulesAction_AddOntology, 10.0);
16     }
17
18     @Override
19     public boolean editImports(Shell shell, ArrayList<CommandSessionImportEntry> imports) {
20         ModuleSelectionDialog dialog = new ModuleSelectionDialog(shell, OntologiesQuery.INSTANCE);
21         dialog.setTitle(Messages.OntologyImportModulesAction_AddOntology);
22         if(dialog.open() == Dialog.OK) {
23             for(Object r : dialog.getResult()) {
24                 String uri = (String)r;
25                 new CommandSessionImportEntry(uri, getDefaultLocalName(uri), true).addTo(imports);
26             }
27             return true;
28         }
29         else
30             return false;
31     }
32     
33     public String getDefaultLocalName(String ontologyUri) {
34         if(ontologyUri.contains("/Layer0-")) //$NON-NLS-1$
35             return "L0"; //$NON-NLS-1$
36         if(ontologyUri.contains("/Structural-")) //$NON-NLS-1$
37             return "STR"; //$NON-NLS-1$
38         if(ontologyUri.contains("/Modeling-")) //$NON-NLS-1$
39             return "MOD"; //$NON-NLS-1$
40         return ""; //$NON-NLS-1$
41     }
42
43 }