Write a command class similar to this:
public class OpenDialogCommand extends Command {
@Override
public void execute() {
TwoListsSelectionDialog dialog = new TwoListsSelectionDialog(
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell());
EObject exhibitionModule = ((ExhibitionModuleEditPart) getParent())
.resolveSemanticElement();
dialog.setList(((ExhibitionModule) exhibitionModule).getSlides());
Object[] results = null;
dialog.open();
results = dialog.getResult();
Sequence seq = (Sequence) resolveSemanticElement();
if (results == null) {
seq.eSet(ExhibitionPackage.eINSTANCE.getSequence_SlideOrder(),
null);
return;
}
String slideOrder = "";
for (Object obj : results) {
if (obj instanceof Slide) {
slideOrder += ((Slide) obj).getSlideId() + ";";
}
}
org.eclipse.emf.common.command.Command cmd = SetCommand.create(
getEditingDomain(), seq, ExhibitionPackage.eINSTANCE
.getSequence_SlideOrder(), slideOrder);
getEditingDomain().getCommandStack().execute(cmd);
System.out.println(getClass().getName() + " seq "
+ seq.getSlideOrder());
}
}