Bug 17885 Preference Pages don't resize well
Build: 20020521 The Java preference pages don't look very good when the user makes the preference page dialog narrower or shorter by manually resizing it. Here is a breakdown of problems by page: Builder: "Filtered resources" text field should shrink to fit the dialog width more. Classpath Variables: List box should shrink to fit and should scroll if necessary. Code Formatter: Text box should shrink to fit and should scroll if necessary (the scroll bars are there, why aren't they used?). Step Filtering: List box should shrink horizontally to fit and should scroll if necessary (compare vertical and horizontal behaviour when shrinking the preference page dialog). Editor: In the Syntax tab page, the "Preview" text box should shrink to fit and scroll if necessary. Installed JREs: The table viewer should shrink to fit and scroll if necessary. Javadoc: The "Javadoc command" text field should shrink to fit more. Organize Imports: The list box should shrink to fit and scroll if necessary. Templates: The table viewer should shrink to fit and scroll if necessary.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/TemplatePreferencePage.java
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import org.eclipse.ui.help.DialogPageContextComputer;
import org.eclipse.ui.help.WorkbenchHelp;
import org.eclipse.jdt.ui.JavaUI;
import org.eclipse.jdt.ui.text.JavaSourceViewerConfiguration;
import org.eclipse.jdt.ui.text.JavaTextTools;
import org.eclipse.jdt.internal.corext.template.ContextType;
import org.eclipse.jdt.internal.corext.template.ContextTypeRegistry;
import org.eclipse.jdt.internal.corext.template.Template;
import org.eclipse.jdt.internal.corext.template.TemplateContext;
import org.eclipse.jdt.internal.corext.template.TemplateMessages;
import org.eclipse.jdt.internal.corext.template.TemplateSet;
import org.eclipse.jdt.internal.corext.template.Templates;
import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.text.template.TemplateContentProvider;
import org.eclipse.jdt.internal.ui.text.template.TemplateLabelProvider;
import org.eclipse.jdt.internal.ui.util.SWTUtil;
public class TemplatePreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
	
	private static final String PREF_FORMAT_TEMPLATES= JavaUI.ID_PLUGIN + ".template.format"; 
	private Templates fTemplates;
	private CheckboxTableViewer fTableViewer;