Label filler = new Label(dialog, SWT.NONE);
new Label(dialog, SWT.NONE);
	void createListenerSelectionDialog () {		final Shell dialog = new Shell (tabFolderPage.getShell (), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);		dialog.setText (ControlExample.getResourceString ("Select_Listeners"));		dialog.setLayout (new GridLayout (2, false));		final Table table = new Table (dialog, SWT.BORDER | SWT.V_SCROLL | SWT.CHECK);		GridData data = new GridData(GridData.FILL_BOTH);		data.verticalSpan = 2;		table.setLayoutData(data);		for (int i = 0; i < EVENT_NAMES.length; i++) {			TableItem item = new TableItem (table, SWT.NONE);			item.setText (EVENT_NAMES[i]);			item.setChecked (eventsFilter[i]);		}		final String [] customNames = getCustomEventNames ();		for (int i = 0; i < customNames.length; i++) {			TableItem item = new TableItem (table, SWT.NONE);			item.setText (customNames[i]);			item.setChecked (eventsFilter[EVENT_NAMES.length + i]);		}		Button selectAll = new Button (dialog, SWT.PUSH);		selectAll.setText(ControlExample.getResourceString ("Select_All"));		selectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));		selectAll.addSelectionListener (new SelectionAdapter() {			public void widgetSelected(SelectionEvent e) {				TableItem [] items = table.getItems();				for (int i = 0; i < EVENT_NAMES.length; i++) {					items[i].setChecked(true);				}				for (int i = 0; i < customNames.length; i++) {					items[EVENT_NAMES.length + i].setChecked(true);				}			}		});		Button deselectAll = new Button (dialog, SWT.PUSH);		deselectAll.setText(ControlExample.getResourceString ("Deselect_All"));		deselectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));		deselectAll.addSelectionListener (new SelectionAdapter() {			public void widgetSelected(SelectionEvent e) {				TableItem [] items = table.getItems();				for (int i = 0; i < EVENT_NAMES.length; i++) {					items[i].setChecked(false);				}				for (int i = 0; i < customNames.length; i++) {					items[EVENT_NAMES.length + i].setChecked(false);				}			}		});		Label filler = new Label(dialog, SWT.NONE);		Button ok = new Button (dialog, SWT.PUSH);		ok.setText(ControlExample.getResourceString ("OK"));		dialog.setDefaultButton(ok);		ok.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));		ok.addSelectionListener (new SelectionAdapter() {			public void widgetSelected(SelectionEvent e) {				TableItem [] items = table.getItems();				for (int i = 0; i < EVENT_NAMES.length; i++) {					eventsFilter[i] = items[i].getChecked();				}				for (int i = 0; i < customNames.length; i++) {					eventsFilter[EVENT_NAMES.length + i] = items[EVENT_NAMES.length + i].getChecked();				}				dialog.dispose();			}		});		dialog.pack ();		dialog.open ();		while (! dialog.isDisposed()) {			if (! dialog.getDisplay().readAndDispatch()) dialog.getDisplay().sleep();		}	}