fEnableField.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.enabled"));
fEnableField.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.enabled"));
	public Control createControl(Composite parent) {		Composite hoverComposite= new Composite(parent, SWT.NULL);		GridLayout layout= new GridLayout();		layout.numColumns= 2;		hoverComposite.setLayout(layout);		GridData gd= new GridData(GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);		hoverComposite.setLayoutData(gd);		Label label= new Label(hoverComposite, SWT.NONE);		label.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.hoverPreferences")); //$NON-NLS-1$		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		gd.horizontalSpan= 2;		label.setLayoutData(gd);		gd= new GridData(GridData.GRAB_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL);		// Hover list		fHoverList= new List(hoverComposite, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER);		gd= new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL);		gd.heightHint= convertHeightInCharsToPixels(parent, 10);		fHoverList.setLayoutData(gd);		fHoverList.addSelectionListener(new SelectionListener() {			public void widgetSelected(SelectionEvent e) {				handleHoverListSelection();			}			public void widgetDefaultSelected(SelectionEvent e) {			}		});		Composite stylesComposite= new Composite(hoverComposite, SWT.NONE);		layout= new GridLayout();		layout.marginHeight= 0;		layout.marginWidth= 0;		layout.numColumns= 2;		stylesComposite.setLayout(layout);		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.heightHint= convertHeightInCharsToPixels(parent, 10) + (2 * fHoverList.getBorderWidth());		stylesComposite.setLayoutData(gd);		// Enabled checkbox				fEnableField= new Button(stylesComposite, SWT.CHECK);		fEnableField.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.enabled")); //$NON-NLS-1$		gd= new GridData(GridData.FILL_HORIZONTAL);		gd.horizontalAlignment= GridData.BEGINNING;		gd.horizontalSpan= 2;		fEnableField.setLayoutData(gd);		fEnableField.addSelectionListener(new SelectionListener() {			public void widgetSelected(SelectionEvent e) {				int i= fHoverList.getSelectionIndex();				boolean state= fEnableField.getSelection();				fModifierEditor.setEnabled(state);				fHoverConfigs[i].fIsEnabled= state;				handleModifierModified();			}			public void widgetDefaultSelected(SelectionEvent e) {			}		});		// Text field for modifier string		label= new Label(stylesComposite, SWT.LEFT);		label.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.keyModifier")); //$NON-NLS-1$		fModifierEditor= new Text(stylesComposite, SWT.BORDER);		gd= new GridData(GridData.HORIZONTAL_ALIGN_FILL);		fModifierEditor.setLayoutData(gd);		fModifierEditor.addKeyListener(new KeyListener() {			private boolean isModifierCandidate;			public void keyPressed(KeyEvent e) {				isModifierCandidate= e.keyCode > 0 && e.character == 0 && e.stateMask == 0;			}					public void keyReleased(KeyEvent e) {				if (isModifierCandidate && e.stateMask > 0 && e.stateMask == e.stateMask && e.character == 0) {// && e.time -time < 1000) {					String text= fModifierEditor.getText();					if (text.length() > 0)						text= PreferencesMessages.getFormattedString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.appendModifier", new String[] {text, Action.findModifierString(e.stateMask)}); //$NON-NLS-1$					else						text= Action.findModifierString(e.stateMask);					fModifierEditor.setText(text);					fModifierEditor.setSelection(text.length(), text.length());				}			}		});		fModifierEditor.addModifyListener(new ModifyListener() {			public void modifyText(ModifyEvent e) {				handleModifierModified();			}		});		// Description		Label descriptionLabel= new Label(stylesComposite, SWT.LEFT);		descriptionLabel.setText(PreferencesMessages.getString("JavaEditorHoverConfigurationBlock.JavaEditorHoverConfigurationBlock.description")); //$NON-NLS-1$		gd= new GridData(GridData.VERTICAL_ALIGN_BEGINNING);		gd.horizontalSpan= 2;		descriptionLabel.setLayoutData(gd);		fDescription= new Text(stylesComposite, SWT.LEFT | SWT.WRAP | SWT.MULTI | SWT.READ_ONLY | SWT.BORDER);		gd= new GridData(GridData.FILL_BOTH);		gd.horizontalSpan= 2;		fDescription.setLayoutData(gd);		initialize();		return hoverComposite;	}