blob: 0090c63ee361abb779c0e39bf563cd2ec162ac26 [file] [log] [blame]
/**
* Copyright (c) 2012 Mia-Software.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Gregoire Dupe (Mia-Software) - Bug 369987 - [Restructuring][Table] Switch to the new customization and facet framework
* Gregoire Dupe (Mia-Software) - Bug 373078 - API Cleaning
* Nicolas Bros (Mia-Software) - Bug 372626 - Aggregates
*/
package org.eclipse.emf.facet.custom.ui.internal.dialog;
import java.util.List;
import org.eclipse.emf.facet.custom.metamodel.v0_2_0.custom.Customization;
import org.eclipse.emf.facet.custom.ui.internal.exported.dialog.ILoadCustomizationsDialog;
import org.eclipse.emf.facet.custom.ui.internal.exported.exception.IllegalParameterException;
import org.eclipse.emf.facet.util.ui.internal.exported.dialog.IDialogCallbackWithPreCommit;
import org.eclipse.emf.facet.util.ui.internal.exported.displaysync.AbstractExceptionFreeRunnable;
import org.eclipse.emf.facet.util.ui.internal.exported.displaysync.AbstractVoidExceptionFreeRunnable;
import org.eclipse.emf.facet.util.ui.internal.exported.displaysync.AbstractVoidRunnable;
import org.eclipse.emf.facet.util.ui.internal.exported.displaysync.SynchronizedObject;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SynchronizedLoadCustomizationsDialog<D> extends
SynchronizedObject<LoadCustomizationsDialog<D>> implements
ILoadCustomizationsDialog<D> { // NOPMD by gdupe on 03/02/12 12:13 - We cannot do more. This class is a facade/wrapper of an other class.
public SynchronizedLoadCustomizationsDialog(final Shell parent,
final List<Customization> availableCustoms,
final List<Customization> selectedCustoms,
final List<Customization> lockedCustoms,
final IDialogCallbackWithPreCommit<List<Customization>, Boolean, D> callback,
final String lockMsg) {
super(new LoadCustomizationsDialog(parent, availableCustoms,
selectedCustoms, lockedCustoms, callback, lockMsg),
initDisplay(parent));
}
private static Display initDisplay(final Shell parent) {
Display display;
if (parent == null) {
display = Display.getDefault();
} else {
display = parent.getDisplay();
}
return display;
}
public int open() {
return this.safeSyncExec(new AbstractExceptionFreeRunnable<Integer>() {
@Override
public Integer safeRun() {
return Integer.valueOf(SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().open());
}
}).intValue();
}
public void asyncOpen() {
this.voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().asyncOpen();
}
});
}
public D pressOk() {
return this.safeSyncExec(new AbstractExceptionFreeRunnable<D>() {
@Override
public D safeRun() {
return SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().pressOk();
}
});
}
public void selectAvailableCustom(final Customization customization) {
this.voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().selectAvailableCustom(
customization);
}
});
}
public void loadSelectedCustoms() {
this.voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().loadSelectedCustoms();
}
});
}
public void selectSelectedCustom(final Customization customization) {
this.voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().selectSelectedCustom(
customization);
}
});
}
public void unloadSelectedCustoms() {
this.voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
SynchronizedLoadCustomizationsDialog.this
.getSynchronizedObject().unloadSelectedCustoms();
}
});
}
public void addCustomization(final Customization customization)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().addCustomization(customization);
}
});
}
public void addCustomizations(final List<Customization> customizations)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().addCustomizations(customizations);
}
});
}
public void removeCustomization(final Customization customization)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().removeCustomization(customization);
}
});
}
public void removeCustomizations(final List<Customization> customizations)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().removeCustomizations(customizations);
}
});
}
public void cancel() {
voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
getSynchronizedObject().cancel();
}
});
}
public void validate() {
voidExceptionFreeRunnable(new AbstractVoidExceptionFreeRunnable() {
@Override
public void voidSafeRun() {
getSynchronizedObject().validate();
}
});
}
public List<Customization> getSelectedCustomizations() {
return safeSyncExec(new AbstractExceptionFreeRunnable<List<Customization>>() {
@Override
public List<Customization> safeRun() {
return getSynchronizedObject().getSelectedCustomizations();
}
});
}
public List<Customization> getAvailableCustomizations() {
return safeSyncExec(new AbstractExceptionFreeRunnable<List<Customization>>() {
@Override
public List<Customization> safeRun() {
return getSynchronizedObject().getAvailableCustomizations();
}
});
}
public void pushUp(final Customization customization)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().pushUp(customization);
}
});
}
public void pushDown(final Customization customization)
throws IllegalParameterException {
voidSyncExec(new AbstractVoidRunnable<IllegalParameterException>() {
@Override
public void voidRun() throws IllegalParameterException {
getSynchronizedObject().pushDown(customization);
}
});
}
}