fAnnotationForegroundColorEditor= new ColorEditor(optionsComposite);
fAnnotationForegroundColorEditor= new ColorSelector(optionsComposite);
	public Control createControl(Composite parent) {		OverlayPreferenceStore store= getPreferenceStore();		store.load();		store.start();				initializeDialogUnits(parent);		Composite composite= new Composite(parent, SWT.NONE);		GridLayout layout= new GridLayout();		composite.setLayout(layout);		Label label= new Label(composite, SWT.LEFT);		label.setText(PreferencesMessages.LinkedModeConfigurationBlock_annotationPresentationOptions); 		GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);		label.setLayoutData(gd);		Composite editorComposite= new Composite(composite, SWT.NONE);		layout= new GridLayout();		layout.numColumns= 2;		layout.marginHeight= 0;		layout.marginWidth= 0;		editorComposite.setLayout(layout);		gd= new GridData(SWT.FILL, SWT.FILL, true, true);		editorComposite.setLayoutData(gd);		fAnnotationTypeViewer= new TableViewer(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);		fAnnotationTypeViewer.setLabelProvider(new ItemLabelProvider());		fAnnotationTypeViewer.setContentProvider(new ItemContentProvider());		gd= new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false);		gd.heightHint= convertHeightInCharsToPixels(5);		fAnnotationTypeViewer.getControl().setLayoutData(gd);				Composite optionsComposite= new Composite(editorComposite, SWT.NONE);		layout= new GridLayout();		layout.marginHeight= 0;		layout.marginWidth= 0;		layout.numColumns= 2;		optionsComposite.setLayout(layout);		optionsComposite.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));				// we only allow to set either "show in text" or "highlight in text", but not both        		fShowInTextCheckBox= new Button(optionsComposite, SWT.CHECK);		fShowInTextCheckBox.setText(PreferencesMessages.LinkedModeConfigurationBlock_labels_showIn); 		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		fShowInTextCheckBox.setLayoutData(gd);				fDecorationViewer= new ComboViewer(optionsComposite, SWT.READ_ONLY);		fDecorationViewer.setContentProvider(new ArrayContentProvider());		fDecorationViewer.setLabelProvider(new ArrayLabelProvider());		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		fDecorationViewer.getControl().setLayoutData(gd);		fDecorationViewer.setInput(new Object[] {HIGHLIGHT, SQUIGGLES, BOX, UNDERLINE, IBEAM});				label= new Label(optionsComposite, SWT.LEFT);		label.setText(PreferencesMessages.LinkedModeConfigurationBlock_color); 		gd= new GridData();		gd.horizontalAlignment= GridData.BEGINNING;		label.setLayoutData(gd);		fAnnotationForegroundColorEditor= new ColorEditor(optionsComposite);		Button foregroundColorButton= fAnnotationForegroundColorEditor.getButton();		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		foregroundColorButton.setLayoutData(gd);				createDependency(fShowInTextCheckBox, new Control[] {label, foregroundColorButton});		fAnnotationTypeViewer.addSelectionChangedListener(new ISelectionChangedListener() {			public void selectionChanged(SelectionChangedEvent event) {				handleAnnotationListSelection();			}		});				fShowInTextCheckBox.addSelectionListener(new SelectionListener() {			public void widgetDefaultSelected(SelectionEvent e) {				// do nothing			}						public void widgetSelected(SelectionEvent e) {				ListItem item= getSelectedItem();				final boolean value= fShowInTextCheckBox.getSelection();				if (value) {					// enable whatever is in the combo					String[] decoration= (String[]) ((IStructuredSelection) fDecorationViewer.getSelection()).getFirstElement();					if (HIGHLIGHT.equals(decoration))						getPreferenceStore().setValue(item.highlightKey, true);					else						getPreferenceStore().setValue(item.textKey, true);				} else {					// disable both					getPreferenceStore().setValue(item.textKey, false);					getPreferenceStore().setValue(item.highlightKey, false);				}				getPreferenceStore().setValue(item.textKey, value);				updateDecorationViewer(item, false);			}		});				foregroundColorButton.addSelectionListener(new SelectionListener() {			public void widgetDefaultSelected(SelectionEvent e) {				// do nothing			}						public void widgetSelected(SelectionEvent e) {				ListItem item= getSelectedItem();				PreferenceConverter.setValue(getPreferenceStore(), item.colorKey, fAnnotationForegroundColorEditor.getColorValue());			}		});				fDecorationViewer.addSelectionChangedListener(new ISelectionChangedListener() {			/*			 * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)			 */			public void selectionChanged(SelectionChangedEvent event) {				String[] decoration= (String[]) ((IStructuredSelection) fDecorationViewer.getSelection()).getFirstElement();				ListItem item= getSelectedItem();								if (fShowInTextCheckBox.getSelection()) {					if (HIGHLIGHT.equals(decoration)) {						getPreferenceStore().setValue(item.highlightKey, true);						getPreferenceStore().setValue(item.textKey, false);						getPreferenceStore().setValue(item.textStyleKey, AnnotationPreference.STYLE_NONE);					} else {						getPreferenceStore().setValue(item.highlightKey, false);						getPreferenceStore().setValue(item.textKey, true);						getPreferenceStore().setValue(item.textStyleKey, decoration[1]);					}				}			}					});				return composite;	}