diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/provisional/tasks/ui/wizards/AbstractRepositoryQueryPage2.java')
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/provisional/tasks/ui/wizards/AbstractRepositoryQueryPage2.java | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/provisional/tasks/ui/wizards/AbstractRepositoryQueryPage2.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/provisional/tasks/ui/wizards/AbstractRepositoryQueryPage2.java deleted file mode 100644 index 7b109e529..000000000 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/provisional/tasks/ui/wizards/AbstractRepositoryQueryPage2.java +++ /dev/null @@ -1,272 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2009 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.provisional.tasks.ui.wizards; - -import java.lang.reflect.InvocationTargetException; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.layout.GridDataFactory; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.mylyn.tasks.core.AbstractRepositoryConnector; -import org.eclipse.mylyn.tasks.core.IRepositoryQuery; -import org.eclipse.mylyn.tasks.core.TaskRepository; -import org.eclipse.mylyn.tasks.ui.TasksUi; -import org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositoryQueryPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.progress.IProgressService; - -/** - * @author Steffen Pingel - * @since 3.1 - * @deprecated use {@link org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositoryQueryPage2} instead - */ -@Deprecated -public abstract class AbstractRepositoryQueryPage2 extends AbstractRepositoryQueryPage { - - private Text titleText; - - private Button updateButton; - - private boolean firstTime = true; - - private final AbstractRepositoryConnector connector; - - private boolean needsRepositoryConfiguration = true; - - public AbstractRepositoryQueryPage2(String pageName, TaskRepository repository, IRepositoryQuery query) { - super(pageName, repository, query); - this.connector = TasksUi.getRepositoryConnector(getTaskRepository().getConnectorKind()); - setTitle(Messages.AbstractRepositoryQueryPage2_Enter_query_parameters); - } - - public void setNeedsRepositoryConfiguration(boolean needsRepositoryConfiguration) { - this.needsRepositoryConfiguration = needsRepositoryConfiguration; - } - - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).applyTo(composite); - GridLayout layout = new GridLayout(2, false); - if (inSearchContainer()) { - layout.marginWidth = 0; - layout.marginHeight = 0; - } - composite.setLayout(layout); - - createTitleGroup(composite); - - Composite innerComposite = new Composite(composite, SWT.NONE); - GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(2, 1).applyTo(innerComposite); - innerComposite.setLayout(new FillLayout()); - createPageContent(innerComposite); - - if (needsRepositoryConfiguration) { - createUpdateButton(composite); - } else { - setDescription(Messages.AbstractRepositoryQueryPage2_Create_a_Query_Page_Description); - } - - if (getQuery() != null) { - titleText.setText(getQuery().getSummary()); - restoreState(getQuery()); - } - - Dialog.applyDialogFont(composite); - setControl(composite); - } - - protected abstract void createPageContent(Composite parent); - - private void createTitleGroup(Composite control) { - if (inSearchContainer()) { - return; - } - - Label titleLabel = new Label(control, SWT.NONE); - titleLabel.setText(Messages.AbstractRepositoryQueryPage2__Title_); - - titleText = new Text(control, SWT.BORDER); - GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).applyTo(titleText); - titleText.addKeyListener(new KeyListener() { - public void keyPressed(KeyEvent e) { - // ignore - } - - public void keyReleased(KeyEvent e) { - getContainer().updateButtons(); - } - }); - } - - private Control createUpdateButton(final Composite control) { - Composite composite = new Composite(control, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - composite.setLayout(layout); - GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).span(2, 1).applyTo(composite); - - updateButton = new Button(composite, SWT.PUSH); - updateButton.setText(Messages.AbstractRepositoryQueryPage2__Refresh_From_Repository); - updateButton.setLayoutData(new GridData()); - updateButton.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - if (getTaskRepository() != null) { - updateAttributesFromRepository(true); - } else { - MessageDialog.openInformation( - Display.getCurrent().getActiveShell(), - Messages.AbstractRepositoryQueryPage2_Update_Attributes_Failed, - Messages.AbstractRepositoryQueryPage2_No_repository_available_please_add_one_using_the_Task_Repositories_view); - } - } - }); - - return composite; - } - - @Override - public void setVisible(boolean visible) { - super.setVisible(visible); - - if (getSearchContainer() != null) { - getSearchContainer().setPerformActionEnabled(true); - } - - if (visible && firstTime) { - firstTime = false; - if (!hasRepositoryConfiguration() && needsRepositoryConfiguration) { - // delay the execution so the dialog's progress bar is visible - // when the attributes are updated - Display.getDefault().asyncExec(new Runnable() { - public void run() { - if (getControl() != null && !getControl().isDisposed()) { - initializePage(); - } - } - - }); - } else { - // no remote connection is needed to get attributes therefore do - // not use delayed execution to avoid flickering - initializePage(); - } - } - } - - private void initializePage() { - if (needsRepositoryConfiguration) { - updateAttributesFromRepository(false); - } - boolean restored = (getQuery() != null); - if (inSearchContainer()) { - restored |= restoreState(null); - } - if (!restored) { - // initialize with default values - } - } - - protected abstract boolean hasRepositoryConfiguration(); - - protected AbstractRepositoryConnector getConnector() { - return connector; - } - - private void updateAttributesFromRepository(final boolean force) { - if (!hasRepositoryConfiguration() || force) { - setErrorMessage(null); - try { - IRunnableWithProgress runnable = new IRunnableWithProgress() { - public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { - try { - connector.updateRepositoryConfiguration(getTaskRepository(), monitor); - } catch (CoreException e) { - throw new InvocationTargetException(e); - } catch (OperationCanceledException e) { - throw new InterruptedException(); - } - } - }; - - if (getContainer() != null) { - getContainer().run(true, true, runnable); - } else if (getSearchContainer() != null) { - getSearchContainer().getRunnableContext().run(true, true, runnable); - } else { - IProgressService service = PlatformUI.getWorkbench().getProgressService(); - service.busyCursorWhile(runnable); - } - } catch (InvocationTargetException e) { - if (e.getCause() instanceof CoreException) { - setErrorMessage(((CoreException) e.getCause()).getStatus().getMessage()); - } else { - setErrorMessage(e.getCause().getMessage()); - } - return; - } catch (InterruptedException e) { - return; - } - } - - doRefresh(); - } - - protected abstract void doRefresh(); - - @Override - public boolean isPageComplete() { - if (titleText != null && titleText.getText().length() > 0) { - return true; - } - setMessage(Messages.AbstractRepositoryQueryPage2_Enter_a_title); - return false; - } - - @Override - public boolean performSearch() { - if (inSearchContainer()) { - saveState(); - } - return super.performSearch(); - } - - protected abstract boolean restoreState(IRepositoryQuery query); - - @Override - public String getQueryTitle() { - return (titleText != null) ? titleText.getText() : null; - } - - public void setQueryTitle(String text) { - if (titleText != null) { - titleText.setText(text); - } - } - -} |