diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src-tasktags/org/eclipse/wst/sse/ui/internal/preferences/ui/MainTab.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src-tasktags/org/eclipse/wst/sse/ui/internal/preferences/ui/MainTab.java | 450 |
1 files changed, 0 insertions, 450 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src-tasktags/org/eclipse/wst/sse/ui/internal/preferences/ui/MainTab.java b/bundles/org.eclipse.wst.sse.ui/src-tasktags/org/eclipse/wst/sse/ui/internal/preferences/ui/MainTab.java deleted file mode 100644 index d69fee6a27..0000000000 --- a/bundles/org.eclipse.wst.sse.ui/src-tasktags/org/eclipse/wst/sse/ui/internal/preferences/ui/MainTab.java +++ /dev/null @@ -1,450 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2005 IBM Corporation 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: - * IBM Corporation - initial API and implementation - * - *******************************************************************************/ -package org.eclipse.wst.sse.ui.internal.preferences.ui; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.StringTokenizer; - -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.preferences.DefaultScope; -import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.eclipse.core.runtime.preferences.IPreferencesService; -import org.eclipse.core.runtime.preferences.IScopeContext; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.viewers.ArrayContentProvider; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.Text; -import org.eclipse.wst.sse.core.internal.provisional.tasks.TaskTag; -import org.eclipse.wst.sse.core.internal.tasks.TaskTagPreferenceKeys; -import org.eclipse.wst.sse.core.utils.StringUtils; -import org.eclipse.wst.sse.ui.internal.SSEUIMessages; - -class MainTab implements IPreferenceTab { - public class TaskTagDialog extends Dialog { - public TaskTag taskTag = null; - - Combo priorityCombo = null; - Text tagText = null; - - public TaskTagDialog(Shell parentShell) { - super(parentShell); - setShellStyle(getShellStyle() | SWT.RESIZE); - } - - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(SSEUIMessages.TaskTagPreferenceTab_5); //$NON-NLS-1$ - } - - protected Control createButtonBar(Composite parent) { - Control c = super.createButtonBar(parent); - getButton(IDialogConstants.OK_ID).setEnabled(taskTag == null || taskTag.getTag().length() > 0); - return c; - } - - protected Control createDialogArea(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout(2, false)); - GridData gridData = new GridData(GridData.FILL_BOTH); - gridData.widthHint = parent.getDisplay().getClientArea().width / 5; - composite.setLayoutData(gridData); - Label label = new Label(composite, SWT.NONE); - label.setText(SSEUIMessages.TaskTagPreferenceTab_6); //$NON-NLS-1$ - label.setLayoutData(new GridData()); - tagText = new Text(composite, SWT.NONE); - tagText.setText(taskTag != null ? taskTag.getTag() : ""); //$NON-NLS-1$ - tagText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - tagText.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - String testTag = tagText.getText(); - String[] tags = new String[fTaskTags.length]; - for (int i = 0; i < tags.length; i++) { - tags[i] = fTaskTags[i].getTag(); - } - getButton(IDialogConstants.OK_ID).setEnabled(tagText.getText().length() > 0 && !Arrays.asList(tags).contains(testTag)); - taskTag = new TaskTag(tagText.getText(), priorityCombo.getSelectionIndex()); - } - }); - - label = new Label(composite, SWT.NONE); - label.setText(SSEUIMessages.TaskTagPreferenceTab_7); //$NON-NLS-1$ - label.setLayoutData(new GridData()); - priorityCombo = new Combo(composite, SWT.READ_ONLY | SWT.SINGLE); - priorityCombo.setItems(new String[]{SSEUIMessages.TaskTagPreferenceTab_0, SSEUIMessages.TaskTagPreferenceTab_1, SSEUIMessages.TaskTagPreferenceTab_2}); - priorityCombo.select(taskTag != null ? taskTag.getPriority() : TaskTag.PRIORITY_NORMAL); - priorityCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - priorityCombo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - taskTag = new TaskTag(taskTag.getTag(), priorityCombo.getSelectionIndex()); - } - }); - return composite; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.dialogs.Dialog#okPressed() - */ - protected void okPressed() { - taskTag = new TaskTag(tagText.getText(), priorityCombo.getSelectionIndex()); - super.okPressed(); - } - } - - public class TaskTagTableLabelProvider extends LabelProvider implements ITableLabelProvider { - public TaskTagTableLabelProvider() { - super(); - } - - public Image getColumnImage(Object element, int columnIndex) { - return null; - } - - public String getColumnText(Object element, int columnIndex) { - if (columnIndex < 1) - return ((TaskTag) element).getTag(); - for (int i = 0; i < fTaskTags.length; i++) { - if (fTaskTags[i].equals(element)) { - if (fTaskTags[i].getPriority() == IMarker.PRIORITY_LOW) { - return SSEUIMessages.TaskTagPreferenceTab_0; //$NON-NLS-1$ - } - else if (fTaskTags[i].getPriority() == IMarker.PRIORITY_HIGH) { - return SSEUIMessages.TaskTagPreferenceTab_2; //$NON-NLS-1$ - } - else { - return SSEUIMessages.TaskTagPreferenceTab_1; //$NON-NLS-1$ - } - } - } - return SSEUIMessages.TaskTagPreferenceTab_3; //$NON-NLS-1$ - } - } - - private static final boolean _debugPreferences = "true".equalsIgnoreCase(Platform.getDebugOption("org.eclipse.wst.sse.core/tasks/preferences")); //$NON-NLS-1$ //$NON-NLS-2$ - - private Control fControl; - - private TaskTag[] fOriginalTaskTags; - private TaskTagPreferencePage fOwner = null; - private IScopeContext[] fPreferencesLookupOrder = null; - - private IPreferencesService fPreferencesService = null; - - private TaskTag[] fTaskTags; - - private TableViewer valueTable = null; - - - public MainTab(TaskTagPreferencePage parent, IPreferencesService preferencesService, IScopeContext[] lookupOrder) { - super(); - fOwner = parent; - fPreferencesLookupOrder = lookupOrder; - fPreferencesService = preferencesService; - } - - - private void addTag() { - TaskTagDialog dlg = new TaskTagDialog(fControl.getShell()); - int result = dlg.open(); - if (result == Window.OK) { - TaskTag newTag = dlg.taskTag; - List newTags = new ArrayList(Arrays.asList(fTaskTags)); - newTags.add(newTag); - fTaskTags = (TaskTag[]) newTags.toArray(new TaskTag[newTags.size()]); - valueTable.setInput(fTaskTags); - valueTable.getTable().setSelection(fTaskTags.length - 1); - } - } - - public Control createContents(Composite tabFolder) { - loadPreferenceValues(); - fOriginalTaskTags = fTaskTags; - - Composite composite = new Composite(tabFolder, SWT.NONE); - composite.setLayout(new GridLayout(2, false)); - fControl = composite; - - Text description = new Text(composite, SWT.READ_ONLY | SWT.SINGLE); - description.setText(SSEUIMessages.TaskTagPreferenceTab_33); //$NON-NLS-1$ - description.setBackground(composite.getBackground()); - GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1); - // https://bugs.eclipse.org/bugs/show_bug.cgi?id=104403 - Point sizeHint = description.computeSize(SWT.DEFAULT, SWT.DEFAULT); - gd.widthHint = sizeHint.x; - description.setLayoutData(gd); - - valueTable = new TableViewer(composite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); - valueTable.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); - TableColumn textColumn = new TableColumn(valueTable.getTable(), SWT.NONE, 0); - textColumn.setText(SSEUIMessages.TaskTagPreferenceTab_12); //$NON-NLS-1$ - TableColumn priorityColumn = new TableColumn(valueTable.getTable(), SWT.NONE, 1); - priorityColumn.setText(SSEUIMessages.TaskTagPreferenceTab_13); //$NON-NLS-1$ - valueTable.setContentProvider(new ArrayContentProvider()); - valueTable.setLabelProvider(new TaskTagTableLabelProvider()); - valueTable.getTable().setLinesVisible(true); - valueTable.getTable().setHeaderVisible(true); - TableLayout layout = new TableLayout(); - layout.addColumnData(new ColumnWeightData(1, 140, true)); - layout.addColumnData(new ColumnWeightData(1, 140, true)); - valueTable.getTable().setLayout(layout); - - Composite buttons = new Composite(composite, SWT.NONE); - buttons.setLayout(new GridLayout()); - buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL)); - - final Button addButton = new Button(buttons, SWT.PUSH); - addButton.setText(SSEUIMessages.TaskTagPreferenceTab_14); //$NON-NLS-1$ - addButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - final Button editButton = new Button(buttons, SWT.PUSH); - editButton.setText(SSEUIMessages.TaskTagPreferenceTab_15); //$NON-NLS-1$ - editButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - final Button removeButton = new Button(buttons, SWT.PUSH); - removeButton.setText(SSEUIMessages.TaskTagPreferenceTab_16); //$NON-NLS-1$ - removeButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); - - editButton.setEnabled(false); - removeButton.setEnabled(false); - - Label warning = new Label(composite, SWT.NONE); - warning.setLayoutData(new GridData()); - warning.setText(SSEUIMessages.TaskTagPreferenceTab_19); //$NON-NLS-1$ - - final ISelectionChangedListener selectionChangedListener = new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - boolean enabledForSelection = !valueTable.getSelection().isEmpty(); - editButton.setEnabled(enabledForSelection); - removeButton.setEnabled(enabledForSelection); - } - }; - valueTable.addPostSelectionChangedListener(selectionChangedListener); - addButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - addTag(); - valueTable.getTable().setSelection(fTaskTags.length - 1); - selectionChangedListener.selectionChanged(null); - } - }); - editButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - int i = valueTable.getTable().getSelectionIndex(); - editTag(i); - if (i >= 0) { - valueTable.getTable().setSelection(i); - selectionChangedListener.selectionChanged(null); - } - } - }); - removeButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - int i = valueTable.getTable().getSelectionIndex(); - removeTag(valueTable.getTable().getSelectionIndex()); - if (i >= 0 && i < fTaskTags.length) { - valueTable.getTable().setSelection(i); - } - } - }); - valueTable.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - int i = valueTable.getTable().getSelectionIndex(); - editTag(i); - if (i >= 0) { - valueTable.getTable().setSelection(i); - selectionChangedListener.selectionChanged(null); - } - } - }); - - valueTable.setInput(fTaskTags); - - return composite; - } - - /** - * @param selection - */ - private void editTag(int i) { - if (i < 0) { - return; - } - - int selection = valueTable.getTable().getSelectionIndex(); - TaskTagDialog dlg = new TaskTagDialog(fControl.getShell()); - dlg.taskTag = fTaskTags[selection]; - int result = dlg.open(); - if (result == Window.OK) { - fTaskTags[selection] = dlg.taskTag; - valueTable.refresh(); - } - } - - public String getTitle() { - return SSEUIMessages.TaskTagPreferenceTab_20; - } - - private void loadPreferenceValues() { - String tags = fPreferencesService.getString(TaskTagPreferenceKeys.TASK_TAG_NODE, TaskTagPreferenceKeys.TASK_TAG_TAGS, "", fPreferencesLookupOrder); //$NON-NLS-1$ - String priorities = fPreferencesService.getString(TaskTagPreferenceKeys.TASK_TAG_NODE, TaskTagPreferenceKeys.TASK_TAG_PRIORITIES, "", fPreferencesLookupOrder); //$NON-NLS-1$ - loadTagsAndPrioritiesFrom(tags, priorities); - } - - /** - * @param tags - * @param priorities - */ - private void loadTagsAndPrioritiesFrom(String tagString, String priorityString) { - String[] tags = StringUtils.unpack(tagString); - - StringTokenizer toker = null; - List list = new ArrayList(); - - toker = new StringTokenizer(priorityString, ","); //$NON-NLS-1$ - while (toker.hasMoreTokens()) { - Integer number = null; - try { - number = Integer.valueOf(toker.nextToken()); - } - catch (NumberFormatException e) { - number = new Integer(IMarker.PRIORITY_NORMAL); - } - list.add(number); - } - Integer[] priorities = (Integer[]) list.toArray(new Integer[0]); - - fTaskTags = new TaskTag[Math.min(tags.length, priorities.length)]; - for (int i = 0; i < fTaskTags.length; i++) { - fTaskTags[i] = new TaskTag(tags[i], priorities[i].intValue()); - } - } - - public void performApply() { - save(); - - if (!Arrays.equals(fOriginalTaskTags, fTaskTags)) { - fOwner.requestRedetection(); - } - fOriginalTaskTags = fTaskTags; - } - - public void performDefaults() { - if (_debugPreferences) { - System.out.println("Loading defaults in " + getClass().getName()); //$NON-NLS-1$ - } - IEclipsePreferences[] preferences = new IEclipsePreferences[fPreferencesLookupOrder.length]; - for (int i = 0; i < preferences.length; i++) { - preferences[i] = fPreferencesLookupOrder[i].getNode(TaskTagPreferenceKeys.TASK_TAG_NODE); - } - String tags = fPreferencesService.get(TaskTagPreferenceKeys.TASK_TAG_TAGS, null, preferences); - String priorities = fPreferencesService.get(TaskTagPreferenceKeys.TASK_TAG_PRIORITIES, null, preferences); - loadTagsAndPrioritiesFrom(tags, priorities); - int selection = valueTable.getTable().getSelectionIndex(); - valueTable.setInput(fTaskTags); - valueTable.getTable().setSelection(selection); - } - - public void performOk() { - performApply(); - } - - /** - * @param selection - */ - private void removeTag(int i) { - if (i < 0) { - return; - } - List taskTags = new ArrayList(Arrays.asList(fTaskTags)); - taskTags.remove(i); - fTaskTags = (TaskTag[]) taskTags.toArray(new TaskTag[taskTags.size()]); - valueTable.setInput(fTaskTags); - } - - private void save() { - IEclipsePreferences defaultPreferences = new DefaultScope().getNode(TaskTagPreferenceKeys.TASK_TAG_NODE); - String defaultTags = defaultPreferences.get(TaskTagPreferenceKeys.TASK_TAG_TAGS, null); - String defaultPriorities = defaultPreferences.get(TaskTagPreferenceKeys.TASK_TAG_PRIORITIES, null); - - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < fTaskTags.length; i++) { - if (i > 0) { - buf.append(","); //$NON-NLS-1$ - } - buf.append(fTaskTags[i].getTag()); - } - String currentTags = buf.toString(); - if (currentTags.equals(defaultTags) && !fPreferencesLookupOrder[0].getName().equals(DefaultScope.SCOPE)) { - if (_debugPreferences) { - System.out.println(getClass().getName() + " removing " + TaskTagPreferenceKeys.TASK_TAG_TAGS + " from scope " + fPreferencesLookupOrder[0].getName() + ":" + fPreferencesLookupOrder[0].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - fPreferencesLookupOrder[0].getNode(TaskTagPreferenceKeys.TASK_TAG_NODE).remove(TaskTagPreferenceKeys.TASK_TAG_TAGS); - } - else { - fOwner.requestRedetection(); - if (_debugPreferences) { - System.out.println(getClass().getName() + " setting " + TaskTagPreferenceKeys.TASK_TAG_TAGS + " \"" + currentTags + "\" in scope " + fPreferencesLookupOrder[0].getName() + ":" + fPreferencesLookupOrder[0].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - fPreferencesLookupOrder[0].getNode(TaskTagPreferenceKeys.TASK_TAG_NODE).put(TaskTagPreferenceKeys.TASK_TAG_TAGS, currentTags); - } - - StringBuffer buf2 = new StringBuffer(); - for (int i = 0; i < fTaskTags.length; i++) { - if (i > 0) { - buf2.append(","); //$NON-NLS-1$ - } - buf2.append(String.valueOf(fTaskTags[i].getPriority())); - } - String priorities = buf2.toString(); - - if (priorities.equals(defaultPriorities) && !fPreferencesLookupOrder[0].getName().equals(DefaultScope.SCOPE)) { - if (_debugPreferences) { - System.out.println(getClass().getName() + " removing " + TaskTagPreferenceKeys.TASK_TAG_PRIORITIES + " from scope " + fPreferencesLookupOrder[0].getName() + ":" + fPreferencesLookupOrder[0].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - fPreferencesLookupOrder[0].getNode(TaskTagPreferenceKeys.TASK_TAG_NODE).remove(TaskTagPreferenceKeys.TASK_TAG_PRIORITIES); - } - else { - fOwner.requestRedetection(); - if (_debugPreferences) { - System.out.println(getClass().getName() + " setting " + TaskTagPreferenceKeys.TASK_TAG_PRIORITIES + " \"" + priorities + "\" in scope " + fPreferencesLookupOrder[0].getName() + ":" + fPreferencesLookupOrder[0].getLocation()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - fPreferencesLookupOrder[0].getNode(TaskTagPreferenceKeys.TASK_TAG_NODE).put(TaskTagPreferenceKeys.TASK_TAG_PRIORITIES, priorities); - } - } -} |