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
GridData data= new GridData(GridData.FILL_BOTH);
		data.widthHint= convertWidthInCharsToPixels(60);
		data.heightHint= convertHeightInCharsToPixels(10);
		table.setLayoutData(data);
				
		table.setHeaderVisible(true);
		table.setLinesVisible(true);		
		TableLayout tableLayout= new TableLayout();
		table.setLayout(tableLayout);
		TableColumn column1= new TableColumn(table, SWT.NONE);		
		column1.setText(TemplateMessages.getString("TemplatePreferencePage.column.name")); 
		TableColumn column2= new TableColumn(table, SWT.NONE);
		column2.setText(TemplateMessages.getString("TemplatePreferencePage.column.context")); 
	
		TableColumn column3= new TableColumn(table, SWT.NONE);
		column3.setText(TemplateMessages.getString("TemplatePreferencePage.column.description")); 
		
		tableLayout.addColumnData(new ColumnWeightData(30));
		tableLayout.addColumnData(new ColumnWeightData(20));
		tableLayout.addColumnData(new ColumnWeightData(70));
		fTableViewer= new CheckboxTableViewer(table);		
		fTableViewer.setLabelProvider(new TemplateLabelProvider());
		fTableViewer.setContentProvider(new TemplateContentProvider());
		fTableViewer.setSorter(new ViewerSorter() {
			public int compare(Viewer viewer, Object object1, Object object2) {
				if ((object1 instanceof Template) && (object2 instanceof Template)) {
					Template left= (Template) object1;
					Template right= (Template) object2;
					int result= left.getName().compareToIgnoreCase(right.getName());
					if (result != 0)