private IDialogFieldListener getProjectValueListener() { return new IDialogFieldListener() { public void dialogFieldChanged(final DialogField field) { projectNameStatus = validator.checkProjectName(getProjectName()); handleFieldChanged(field.toString()); } }; }
/** copied from PropertyAndPreferencePage */ @Override protected Label createDescriptionLabel(Composite parent) { parentComposite = parent; if (isProjectPreferencePage()) { Composite composite = new Composite(parent, SWT.NONE); composite.setFont(parent.getFont()); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.numColumns = 2; composite.setLayout(layout); composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); IDialogFieldListener listener = new IDialogFieldListener() { @Override public void dialogFieldChanged(DialogField dialogField) { boolean enabled = ((SelectionButtonDialogField) dialogField).isSelected(); enableProjectSpecificSettings(enabled); projectSpecificChanged = true; if (enabled && getData() != null) { applyData(getData()); } } }; useProjectSettings = new SelectionButtonDialogField(SWT.CHECK); useProjectSettings.setDialogFieldListener(listener); useProjectSettings .setLabelText(org.eclipse.xtext.ui.preferences.Messages.PropertyAndPreferencePage_useprojectsettings_label); useProjectSettings.doFillIntoGrid(composite, 1); LayoutUtil.setHorizontalGrabbing(useProjectSettings.getSelectionButton(null)); if (offerLink()) { changeWorkspaceSettings = createLink(composite, org.eclipse.xtext.ui.preferences.Messages.PropertyAndPreferencePage_useworkspacesettings_change); changeWorkspaceSettings.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false)); } else { LayoutUtil.setHorizontalSpan(useProjectSettings.getSelectionButton(null), 2); } Label horizontalLine = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); horizontalLine.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1)); horizontalLine.setFont(composite.getFont()); } else if (supportsProjectSpecificOptions() && offerLink()) { changeWorkspaceSettings = createLink( parent, org.eclipse.xtext.ui.preferences.Messages.PropertyAndPreferencePage_showprojectspecificsettings_label); changeWorkspaceSettings.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false)); } return super.createDescriptionLabel(parent); }
@Override protected Label createDescriptionLabel(Composite parent) { parentComposite = parent; if (isProjectPreferencePage()) { Composite composite = new Composite(parent, SWT.NONE); composite.setFont(parent.getFont()); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginWidth = 0; layout.numColumns = 2; composite.setLayout(layout); composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); IDialogFieldListener listener = new IDialogFieldListener() { public void dialogFieldChanged(DialogField field) { boolean enabled = ((SelectionButtonDialogField) field).isSelected(); enableProjectSpecificSettings(enabled); if (enabled && getData() != null) { applyData(getData()); } } }; useProjectSettings = new SelectionButtonDialogField(SWT.CHECK); useProjectSettings.setDialogFieldListener(listener); useProjectSettings.setLabelText(Messages.PropertyAndPreferencePage_useprojectsettings_label); useProjectSettings.doFillIntoGrid(composite, 1); LayoutUtil.setHorizontalGrabbing(useProjectSettings.getSelectionButton(null)); if (offerLink()) { changeWorkspaceSettings = createLink(composite, Messages.PropertyAndPreferencePage_useworkspacesettings_change); changeWorkspaceSettings.setLayoutData(new GridData(SWT.END, SWT.CENTER, false, false)); } else { LayoutUtil.setHorizontalSpan(useProjectSettings.getSelectionButton(null), 2); } Label horizontalLine = new Label(composite, SWT.SEPARATOR | SWT.HORIZONTAL); horizontalLine.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1)); horizontalLine.setFont(composite.getFont()); } else if (supportsProjectSpecificOptions() && offerLink()) { changeWorkspaceSettings = createLink(parent, Messages.PropertyAndPreferencePage_showprojectspecificsettings_label); changeWorkspaceSettings.setLayoutData(new GridData(SWT.END, SWT.CENTER, true, false)); } return super.createDescriptionLabel(parent); }