package com.mobilesorcery.sdk.ui.internal.handlers;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Widget;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import com.mobilesorcery.sdk.core.MoSyncProject;
import com.mobilesorcery.sdk.core.MoSyncTool;
import com.mobilesorcery.sdk.ui.MoSyncCommandHandler;
import com.mobilesorcery.sdk.ui.MosyncUIPlugin;
import com.mobilesorcery.sdk.ui.PlatformSelectionComposite;
public class ChangeActiveProfileHandler extends MoSyncCommandHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
Shell shell = HandlerUtil.getActiveShell(event);
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
MoSyncProject project = MosyncUIPlugin.getDefault().getCurrentlySelectedProject(window);
if (!isValid(project)) {
MessageDialog.openWarning(shell, "No project", "No valid project selected");
} else {
PlatformSelectionComposite psc = new PlatformSelectionComposite(shell, getStyle());
psc.setProject(project);
psc.show(SWT.NONE);
}
return null;
}
protected boolean isValid(MoSyncProject project) {
return project != null;
}
protected int getMode() {
return MoSyncTool.DEFAULT_PROFILE_TYPE;
}
protected int getStyle() {
return SWT.SEARCH | SWT.BACKGROUND;
}
}