Example usage for org.eclipse.swt.widgets Button getEnabled

List of usage examples for org.eclipse.swt.widgets Button getEnabled

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Button getEnabled.

Prototype

public boolean getEnabled() 

Source Link

Document

Returns true if the receiver is enabled, and false otherwise.

Usage

From source file:org.eclipse.swt.examples.controlexample.Tab.java

/**
 * Creates and opens the "Listener selection" dialog.
 *//*from  ww  w .  j a  v a2s .c  o  m*/
void createListenerSelectionDialog() {
    final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE | 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 = 3;
    table.setLayoutData(data);
    for (int i = 0; i < EVENT_INFO.length; i++) {
        TableItem item = new TableItem(table, SWT.NONE);
        item.setText(EVENT_INFO[i].name);
        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_INFO.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(widgetSelectedAdapter(e -> {
        TableItem[] items = table.getItems();
        for (int i = 0; i < EVENT_INFO.length; i++) {
            items[i].setChecked(true);
        }
        for (int i = 0; i < customNames.length; i++) {
            items[EVENT_INFO.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));
    deselectAll.addSelectionListener(widgetSelectedAdapter(e -> {
        TableItem[] items = table.getItems();
        for (int i = 0; i < EVENT_INFO.length; i++) {
            items[i].setChecked(false);
        }
        for (int i = 0; i < customNames.length; i++) {
            items[EVENT_INFO.length + i].setChecked(false);
        }
    }));
    final Button editEvent = new Button(dialog, SWT.PUSH);
    editEvent.setText(ControlExample.getResourceString("Edit_Event"));
    editEvent.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
    editEvent.addSelectionListener(widgetSelectedAdapter(e -> {
        Point pt = editEvent.getLocation();
        pt = e.display.map(editEvent, null, pt);
        int index = table.getSelectionIndex();
        if (getExampleWidgets().length > 0 && index != -1) {
            createEditEventDialog(dialog, pt.x, pt.y, index);
        }
    }));
    editEvent.setEnabled(false);
    table.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int fields = 0;
            int index = table.getSelectionIndex();
            if (index != -1 && index < EVENT_INFO.length) { // TODO: Allow custom widgets to specify event info
                fields = (EVENT_INFO[index].settableFields);
            }
            editEvent.setEnabled(fields != 0);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (editEvent.getEnabled()) {
                Point pt = editEvent.getLocation();
                pt = e.display.map(editEvent, null, pt);
                int index = table.getSelectionIndex();
                if (getExampleWidgets().length > 0 && index != -1 && index < EVENT_INFO.length) {
                    createEditEventDialog(dialog, pt.x, pt.y, index);
                }
            }
        }
    });

    new Label(dialog, SWT.NONE); /* Filler */
    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(widgetSelectedAdapter(e -> {
        TableItem[] items = table.getItems();
        for (int i = 0; i < EVENT_INFO.length; i++) {
            eventsFilter[i] = items[i].getChecked();
        }
        for (int i = 0; i < customNames.length; i++) {
            eventsFilter[EVENT_INFO.length + i] = items[EVENT_INFO.length + i].getChecked();
        }
        dialog.dispose();
    }));
    dialog.pack();
    /*
     * If the preferred size of the dialog is too tall for the display,
     * then reduce the height, so that the vertical scrollbar will appear.
     */
    Rectangle bounds = dialog.getBounds();
    Rectangle trim = dialog.computeTrim(0, 0, 0, 0);
    Rectangle clientArea = display.getClientArea();
    if (bounds.height > clientArea.height) {
        dialog.setSize(bounds.width, clientArea.height - trim.height);
    }
    dialog.setLocation(bounds.x, clientArea.y);
    dialog.open();
    while (!dialog.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
}