Search in sources :

Example 1 with FunctionWizard

use of eu.esdihumboldt.hale.ui.function.FunctionWizard in project hale by halestudio.

the class AbstractWizardAction method run.

/**
 * @see Action#run()
 */
@Override
public void run() {
    FunctionWizard wizard = createWizard();
    if (wizard != null) {
        // initialize the wizard
        wizard.init();
        HaleWizardDialog dialog = new HaleWizardDialog(Display.getCurrent().getActiveShell(), wizard);
        if (dialog.open() == WizardDialog.OK) {
            MutableCell cell = wizard.getResult();
            handleResult(cell);
        }
    }
}
Also used : MutableCell(eu.esdihumboldt.hale.common.align.model.MutableCell) FunctionWizard(eu.esdihumboldt.hale.ui.function.FunctionWizard) HaleWizardDialog(eu.esdihumboldt.hale.ui.util.wizard.HaleWizardDialog)

Example 2 with FunctionWizard

use of eu.esdihumboldt.hale.ui.function.FunctionWizard in project hale by halestudio.

the class FunctionWizardNode method createWizard.

/**
 * @see AbstractWizardNode#createWizard()
 */
@Override
protected FunctionWizard createWizard() {
    FunctionWizard result = null;
    List<FunctionWizardDescriptor<?>> factories = FunctionWizardExtension.getInstance().getFactories(new FactoryFilter<FunctionWizardFactory, FunctionWizardDescriptor<?>>() {

        @Override
        public boolean acceptFactory(FunctionWizardDescriptor<?> factory) {
            return factory.getFunctionId().equals(function.getId());
        }

        @Override
        public boolean acceptCollection(ExtensionObjectFactoryCollection<FunctionWizardFactory, FunctionWizardDescriptor<?>> collection) {
            return true;
        }
    });
    if (!factories.isEmpty()) {
        // create registered wizard
        FunctionWizardDescriptor<?> fwd = factories.get(0);
        result = fwd.createNewWizard(initialSelection);
    }
    if (result == null) {
        // create generic wizard
        if (function instanceof TypeFunction) {
            result = new GenericTypeFunctionWizard(initialSelection, function.getId());
        } else {
            result = new GenericPropertyFunctionWizard(initialSelection, function.getId());
        }
    }
    // initialize wizard
    result.init();
    return result;
}
Also used : FunctionWizardDescriptor(eu.esdihumboldt.hale.ui.function.extension.FunctionWizardDescriptor) FunctionWizardFactory(eu.esdihumboldt.hale.ui.function.extension.FunctionWizardFactory) GenericTypeFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericTypeFunctionWizard) GenericPropertyFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericPropertyFunctionWizard) GenericTypeFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericTypeFunctionWizard) GenericPropertyFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericPropertyFunctionWizard) FunctionWizard(eu.esdihumboldt.hale.ui.function.FunctionWizard) TypeFunction(eu.esdihumboldt.hale.common.align.extension.function.TypeFunction)

Example 3 with FunctionWizard

use of eu.esdihumboldt.hale.ui.function.FunctionWizard in project hale by halestudio.

the class EditRelationHandler method execute.

/**
 * @see IHandler#execute(ExecutionEvent)
 */
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
    ISelection selection = HandlerUtil.getCurrentSelection(event);
    if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
        Object selected = ((IStructuredSelection) selection).getFirstElement();
        if (selected instanceof Cell) {
            final Cell originalCell = (Cell) selected;
            FunctionWizard wizard = null;
            List<FunctionWizardDescriptor<?>> factories = FunctionWizardExtension.getInstance().getFactories(new FactoryFilter<FunctionWizardFactory, FunctionWizardDescriptor<?>>() {

                @Override
                public boolean acceptFactory(FunctionWizardDescriptor<?> factory) {
                    return factory.getFunctionId().equals(originalCell.getTransformationIdentifier());
                }

                @Override
                public boolean acceptCollection(ExtensionObjectFactoryCollection<FunctionWizardFactory, FunctionWizardDescriptor<?>> collection) {
                    return true;
                }
            });
            if (!factories.isEmpty()) {
                // create registered wizard
                FunctionWizardDescriptor<?> fwd = factories.get(0);
                wizard = fwd.createEditWizard(originalCell);
            }
            if (wizard == null) {
                FunctionDefinition<?> function = FunctionUtil.getFunction(originalCell.getTransformationIdentifier(), HaleUI.getServiceProvider());
                if (function == null) {
                    log.userError(MessageFormat.format("Function with identifier ''{0}'' is unknown.", originalCell.getTransformationIdentifier()));
                    return null;
                }
                // create generic wizard
                if (function instanceof TypeFunction) {
                    wizard = new GenericTypeFunctionWizard(originalCell);
                } else {
                    wizard = new GenericPropertyFunctionWizard(originalCell);
                }
            }
            // initialize wizard
            wizard.init();
            HaleWizardDialog dialog = new HaleWizardDialog(HandlerUtil.getActiveShell(event), wizard);
            if (dialog.open() == WizardDialog.OK) {
                MutableCell cell = wizard.getResult();
                AlignmentService alignmentService = PlatformUI.getWorkbench().getService(AlignmentService.class);
                // remove the original cell
                // and add the new cell
                alignmentService.replaceCell(originalCell, cell);
            }
        }
    }
    return null;
}
Also used : MutableCell(eu.esdihumboldt.hale.common.align.model.MutableCell) FunctionWizardDescriptor(eu.esdihumboldt.hale.ui.function.extension.FunctionWizardDescriptor) FunctionWizardFactory(eu.esdihumboldt.hale.ui.function.extension.FunctionWizardFactory) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) GenericTypeFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericTypeFunctionWizard) GenericPropertyFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericPropertyFunctionWizard) FunctionWizard(eu.esdihumboldt.hale.ui.function.FunctionWizard) AlignmentService(eu.esdihumboldt.hale.ui.service.align.AlignmentService) ISelection(org.eclipse.jface.viewers.ISelection) GenericTypeFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericTypeFunctionWizard) Cell(eu.esdihumboldt.hale.common.align.model.Cell) MutableCell(eu.esdihumboldt.hale.common.align.model.MutableCell) GenericPropertyFunctionWizard(eu.esdihumboldt.hale.ui.function.generic.GenericPropertyFunctionWizard) TypeFunction(eu.esdihumboldt.hale.common.align.extension.function.TypeFunction) HaleWizardDialog(eu.esdihumboldt.hale.ui.util.wizard.HaleWizardDialog)

Example 4 with FunctionWizard

use of eu.esdihumboldt.hale.ui.function.FunctionWizard in project hale by halestudio.

the class NewRelationWizard method performFinish.

/**
 * @see MultiWizard#performFinish()
 */
@Override
public boolean performFinish() {
    // performFinish of the function wizard was called first
    FunctionWizard functionWizard = getSelectionPage().getFunctionWizard();
    if (functionWizard == null) {
        return false;
    }
    MutableCell cell = functionWizard.getResult();
    if (cell != null) {
        AlignmentService as = PlatformUI.getWorkbench().getService(AlignmentService.class);
        as.addCell(cell);
    }
    createdCell = cell;
    // save page configuration
    ProjectService ps = PlatformUI.getWorkbench().getService(ProjectService.class);
    getSelectionPage().store(ps.getConfigurationService());
    return true;
}
Also used : MutableCell(eu.esdihumboldt.hale.common.align.model.MutableCell) AlignmentService(eu.esdihumboldt.hale.ui.service.align.AlignmentService) ProjectService(eu.esdihumboldt.hale.ui.service.project.ProjectService) FunctionWizard(eu.esdihumboldt.hale.ui.function.FunctionWizard)

Aggregations

FunctionWizard (eu.esdihumboldt.hale.ui.function.FunctionWizard)4 MutableCell (eu.esdihumboldt.hale.common.align.model.MutableCell)3 TypeFunction (eu.esdihumboldt.hale.common.align.extension.function.TypeFunction)2 FunctionWizardDescriptor (eu.esdihumboldt.hale.ui.function.extension.FunctionWizardDescriptor)2 FunctionWizardFactory (eu.esdihumboldt.hale.ui.function.extension.FunctionWizardFactory)2 GenericPropertyFunctionWizard (eu.esdihumboldt.hale.ui.function.generic.GenericPropertyFunctionWizard)2 GenericTypeFunctionWizard (eu.esdihumboldt.hale.ui.function.generic.GenericTypeFunctionWizard)2 AlignmentService (eu.esdihumboldt.hale.ui.service.align.AlignmentService)2 HaleWizardDialog (eu.esdihumboldt.hale.ui.util.wizard.HaleWizardDialog)2 Cell (eu.esdihumboldt.hale.common.align.model.Cell)1 ProjectService (eu.esdihumboldt.hale.ui.service.project.ProjectService)1 ISelection (org.eclipse.jface.viewers.ISelection)1 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)1