label= fMessages.getString(fPrefix + ".quickdiff.showChangeRuler"); addCheckBox(composite, label, ExtendedTextEditorPreferenceConstants.QUICK_DIFF_SHOW_CHANGE_RULER, 0);
	public Control createControl(Composite parent) {		Composite composite= new Composite(parent, SWT.NONE);		GridLayout layout= new GridLayout(); layout.numColumns= 2;		composite.setLayout(layout);		String label= fMessages.getString(fPrefix + ".quickdiff.showForNewEditors"); //$NON-NLS-1$		addCheckBox(composite, label, ExtendedTextEditorPreferenceConstants.QUICK_DIFF_ALWAYS_ON, 0);		label= fMessages.getString(fPrefix + ".quickdiff.showChangeRuler"); //$NON-NLS-1$		addCheckBox(composite, label, ExtendedTextEditorPreferenceConstants.QUICK_DIFF_SHOW_CHANGE_RULER, 0);		label= fMessages.getString(fPrefix + ".quickdiff.characterMode"); //$NON-NLS-1$		addCheckBox(composite, label, ExtendedTextEditorPreferenceConstants.QUICK_DIFF_CHARACTER_MODE, 0);		label= fMessages.getString(fPrefix + ".quickdiff.showInOverviewRuler"); //$NON-NLS-1$		fQuickDiffOverviewRulerCheckBox= new Button(composite, SWT.CHECK);		fQuickDiffOverviewRulerCheckBox.setText(label);				GridData gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);		gd.horizontalIndent= 0;		gd.horizontalSpan= 2;		fQuickDiffOverviewRulerCheckBox.setLayoutData(gd);		fQuickDiffOverviewRulerCheckBox.addSelectionListener(new SelectionListener() {			public void widgetSelected(SelectionEvent e) {				for (int i= 0; i < fQuickDiffModel.length; i++) {					fStore.setValue(fQuickDiffModel[i][1], fQuickDiffOverviewRulerCheckBox.getSelection());				}			}			public void widgetDefaultSelected(SelectionEvent e) {			}		});				// spacer		Label l= new Label(composite, SWT.LEFT );		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);		gd.horizontalSpan= 2;		gd.heightHint= 5;		l.setLayoutData(gd);		Group group= new Group(composite, SWT.NONE);		group.setText(fMessages.getString(fPrefix + ".quickdiff.colorTitle")); //$NON-NLS-1$		layout= new GridLayout();		layout.numColumns= 2;		group.setLayout(layout);		gd= new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);		gd.horizontalSpan= 2;		group.setLayoutData(gd);				fQuickDiffColorEditors= new ColorEditor[3];		for (int i= 0; i < fQuickDiffModel.length; i++) {			label= fMessages.getString(fQuickDiffModel[i][2]); //$NON-NLS-1$			l= new Label(group, SWT.LEFT);			l.setText(label);			final ColorEditor editor= new ColorEditor(group);			fQuickDiffColorEditors[i]= editor;			Button changeColorButton= editor.getButton();			gd= new GridData(GridData.FILL_HORIZONTAL);			gd.horizontalAlignment= GridData.BEGINNING;			changeColorButton.setLayoutData(gd);			changeColorButton.addSelectionListener(new SelectionListener() {				public void widgetDefaultSelected(SelectionEvent e) {					// do nothing				}								public void widgetSelected(SelectionEvent e) {					String key= fQuickDiffModel[0][0];					PreferenceConverter.setValue(fStore, key, editor.getColorValue());				}			});		}				// spacer		l= new Label(composite, SWT.LEFT );		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);		gd.horizontalSpan= 2;		gd.heightHint= 5;		l.setLayoutData(gd);				l= new Label(composite, SWT.LEFT);		l.setText(fMessages.getString(fPrefix + ".quickdiff.referenceProviderTitle")); //$NON-NLS-1$		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);		gd.horizontalSpan= 2;		l.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(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL);		gd.horizontalSpan= 2;		editorComposite.setLayoutData(gd);				fQuickDiffProviderList= new List(editorComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);		gd= new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);		gd.heightHint= 60;		fQuickDiffProviderList.setLayoutData(gd);								Composite stylesComposite= new Composite(editorComposite, SWT.NONE);		layout= new GridLayout();		layout.marginHeight= 0;		layout.marginWidth= 0;		layout.numColumns= 2;		stylesComposite.setLayout(layout);		stylesComposite.setLayoutData(new GridData(GridData.FILL_BOTH));				fSetDefaultButton= new Button(stylesComposite, SWT.PUSH);		fSetDefaultButton.setText(fMessages.getString(fPrefix + ".quickdiff.setDefault")); //$NON-NLS-1$		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		gd.horizontalSpan= 2;		fSetDefaultButton.setLayoutData(gd);				fQuickDiffProviderList.addSelectionListener(new SelectionListener() {			public void widgetDefaultSelected(SelectionEvent e) {				// do nothing			}						public void widgetSelected(SelectionEvent e) {				handleProviderListSelection();			}		});				fSetDefaultButton.addSelectionListener(new SelectionListener() {			public void widgetDefaultSelected(SelectionEvent e) {				// do nothing			}						public void widgetSelected(SelectionEvent e) {				int i= fQuickDiffProviderList.getSelectionIndex();				for (int j= 0; j < fQuickDiffProviderListModel.length; j++) {					if (fStore.getString(ExtendedTextEditorPreferenceConstants.QUICK_DIFF_DEFAULT_PROVIDER).equals(fQuickDiffProviderListModel[j][0])) {						fQuickDiffProviderList.remove(j);						fQuickDiffProviderList.add(fQuickDiffProviderListModel[j][1], j);					}					if (i == j) {						fQuickDiffProviderList.remove(j);						fQuickDiffProviderList.add(fQuickDiffProviderListModel[j][1] + " " + fMessages.getString(fPrefix + ".quickdiff.defaultlabel"), j);  //$NON-NLS-1$//$NON-NLS-2$					}				}				fSetDefaultButton.setEnabled(false);				fQuickDiffProviderList.setSelection(i);				fQuickDiffProviderList.redraw();								fStore.setValue(ExtendedTextEditorPreferenceConstants.QUICK_DIFF_DEFAULT_PROVIDER, fQuickDiffProviderListModel[i][0]);			}		});				return composite;	}