| /******************************************************************************* |
| * Copyright (c) 2004, 2008 Tasktop Technologies and others. |
| * 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: |
| * Tasktop Technologies - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.mylyn.internal.tasks.ui.actions; |
| |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.mylyn.tasks.core.ITask; |
| import org.eclipse.mylyn.tasks.core.ITask.SynchronizationState; |
| import org.eclipse.mylyn.tasks.ui.editors.TaskEditor; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ui.actions.BaseSelectionListenerAction; |
| |
| /** |
| * @author Rob Elves |
| */ |
| public abstract class AbstractTaskEditorAction extends BaseSelectionListenerAction { |
| |
| protected TaskEditor editor; |
| |
| public AbstractTaskEditorAction(String text) { |
| super(text); |
| } |
| |
| public void setEditor(TaskEditor taskEditor) { |
| this.editor = taskEditor; |
| } |
| |
| protected boolean taskDirty(ITask task) { |
| return (((editor != null && editor.isDirty()) |
| || task.getSynchronizationState().equals(SynchronizationState.OUTGOING) || task.getSynchronizationState() |
| .equals(SynchronizationState.CONFLICT))); |
| |
| } |
| |
| protected void openInformationDialog(String label, String text) { |
| |
| Shell shell = null; |
| if (editor != null) { |
| shell = editor.getSite().getShell(); |
| } |
| MessageDialog.openInformation(shell, label, text); |
| if (editor != null) { |
| editor.showBusy(false); |
| } |
| return; |
| } |
| |
| } |