Bug 539884 - [formatter][preferences] Improve preview controls layout
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
index b55267b..bec1385 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/FormatterModifyDialog.java
@@ -471,10 +471,17 @@
@Override
protected Composite createPreviewPane(Composite parent) {
Composite previewPane= super.createPreviewPane(parent);
- ((GridLayout) previewPane.getLayout()).makeColumnsEqualWidth= true;
- fPreviewRawButton= new Button(previewPane, SWT.TOGGLE | SWT.WRAP);
- fPreviewRawButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
+ Composite controlPane= new Composite(previewPane, SWT.NONE);
+ controlPane.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+ createGridLayout(controlPane, 2, false);
+ Composite buttonsPane= new Composite(controlPane, SWT.NONE);
+ buttonsPane.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false));
+ createGridLayout(buttonsPane, 3, false);
+ ((GridLayout) buttonsPane.getLayout()).makeColumnsEqualWidth= true;
+
+ fPreviewRawButton= new Button(buttonsPane, SWT.TOGGLE | SWT.WRAP);
+ fPreviewRawButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
fPreviewRawButton.setText(FormatterMessages.FormatterModifyDialog_preview_show_raw_source_toggle);
fPreviewRawButton.setFont(previewPane.getFont());
fPreviewRawButton.addSelectionListener(new SelectionAdapter() {
@@ -484,8 +491,8 @@
}
});
- Button customPreviewButton= new Button(previewPane, SWT.TOGGLE | SWT.WRAP);
- customPreviewButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
+ Button customPreviewButton= new Button(buttonsPane, SWT.TOGGLE | SWT.WRAP);
+ customPreviewButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
customPreviewButton.setText(FormatterMessages.FormatterModifyDialog_preview_custom_contents_toggle);
customPreviewButton.setFont(previewPane.getFont());
customPreviewButton.setSelection(fDialogSettings.getBoolean(CUSTOM_PREVIEW_TOGGLE_PREFERENCE_KEY));
@@ -501,8 +508,8 @@
fDialogSettings.put(CUSTOM_PREVIEW_CONTENT_PREFERENCE_KEY, ((StyledText) e.getSource()).getText());
});
- final Button showInvisibleButton= new Button(previewPane, SWT.TOGGLE | SWT.WRAP);
- showInvisibleButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
+ final Button showInvisibleButton= new Button(buttonsPane, SWT.TOGGLE | SWT.WRAP);
+ showInvisibleButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
showInvisibleButton.setText(FormatterMessages.FormatterModifyDialog_preview_show_whitespace_toggle);
showInvisibleButton.setFont(previewPane.getFont());
showInvisibleButton.addSelectionListener(new SelectionAdapter() {
@@ -516,8 +523,9 @@
fPreview.showInvisibleCharacters(showInvisible);
showInvisibleButton.setSelection(showInvisible);
- Composite lineWidthPane= new Composite(previewPane, SWT.NONE);
- lineWidthPane.setLayoutData(new GridData(SWT.TRAIL, SWT.FILL, true, false, 1, 1));
+ Composite lineWidthPane= new Composite(controlPane, SWT.NONE);
+ GridData lineWidthPaneLayoutData= new GridData(SWT.END, SWT.CENTER, true, false);
+ lineWidthPane.setLayoutData(lineWidthPaneLayoutData);
RowLayout layout= new RowLayout();
layout.center= true;
layout.justify= true;
@@ -529,6 +537,8 @@
Spinner lineWidthSpinner= NumberPreference.createSpinner(lineWidthPane, 0, 9999);
lineWidthSpinner.setFont(previewPane.getFont());
lineWidthSpinner.setLayoutData(null);
+ lineWidthPaneLayoutData.minimumWidth= lineWidthSpinner.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
+
int previewLineSplit;
try {
previewLineSplit= fDialogSettings.getInt(PREVIEW_LINE_WIDTH_PREFERENCE_KEY);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ModifyDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ModifyDialog.java
index 348e4f5..fc3f289 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ModifyDialog.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/formatter/ModifyDialog.java
@@ -1518,13 +1518,13 @@
protected Composite createPreviewPane(Composite parent) {
final Composite previewPane= new Composite(parent, SWT.NONE);
- createGridLayout(previewPane, GRID_COLUMNS, true);
+ createGridLayout(previewPane, 1, true);
previewPane.setFont(parent.getFont());
- createLabel(GRID_COLUMNS, previewPane, FormatterMessages.ModifyDialogTabPage_preview_label_text, 0);
+ createLabel(1, previewPane, FormatterMessages.ModifyDialogTabPage_preview_label_text, 0);
fPreview= new JavaPreview(fWorkingValues, previewPane);
- fPreview.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, GRID_COLUMNS, 1));
+ fPreview.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
return previewPane;
}