Bug 56459 Pref Page Type Filters [code manipulation]
The buttons are not sized according to the dialog font.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SpellingConfigurationBlock.java
slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_UPPER, trueFalse, 20);
		createSelectionDependency(master, slave);
		label= PreferencesMessages.getString("SpellingPreferencePage.ignore.url.label"); 
		slave= addCheckBox(user, label, PREF_SPELLING_IGNORE_URLS, trueFalse, 20);
		createSelectionDependency(master, slave);
		layout= new GridLayout();
		layout.numColumns= 3;
		final Composite engine= new Composite(folder, SWT.NULL);
		engine.setLayout(layout);
		label= PreferencesMessages.getString("SpellingPreferencePage.dictionary.label"); 
		final Set locales= SpellCheckEngine.getAvailableLocales();
		Combo combo= addComboBox(engine, label, PREF_SPELLING_LOCALE, getDictionaryCodes(locales), getDictionaryLabels(locales), 0);
		combo.setEnabled(locales.size() > 1);
		label= PreferencesMessages.getString("SpellingPreferencePage.workspace.dictionary.label"); 
		fDictionaryPath= addTextField(engine, label, PREF_SPELLING_USER_DICTIONARY, 0, 0);
		data= (GridData)fDictionaryPath.getLayoutData();
		data.horizontalSpan= 1;
		Button button= new Button(engine, SWT.PUSH);
		button.setText(PreferencesMessages.getString("SpellingPreferencePage.browse.label")); 
		button.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(final SelectionEvent event) {
				handleBrowseButtonSelected();
			}
		});
		
		layout= new GridLayout();
		layout.numColumns= 3;
		final Composite advanced= new Composite(folder, SWT.NULL);
		advanced.setLayout(layout);