blob: 17a33768597d5b8f86399fd32107fa44f355c53f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 Ericsson
*
* 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
*
* Description:
*
* Contributors:
* Miles Parker, Tasktop Technologies - Initial API and Implementation
*******************************************************************************/
package org.eclipse.mylyn.internal.reviews.r4e.connector.ui;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.mylyn.internal.reviews.r4e.connector.R4EConnectorPlugin;
import org.eclipse.mylyn.reviews.connector.AbstractEmfConnector;
import org.eclipse.mylyn.reviews.connector.ui.AbstractEmfConnectorUi;
import org.eclipse.mylyn.reviews.connector.ui.wizards.EmfRepositoryQueryPage;
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.mylyn.tasks.core.ITaskMapping;
import org.eclipse.mylyn.tasks.core.TaskRepository;
import org.eclipse.mylyn.tasks.ui.wizards.ITaskRepositoryPage;
import org.eclipse.mylyn.tasks.ui.wizards.ITaskSearchPage;
import org.eclipse.mylyn.tasks.ui.wizards.NewTaskWizard;
import org.eclipse.mylyn.tasks.ui.wizards.RepositoryQueryWizard;
import org.eclipse.swt.widgets.Shell;
/**
* Connector specific UI for R4E.
*
* @author Miles Parker
*/
public class R4EConnectorUi extends AbstractEmfConnectorUi {
class InnerQueryPage extends EmfRepositoryQueryPage {
public InnerQueryPage(TaskRepository repository, IRepositoryQuery query) {
super(repository, "R4E Query", query);
}
@Override
public AbstractEmfConnector getConnector() {
return R4EConnectorUi.this.getConnector();
}
}
public R4EConnectorUi() {
if (R4EUiPlugin.getDefault() != null) {
R4EUiPlugin.getDefault().setConnectorUi(this);
}
}
@Override
public ITaskRepositoryPage getSettingsPage(TaskRepository taskRepository) {
return new R4ERepositorySettingsPage(taskRepository);
}
@Override
public IWizard getQueryWizard(TaskRepository repository, IRepositoryQuery query) {
RepositoryQueryWizard wizard = new RepositoryQueryWizard(repository);
wizard.addPage(new InnerQueryPage(repository, query));
return wizard;
}
@Override
public IWizard getNewTaskWizard(TaskRepository taskRepository, ITaskMapping taskSelection) {
return new NewTaskWizard(taskRepository, taskSelection);
}
@Override
public ITaskSearchPage getSearchPage(TaskRepository repository, IStructuredSelection selection) {
return new InnerQueryPage(repository, null);
}
@Override
public boolean hasSearchPage() {
return true;
}
@Override
public String getTaskKindLabel(ITask task) {
return "Review"; //$NON-NLS-1$
}
@Override
public ImageDescriptor getTaskKindOverlay(ITask task) {
return R4EImages.OVERLAY_REVIEW;
}
@Override
public AbstractEmfConnector getConnector() {
return R4EConnectorPlugin.getDefault().getConnector();
}
@Override
public String[] getFileNameExtensions() {
return new String[] { "*.xrer" }; //$NON-NLS-1$
}
@Override
public IPath createNewRepository(Shell parent) {
// ignore
return null;
}
}