]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.selection.ui/src/org/simantics/district/selection/ui/handlers/CreateNewElementSelector.java
Selection queries from explicit sets of elements.
[simantics/district.git] / org.simantics.district.selection.ui / src / org / simantics / district / selection / ui / handlers / CreateNewElementSelector.java
index b9df8b8460c5da6fb910465bc04ad7ca893e4bb1..10ea9e81346c364da8eccfcab7dc0a2b51b853bd 100644 (file)
@@ -3,12 +3,15 @@ package org.simantics.district.selection.ui.handlers;
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.e4.core.di.annotations.CanExecute;
 import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.services.IServiceConstants;
 import org.eclipse.e4.ui.workbench.IWorkbench;
 import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.widgets.Shell;
+import org.simantics.db.Resource;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.district.selection.ui.parts.EditSelectorDialog;
+import org.simantics.utils.ui.AdaptionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,8 +26,10 @@ public class CreateNewElementSelector {
        
        @Execute
        public void createNewElementSelector(IEclipseContext context, IWorkbench workbench) {
+               Object currentSelection = context.get(IServiceConstants.ACTIVE_SELECTION);
+               
                Shell shell = context.getActive(Shell.class);
-               EditSelectorDialog dialog = new EditSelectorDialog(shell, null);
+               EditSelectorDialog dialog = new EditSelectorDialog(shell, null, AdaptionUtils.adaptToCollection(currentSelection, Resource.class));
                LOGGER.debug("Opening dialog");
                int result = dialog.open();
                LOGGER.debug("Dialog closed with result code " + result);