Search in sources :

Example 71 with KeyAdapter

use of org.eclipse.swt.events.KeyAdapter in project bndtools by bndtools.

the class PrivatePackagesPart method createSection.

void createSection(Section section, FormToolkit toolkit) {
    section.setText("Private Packages");
    section.setDescription("The listed packages will be included in the bundle but not exported.");
    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);
    final ToolItem addItem = new ToolItem(toolbar, SWT.PUSH);
    addItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_ADD));
    addItem.setToolTipText("Add");
    final ToolItem removeItem = new ToolItem(toolbar, SWT.PUSH);
    removeItem.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE));
    removeItem.setDisabledImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_TOOL_DELETE_DISABLED));
    removeItem.setToolTipText("Remove");
    removeItem.setEnabled(false);
    Composite composite = toolkit.createComposite(section);
    section.setClient(composite);
    table = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    viewer = new TableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PrivatePackageTableLabelProvider());
    // Listeners
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            managedForm.fireSelectionChanged(PrivatePackagesPart.this, event.getSelection());
            removeItem.setEnabled(!viewer.getSelection().isEmpty());
        }
    });
    viewer.addDropSupport(DND.DROP_COPY | DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer(), TextTransfer.getInstance(), ResourceTransfer.getInstance() }, new PackageDropAdapter<String>(viewer) {

        @Override
        protected String createNewEntry(String packageName) {
            return packageName;
        }

        @Override
        protected void addRows(int index, Collection<String> rows) {
            if (rows.isEmpty())
                // skip marking dirty
                return;
            if (index == -1) {
                packages.addAll(rows);
                viewer.add(rows.toArray());
            } else {
                packages.addAll(index, rows);
                viewer.refresh();
            }
            viewer.setSelection(new StructuredSelection(rows));
            markDirty();
        }

        @Override
        protected int indexOf(Object object) {
            return 0;
        }
    });
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                doRemovePackages();
            } else if (e.character == '+') {
                doAddPackages();
            }
        }
    });
    addItem.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            doAddPackages();
        }
    });
    removeItem.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            doRemovePackages();
        }
    });
    // Layout
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    GridData gd;
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = 75;
    gd.widthHint = 75;
    table.setLayoutData(gd);
}
Also used : PrivatePackageTableLabelProvider(bndtools.editor.common.PrivatePackageTableLabelProvider) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) KeyAdapter(org.eclipse.swt.events.KeyAdapter) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) ToolBar(org.eclipse.swt.widgets.ToolBar) ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GridData(org.eclipse.swt.layout.GridData) TableViewer(org.eclipse.jface.viewers.TableViewer) ToolItem(org.eclipse.swt.widgets.ToolItem)

Example 72 with KeyAdapter

use of org.eclipse.swt.events.KeyAdapter in project bndtools by bndtools.

the class RunRequirementsPart method createSection.

private void createSection(Section section, FormToolkit tk) {
    section.setText("Run Requirements");
    section.setDescription("The specified requirements will be used to resolve a set of runtime bundles from available repositories.");
    // Create toolbar
    ToolBar toolbar = new ToolBar(section, SWT.FLAT);
    section.setTextClient(toolbar);
    fillToolBar(toolbar);
    // Create main panel
    Composite composite = tk.createComposite(section);
    section.setClient(composite);
    table = tk.createTable(composite, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    viewer = new TableViewer(table);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new RequirementLabelProvider());
    btnAutoResolve = tk.createButton(composite, "Auto-resolve on save", SWT.CHECK);
    btnResolveNow = tk.createButton(composite, "Resolve", SWT.PUSH);
    btnResolveNow.setImage(resolveIcon);
    // Listeners
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            removeTool.setEnabled(!viewer.getSelection().isEmpty());
        }
    });
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                doRemove();
            } else if (e.character == '+') {
                doAddBundle();
            }
        }
    });
    RequirementViewerDropAdapter dropper = new RequirementViewerDropAdapter();
    dropper.install(viewer);
    btnAutoResolve.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            ResolveMode old = resolveMode;
            resolveMode = btnAutoResolve.getSelection() ? ResolveMode.auto : ResolveMode.manual;
            updateButtonStates();
            if (old != resolveMode)
                markDirty();
        }
    });
    btnResolveNow.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            btnResolveNow.setEnabled(false);
            doResolve();
        }
    });
    // Layout
    GridLayout layout;
    GridData gd;
    layout = new GridLayout(2, false);
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 5;
    layout.marginHeight = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    gd.widthHint = 50;
    gd.heightHint = 50;
    table.setLayoutData(gd);
    gd = new GridData(SWT.RIGHT, SWT.CENTER, true, false);
    btnResolveNow.setLayoutData(gd);
}
Also used : ResolveMode(org.bndtools.api.ResolveMode) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) KeyAdapter(org.eclipse.swt.events.KeyAdapter) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) RequirementLabelProvider(org.bndtools.core.ui.resource.RequirementLabelProvider) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) ToolBar(org.eclipse.swt.widgets.ToolBar) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GridData(org.eclipse.swt.layout.GridData) TableViewer(org.eclipse.jface.viewers.TableViewer)

Example 73 with KeyAdapter

use of org.eclipse.swt.events.KeyAdapter in project bndtools by bndtools.

the class PluginsPart method createSection.

final void createSection(Section section, FormToolkit toolkit) {
    section.setText("Plugins");
    section.setDescription("Bnd plugins are used to specify repositories and extended behaviours.");
    createToolBar(section);
    Composite composite = toolkit.createComposite(section, SWT.NONE);
    table = toolkit.createTable(composite, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER);
    viewer = new TableViewer(table);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new PluginClauseLabelProvider(configElements));
    Button btnReload = toolkit.createButton(composite, "Reload", SWT.NONE);
    btnReload.setImage(refreshImg);
    // Listeners
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            boolean enable = !viewer.getSelection().isEmpty();
            removeItemTool.setEnabled(enable);
            editItemTool.setEnabled(enable);
        }
    });
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                doRemove();
            } else if (e.character == '+') {
                doAdd();
            }
        }
    });
    btnReload.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            doReload();
        }
    });
    composite.setLayout(new GridLayout(1, false));
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    btnReload.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false));
    section.setClient(composite);
}
Also used : Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) KeyAdapter(org.eclipse.swt.events.KeyAdapter) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) GridData(org.eclipse.swt.layout.GridData) TableViewer(org.eclipse.jface.viewers.TableViewer)

Example 74 with KeyAdapter

use of org.eclipse.swt.events.KeyAdapter in project bndtools by bndtools.

the class NewTypeWizardPage method createSuperInterfacesControls.

/**
     * Creates the controls for the superclass name field. Expects a <code>GridLayout</code> with at least 3 columns.
     *
     * @param composite
     *            the parent composite
     * @param nColumns
     *            number of columns to span
     */
protected void createSuperInterfacesControls(Composite composite, int nColumns) {
    //$NON-NLS-1$
    final String INTERFACE = "interface";
    fSuperInterfacesDialogField.doFillIntoGrid(composite, nColumns);
    final TableViewer tableViewer = fSuperInterfacesDialogField.getTableViewer();
    tableViewer.setColumnProperties(new String[] { INTERFACE });
    TableTextCellEditor cellEditor = new TableTextCellEditor(tableViewer, 0) {

        @Override
        protected void doSetFocus() {
            if (text != null) {
                text.setFocus();
                text.setSelection(text.getText().length());
                checkSelection();
                checkDeleteable();
                checkSelectable();
            }
        }
    };
    JavaTypeCompletionProcessor superInterfaceCompletionProcessor = new JavaTypeCompletionProcessor(false, false, true);
    superInterfaceCompletionProcessor.setCompletionContextRequestor(new CompletionContextRequestor() {

        @Override
        public StubTypeContext getStubTypeContext() {
            return getSuperInterfacesStubTypeContext();
        }
    });
    @SuppressWarnings("deprecation") org.eclipse.jface.contentassist.SubjectControlContentAssistant contentAssistant = ControlContentAssistHelper.createJavaContentAssistant(superInterfaceCompletionProcessor);
    Text cellEditorText = cellEditor.getText();
    @SuppressWarnings({ "deprecation", "unused" }) org.eclipse.ui.contentassist.ContentAssistHandler contentAssistantHandler = org.eclipse.ui.contentassist.ContentAssistHandler.createHandlerForText(cellEditorText, contentAssistant);
    TextFieldNavigationHandler.install(cellEditorText);
    cellEditor.setContentAssistant(contentAssistant);
    tableViewer.setCellEditors(new CellEditor[] { cellEditor });
    tableViewer.setCellModifier(new ICellModifier() {

        @Override
        public void modify(Object element, String property, Object value) {
            Object el = element;
            if (el instanceof Item)
                el = ((Item) el).getData();
            ((InterfaceWrapper) el).interfaceName = (String) value;
            fSuperInterfacesDialogField.elementChanged((InterfaceWrapper) el);
        }

        @Override
        public Object getValue(Object element, String property) {
            return ((InterfaceWrapper) element).interfaceName;
        }

        @Override
        public boolean canModify(Object element, String property) {
            return true;
        }
    });
    tableViewer.getTable().addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent event) {
            if (event.keyCode == SWT.F2 && event.stateMask == 0) {
                ISelection selection = tableViewer.getSelection();
                if (!(selection instanceof IStructuredSelection))
                    return;
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                tableViewer.editElement(structuredSelection.getFirstElement(), 0);
            }
        }
    });
    GridData gd = (GridData) fSuperInterfacesDialogField.getListControl(null).getLayoutData();
    if (fTypeKind == CLASS_TYPE) {
        gd.heightHint = convertHeightInCharsToPixels(3);
    } else {
        gd.heightHint = convertHeightInCharsToPixels(6);
    }
    gd.grabExcessVerticalSpace = false;
    gd.widthHint = getMaxFieldWidth();
}
Also used : KeyAdapter(org.eclipse.swt.events.KeyAdapter) Text(org.eclipse.swt.widgets.Text) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) JavaTypeCompletionProcessor(org.eclipse.jdt.internal.ui.refactoring.contentassist.JavaTypeCompletionProcessor) KeyEvent(org.eclipse.swt.events.KeyEvent) Item(org.eclipse.swt.widgets.Item) ICellModifier(org.eclipse.jface.viewers.ICellModifier) ISelection(org.eclipse.jface.viewers.ISelection) GridData(org.eclipse.swt.layout.GridData) StubTypeContext(org.eclipse.jdt.internal.corext.refactoring.StubTypeContext) CompletionContextRequestor(org.eclipse.jdt.internal.ui.refactoring.contentassist.CompletionContextRequestor) TableViewer(org.eclipse.jface.viewers.TableViewer) TableTextCellEditor(org.eclipse.jdt.internal.ui.dialogs.TableTextCellEditor)

Example 75 with KeyAdapter

use of org.eclipse.swt.events.KeyAdapter in project eclipse.platform.swt by eclipse.

the class ControlsWithAccessibleNamesExample method main.

public static void main(String[] args) {
    display = new Display();
    shell = new Shell(display);
    shell.setLayout(new GridLayout(4, true));
    shell.setText("Override Accessibility Test");
    largeImage = new Image(display, ControlsWithAccessibleNamesExample.class.getResourceAsStream("run_wiz.gif"));
    smallImage = new Image(display, ControlsWithAccessibleNamesExample.class.getResourceAsStream("run.gif"));
    ImageData source = smallImage.getImageData();
    ImageData mask = source.getTransparencyMask();
    transparentImage = new Image(display, source, mask);
    new Label(shell, SWT.NONE).setText("Use Platform Name");
    new Label(shell, SWT.NONE).setText("Override Platform Name");
    new Label(shell, SWT.NONE).setText("Use Platform Name");
    new Label(shell, SWT.NONE).setText("Override Platform Name");
    AccessibleAdapter overrideAccessibleAdapter = new AccessibleAdapter() {

        @Override
        public void getName(AccessibleEvent e) {
            Control control = ((Accessible) e.getSource()).getControl();
            if (e.childID == ACC.CHILDID_SELF) {
                e.result = "Overriding Platform Name For " + control.getData("name") + " (was " + e.result + ")";
            } else {
                e.result = "Overriding Platform Name For " + control.getData("child") + ": " + e.childID + " (was " + e.result + ")";
            }
        }

        @Override
        public void getHelp(AccessibleEvent e) {
            Control control = ((Accessible) e.getSource()).getControl();
            if (e.childID == ACC.CHILDID_SELF) {
                e.result = "Overriding Platform Help For " + control.getData("name") + " (was " + e.result + ")";
            } else {
                e.result = "Overriding Platform Help For " + control.getData("child") + ": " + e.childID + " (was " + e.result + ")";
            }
        }
    };
    // Shell shell;
    shell.setData("name", "Shell");
    shell.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Label label, overrideLabel;
    label = new Label(shell, SWT.BORDER);
    label.setText("Label");
    label.setToolTipText("Label ToolTip");
    overrideLabel = new Label(shell, SWT.BORDER);
    overrideLabel.setText("Label");
    overrideLabel.setToolTipText("Label ToolTip");
    overrideLabel.setData("name", "Label");
    overrideLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Label imageLabel, overrideImageLabel;
    imageLabel = new Label(shell, SWT.BORDER);
    imageLabel.setImage(largeImage);
    imageLabel.setToolTipText("Image Label ToolTip");
    overrideImageLabel = new Label(shell, SWT.BORDER);
    overrideImageLabel.setImage(largeImage);
    overrideImageLabel.setToolTipText("Image Label ToolTip");
    overrideImageLabel.setData("name", "Image Label");
    overrideImageLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Button button, overrideButton;
    button = new Button(shell, SWT.PUSH);
    button.setText("Button");
    button.setToolTipText("Button ToolTip");
    overrideButton = new Button(shell, SWT.PUSH);
    overrideButton.setText("Button");
    overrideButton.setToolTipText("Button ToolTip");
    overrideButton.setData("name", "Button");
    overrideButton.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Button imageButton, overrideImageButton;
    imageButton = new Button(shell, SWT.PUSH);
    imageButton.setImage(smallImage);
    imageButton.setToolTipText("Image Button ToolTip");
    overrideImageButton = new Button(shell, SWT.PUSH);
    overrideImageButton.setImage(smallImage);
    overrideImageButton.setToolTipText("Image Button ToolTip");
    overrideImageButton.setData("name", "Image Button");
    overrideImageButton.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Combo combo, overrideCombo;
    combo = new Combo(shell, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        combo.add("item" + i);
    }
    combo.setText("Combo");
    combo.setToolTipText("Combo ToolTip");
    overrideCombo = new Combo(shell, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        overrideCombo.add("item" + i);
    }
    overrideCombo.setText("Combo");
    overrideCombo.setToolTipText("Combo ToolTip");
    overrideCombo.setData("name", "Combo");
    overrideCombo.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Spinner spinner, overrideSpinner;
    spinner = new Spinner(shell, SWT.BORDER);
    spinner.setSelection(5);
    spinner.setToolTipText("Spinner ToolTip");
    overrideSpinner = new Spinner(shell, SWT.BORDER);
    overrideSpinner.setSelection(5);
    overrideSpinner.setToolTipText("Spinner ToolTip");
    overrideSpinner.setData("name", "Spinner");
    overrideSpinner.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Text text, overrideText;
    text = new Text(shell, SWT.SINGLE | SWT.BORDER);
    text.setText("Contents of single-line Text");
    overrideText = new Text(shell, SWT.SINGLE | SWT.BORDER);
    overrideText.setText("Contents of single-line Text");
    overrideText.setData("name", "Text");
    overrideText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Text multiLineText, overrideMultiLineText;
    multiLineText = new Text(shell, SWT.MULTI | SWT.BORDER);
    multiLineText.setText("Contents of multi-line Text\nLine 2\nLine 3\nLine 4");
    overrideMultiLineText = new Text(shell, SWT.MULTI | SWT.BORDER);
    overrideMultiLineText.setText("Contents of multi-line Text\nLine 2\nLine 3\nLine 4");
    overrideMultiLineText.setData("name", "MultiLineText");
    overrideMultiLineText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // List list, overrideList;
    list = new List(shell, SWT.SINGLE | SWT.BORDER);
    list.setItems("Item0", "Item1", "Item2");
    overrideList = new List(shell, SWT.SINGLE | SWT.BORDER);
    overrideList.setItems("Item0", "Item1", "Item2");
    overrideList.setData("name", "List");
    overrideList.setData("child", "List Item");
    overrideList.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Table table, overrideTable;
    table = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    for (int col = 0; col < 3; col++) {
        TableColumn column = new TableColumn(table, SWT.NONE);
        column.setText("Col " + col);
        column.pack();
    }
    for (int row = 0; row < 3; row++) {
        TableItem item = new TableItem(table, SWT.NONE);
        item.setText(new String[] { "C0R" + row, "C1R" + row, "C2R" + row });
    }
    overrideTable = new Table(shell, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    overrideTable.setHeaderVisible(true);
    overrideTable.setLinesVisible(true);
    for (int col = 0; col < 3; col++) {
        TableColumn column = new TableColumn(overrideTable, SWT.NONE);
        column.setText("Col " + col);
        column.pack();
    }
    for (int row = 0; row < 3; row++) {
        TableItem item = new TableItem(overrideTable, SWT.NONE);
        item.setText(new String[] { "C0R" + row, "C1R" + row, "C2R" + row });
    }
    overrideTable.setData("name", "Table");
    overrideTable.setData("child", "Table Item");
    overrideTable.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Tree tree, overrideTree;
    tree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    for (int i = 0; i < 3; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        item.setText("Item" + i);
        for (int j = 0; j < 4; j++) {
            new TreeItem(item, SWT.NONE).setText("Item" + i + j);
        }
    }
    overrideTree = new Tree(shell, SWT.BORDER | SWT.MULTI);
    for (int i = 0; i < 3; i++) {
        TreeItem item = new TreeItem(overrideTree, SWT.NONE);
        item.setText("Item" + i);
        for (int j = 0; j < 4; j++) {
            new TreeItem(item, SWT.NONE).setText("Item" + i + j);
        }
    }
    overrideTree.setData("name", "Tree");
    overrideTree.setData("child", "Tree Item");
    overrideTree.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Tree treeTable, overrideTreeTable;
    treeTable = new Tree(shell, SWT.BORDER | SWT.MULTI);
    treeTable.setHeaderVisible(true);
    treeTable.setLinesVisible(true);
    for (int col = 0; col < 3; col++) {
        TreeColumn column = new TreeColumn(treeTable, SWT.NONE);
        column.setText("Col " + col);
        column.pack();
    }
    for (int i = 0; i < 3; i++) {
        TreeItem item = new TreeItem(treeTable, SWT.NONE);
        item.setText(new String[] { "I" + i + "C0", "I" + i + "C1", "I" + i + "C2" });
        for (int j = 0; j < 4; j++) {
            new TreeItem(item, SWT.NONE).setText(new String[] { "I" + i + j + "C0", "I" + i + j + "C1", "I" + i + j + "C2" });
        }
    }
    overrideTreeTable = new Tree(shell, SWT.BORDER | SWT.MULTI);
    overrideTreeTable.setHeaderVisible(true);
    overrideTreeTable.setLinesVisible(true);
    for (int col = 0; col < 3; col++) {
        TreeColumn column = new TreeColumn(overrideTreeTable, SWT.NONE);
        column.setText("Col " + col);
        column.pack();
    }
    for (int i = 0; i < 3; i++) {
        TreeItem item = new TreeItem(overrideTreeTable, SWT.NONE);
        item.setText(new String[] { "I" + i + "C0", "I" + i + "C1", "I" + i + "C2" });
        for (int j = 0; j < 4; j++) {
            new TreeItem(item, SWT.NONE).setText(new String[] { "I" + i + j + "C0", "I" + i + j + "C1", "I" + i + j + "C2" });
        }
    }
    overrideTreeTable.setData("name", "Tree Table");
    overrideTreeTable.setData("child", "Tree Table Item");
    overrideTreeTable.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // ToolBar toolBar, overrideToolBar;
    toolBar = new ToolBar(shell, SWT.FLAT);
    for (int i = 0; i < 3; i++) {
        ToolItem item = new ToolItem(toolBar, SWT.PUSH);
        item.setText("Item" + i);
        item.setToolTipText("ToolItem ToolTip" + i);
    }
    overrideToolBar = new ToolBar(shell, SWT.FLAT);
    for (int i = 0; i < 3; i++) {
        ToolItem item = new ToolItem(overrideToolBar, SWT.PUSH);
        item.setText("Item" + i);
        item.setToolTipText("ToolItem ToolTip" + i);
    }
    overrideToolBar.setData("name", "ToolBar");
    overrideToolBar.setData("child", "ToolBar Item");
    overrideToolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // ToolBar imageToolBar, overrideImageToolBar;
    imageToolBar = new ToolBar(shell, SWT.FLAT);
    for (int i = 0; i < 3; i++) {
        ToolItem item = new ToolItem(imageToolBar, SWT.PUSH);
        item.setImage(transparentImage);
        item.setToolTipText("Image ToolItem ToolTip" + i);
    }
    overrideImageToolBar = new ToolBar(shell, SWT.FLAT);
    for (int i = 0; i < 3; i++) {
        ToolItem item = new ToolItem(overrideImageToolBar, SWT.PUSH);
        item.setImage(transparentImage);
        item.setToolTipText("Image ToolItem ToolTip" + i);
    }
    overrideImageToolBar.setData("name", "Image ToolBar");
    overrideImageToolBar.setData("child", "Image ToolBar Item");
    overrideImageToolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // CoolBar coolBar, overrideCoolBar;
    coolBar = new CoolBar(shell, SWT.FLAT);
    for (int i = 0; i < 2; i++) {
        CoolItem coolItem = new CoolItem(coolBar, SWT.PUSH);
        ToolBar coolItemToolBar = new ToolBar(coolBar, SWT.FLAT);
        int toolItemWidth = 0;
        for (int j = 0; j < 2; j++) {
            ToolItem item = new ToolItem(coolItemToolBar, SWT.PUSH);
            item.setText("I" + i + j);
            item.setToolTipText("ToolItem ToolTip" + i + j);
            if (item.getWidth() > toolItemWidth)
                toolItemWidth = item.getWidth();
        }
        coolItem.setControl(coolItemToolBar);
        Point size = coolItemToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
        Point coolSize = coolItem.computeSize(size.x, size.y);
        coolItem.setMinimumSize(toolItemWidth, coolSize.y);
        coolItem.setPreferredSize(coolSize);
        coolItem.setSize(coolSize);
    }
    overrideCoolBar = new CoolBar(shell, SWT.FLAT);
    for (int i = 0; i < 2; i++) {
        CoolItem coolItem = new CoolItem(overrideCoolBar, SWT.PUSH);
        ToolBar coolItemToolBar = new ToolBar(overrideCoolBar, SWT.FLAT);
        int toolItemWidth = 0;
        for (int j = 0; j < 2; j++) {
            ToolItem item = new ToolItem(coolItemToolBar, SWT.PUSH);
            item.setText("I" + i + j);
            item.setToolTipText("ToolItem ToolTip" + i + j);
            if (item.getWidth() > toolItemWidth)
                toolItemWidth = item.getWidth();
        }
        coolItem.setControl(coolItemToolBar);
        Point size = coolItemToolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
        Point coolSize = coolItem.computeSize(size.x, size.y);
        coolItem.setMinimumSize(toolItemWidth, coolSize.y);
        coolItem.setPreferredSize(coolSize);
        coolItem.setSize(coolSize);
    }
    overrideCoolBar.setData("name", "CoolBar");
    overrideCoolBar.setData("child", "CoolBar Item");
    overrideCoolBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Canvas canvas, overrideCanvas;
    canvas = new Canvas(shell, SWT.BORDER);
    canvas.addPaintListener(e -> e.gc.drawString("Canvas", 15, 25));
    /* Set a caret into the canvas so that it will take focus. */
    Caret caret = new Caret(canvas, SWT.NONE);
    caret.setBounds(15, 25, 2, 20);
    canvas.setCaret(caret);
    /* Hook key listener so canvas will take focus during traversal in. */
    canvas.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            e.doit = true;
        }

        @Override
        public void keyReleased(KeyEvent e) {
            e.doit = true;
        }
    });
    /* Hook traverse listener to make canvas give up focus during traversal out. */
    canvas.addTraverseListener(e -> e.doit = true);
    overrideCanvas = new Canvas(shell, SWT.BORDER);
    overrideCanvas.addPaintListener(e -> e.gc.drawString("Canvas", 15, 25));
    /* Set a caret into the canvas so that it will take focus. */
    caret = new Caret(overrideCanvas, SWT.NONE);
    caret.setBounds(15, 25, 2, 20);
    overrideCanvas.setCaret(caret);
    /* Hook key listener so canvas will take focus during traversal in. */
    overrideCanvas.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            e.doit = true;
        }

        @Override
        public void keyReleased(KeyEvent e) {
            e.doit = true;
        }
    });
    /* Hook traverse listener to make canvas give up focus during traversal out. */
    overrideCanvas.addTraverseListener(e -> e.doit = true);
    overrideCanvas.setData("name", "Canvas");
    overrideCanvas.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Composite composite, overrideComposite;
    composite = new Composite(shell, SWT.BORDER);
    composite.setLayout(new GridLayout());
    new Button(composite, SWT.RADIO).setText("Child 1");
    new Button(composite, SWT.RADIO).setText("Child 2");
    overrideComposite = new Composite(shell, SWT.BORDER);
    overrideComposite.setLayout(new GridLayout());
    new Button(overrideComposite, SWT.RADIO).setText("Child 1");
    new Button(overrideComposite, SWT.RADIO).setText("Child 2");
    overrideComposite.setData("name", "Composite");
    overrideComposite.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Group group, overrideGroup;
    group = new Group(shell, SWT.NONE);
    group.setText("Group");
    group.setLayout(new FillLayout());
    new Text(group, SWT.SINGLE).setText("Text in Group");
    overrideGroup = new Group(shell, SWT.NONE);
    overrideGroup.setText("Group");
    overrideGroup.setLayout(new FillLayout());
    new Text(overrideGroup, SWT.SINGLE).setText("Text in Group");
    overrideGroup.setData("name", "Group");
    overrideGroup.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // TabFolder tabFolder, overrideTabFolder;
    tabFolder = new TabFolder(shell, SWT.NONE);
    for (int i = 0; i < 3; i++) {
        TabItem item = new TabItem(tabFolder, SWT.NONE);
        item.setText("TabItem &" + i);
        item.setToolTipText("TabItem ToolTip" + i);
        Text itemText = new Text(tabFolder, SWT.MULTI | SWT.BORDER);
        itemText.setText("\nText for TabItem " + i + "\n\n");
        item.setControl(itemText);
    }
    overrideTabFolder = new TabFolder(shell, SWT.NONE);
    for (int i = 0; i < 3; i++) {
        TabItem item = new TabItem(overrideTabFolder, SWT.NONE);
        item.setText("TabItem &" + i);
        item.setToolTipText("TabItem ToolTip" + i);
        Text itemText = new Text(overrideTabFolder, SWT.MULTI | SWT.BORDER);
        itemText.setText("\nText for TabItem " + i + "\n\n");
        item.setControl(itemText);
    }
    overrideTabFolder.setData("name", "TabFolder");
    overrideTabFolder.setData("child", "TabItem");
    overrideTabFolder.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // CLabel cLabel, overrideCLabel;
    cLabel = new CLabel(shell, SWT.BORDER);
    cLabel.setText("CLabel");
    cLabel.setToolTipText("CLabel ToolTip");
    cLabel.setLayoutData(new GridData(100, SWT.DEFAULT));
    overrideCLabel = new CLabel(shell, SWT.BORDER);
    overrideCLabel.setText("CLabel");
    overrideCLabel.setToolTipText("CLabel ToolTip");
    overrideCLabel.setLayoutData(new GridData(100, SWT.DEFAULT));
    overrideCLabel.setData("name", "CLabel");
    overrideCLabel.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // CCombo cCombo, overrideCCombo;
    cCombo = new CCombo(shell, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        cCombo.add("item" + i);
    }
    cCombo.setText("CCombo");
    cCombo.setToolTipText("CCombo ToolTip");
    // Note: This doesn't work well because CCombo has Control children
    overrideCCombo = new CCombo(shell, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        overrideCCombo.add("item" + i);
    }
    overrideCCombo.setText("CCombo");
    overrideCCombo.setToolTipText("CCombo ToolTip");
    overrideCCombo.setData("name", "CCombo");
    overrideCCombo.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // CTabFolder cTabFolder, overrideCTabFolder;
    cTabFolder = new CTabFolder(shell, SWT.NONE);
    for (int i = 0; i < 3; i++) {
        CTabItem item = new CTabItem(cTabFolder, SWT.NONE);
        item.setText("CTabItem &" + i);
        item.setToolTipText("TabItem ToolTip" + i);
        Text itemText = new Text(cTabFolder, SWT.MULTI | SWT.BORDER);
        itemText.setText("\nText for CTabItem " + i + "\n\n");
        item.setControl(itemText);
    }
    cTabFolder.setSelection(cTabFolder.getItem(0));
    overrideCTabFolder = new CTabFolder(shell, SWT.NONE);
    for (int i = 0; i < 3; i++) {
        CTabItem item = new CTabItem(overrideCTabFolder, SWT.NONE);
        item.setText("CTabItem &" + i);
        item.setToolTipText("TabItem ToolTip" + i);
        Text itemText = new Text(overrideCTabFolder, SWT.MULTI | SWT.BORDER);
        itemText.setText("\nText for CTabItem " + i + "\n\n");
        item.setControl(itemText);
    }
    overrideCTabFolder.setSelection(overrideCTabFolder.getItem(0));
    overrideCTabFolder.setData("name", "CTabFolder");
    overrideCTabFolder.setData("child", "CTabItem");
    overrideCTabFolder.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // StyledText styledText, overrideStyledText;
    styledText = new StyledText(shell, SWT.SINGLE | SWT.BORDER);
    styledText.setText("Contents of single-line StyledText");
    overrideStyledText = new StyledText(shell, SWT.SINGLE | SWT.BORDER);
    overrideStyledText.setText("Contents of single-line StyledText");
    overrideStyledText.setData("name", "StyledText");
    overrideStyledText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // StyledText multiLineStyledText, overrideMultiLineStyledText;
    multiLineStyledText = new StyledText(shell, SWT.MULTI | SWT.BORDER);
    multiLineStyledText.setText("Contents of multi-line StyledText\nLine 2\nLine 3\nLine 4");
    overrideMultiLineStyledText = new StyledText(shell, SWT.MULTI | SWT.BORDER);
    overrideMultiLineStyledText.setText("Contents of multi-line StyledText\nLine 2\nLine 3\nLine 4");
    overrideMultiLineStyledText.setData("name", "MultiLineStyledText");
    overrideMultiLineStyledText.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Scale scale, overrideScale;
    scale = new Scale(shell, SWT.NONE);
    scale.setToolTipText("Scale ToolTip");
    overrideScale = new Scale(shell, SWT.NONE);
    overrideScale.setToolTipText("Scale ToolTip");
    overrideScale.setData("name", "Scale");
    overrideScale.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Slider slider, overrideSlider;
    slider = new Slider(shell, SWT.NONE);
    slider.setToolTipText("Slider ToolTip");
    overrideSlider = new Slider(shell, SWT.NONE);
    overrideSlider.setToolTipText("Slider ToolTip");
    overrideSlider.setData("name", "Slider");
    overrideSlider.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // ProgressBar progressBar, overrideProgressBar;
    if (!SWT.getPlatform().equals("cocoa")) {
        progressBar = new ProgressBar(shell, SWT.NONE);
        progressBar.setSelection(50);
        progressBar.setToolTipText("ProgressBar ToolTip");
        overrideProgressBar = new ProgressBar(shell, SWT.NONE);
        overrideProgressBar.setSelection(50);
        overrideProgressBar.setToolTipText("ProgressBar ToolTip");
        overrideProgressBar.setData("name", "ProgressBar");
        overrideProgressBar.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    }
    // Sash sash, overrideSash;
    sash = new Sash(shell, SWT.BORDER);
    sash.setToolTipText("Sash ToolTip");
    overrideSash = new Sash(shell, SWT.BORDER);
    overrideSash.setToolTipText("Sash ToolTip");
    overrideSash.setData("name", "Sash");
    overrideSash.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    // Link link, overrideLink;
    link = new Link(shell, SWT.NONE);
    link.setText("<a>This is a link</a>");
    link.setToolTipText("Link ToolTip");
    overrideLink = new Link(shell, SWT.NONE);
    overrideLink.setText("<a>This is a link</a>");
    overrideLink.setToolTipText("Link ToolTip");
    overrideLink.setData("name", "Link");
    overrideLink.getAccessible().addAccessibleListener(overrideAccessibleAdapter);
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    largeImage.dispose();
    smallImage.dispose();
    transparentImage.dispose();
    display.dispose();
}
Also used : CLabel(org.eclipse.swt.custom.CLabel) Group(org.eclipse.swt.widgets.Group) CTabFolder(org.eclipse.swt.custom.CTabFolder) Slider(org.eclipse.swt.widgets.Slider) TreeItem(org.eclipse.swt.widgets.TreeItem) Spinner(org.eclipse.swt.widgets.Spinner) TableItem(org.eclipse.swt.widgets.TableItem) KeyAdapter(org.eclipse.swt.events.KeyAdapter) CLabel(org.eclipse.swt.custom.CLabel) Label(org.eclipse.swt.widgets.Label) AccessibleAdapter(org.eclipse.swt.accessibility.AccessibleAdapter) CCombo(org.eclipse.swt.custom.CCombo) Combo(org.eclipse.swt.widgets.Combo) Image(org.eclipse.swt.graphics.Image) CTabItem(org.eclipse.swt.custom.CTabItem) KeyEvent(org.eclipse.swt.events.KeyEvent) Shell(org.eclipse.swt.widgets.Shell) GridLayout(org.eclipse.swt.layout.GridLayout) Control(org.eclipse.swt.widgets.Control) CoolBar(org.eclipse.swt.widgets.CoolBar) Button(org.eclipse.swt.widgets.Button) ImageData(org.eclipse.swt.graphics.ImageData) TreeColumn(org.eclipse.swt.widgets.TreeColumn) Tree(org.eclipse.swt.widgets.Tree) List(org.eclipse.swt.widgets.List) AccessibleEvent(org.eclipse.swt.accessibility.AccessibleEvent) CoolItem(org.eclipse.swt.widgets.CoolItem) ProgressBar(org.eclipse.swt.widgets.ProgressBar) ToolItem(org.eclipse.swt.widgets.ToolItem) Accessible(org.eclipse.swt.accessibility.Accessible) Table(org.eclipse.swt.widgets.Table) StyledText(org.eclipse.swt.custom.StyledText) Composite(org.eclipse.swt.widgets.Composite) Sash(org.eclipse.swt.widgets.Sash) Canvas(org.eclipse.swt.widgets.Canvas) TabFolder(org.eclipse.swt.widgets.TabFolder) CTabFolder(org.eclipse.swt.custom.CTabFolder) StyledText(org.eclipse.swt.custom.StyledText) Text(org.eclipse.swt.widgets.Text) Scale(org.eclipse.swt.widgets.Scale) Point(org.eclipse.swt.graphics.Point) FillLayout(org.eclipse.swt.layout.FillLayout) TableColumn(org.eclipse.swt.widgets.TableColumn) Point(org.eclipse.swt.graphics.Point) TabItem(org.eclipse.swt.widgets.TabItem) CTabItem(org.eclipse.swt.custom.CTabItem) CCombo(org.eclipse.swt.custom.CCombo) ToolBar(org.eclipse.swt.widgets.ToolBar) GridData(org.eclipse.swt.layout.GridData) Caret(org.eclipse.swt.widgets.Caret) Link(org.eclipse.swt.widgets.Link) Display(org.eclipse.swt.widgets.Display)

Aggregations

KeyAdapter (org.eclipse.swt.events.KeyAdapter)80 KeyEvent (org.eclipse.swt.events.KeyEvent)80 GridData (org.eclipse.swt.layout.GridData)50 GridLayout (org.eclipse.swt.layout.GridLayout)40 Composite (org.eclipse.swt.widgets.Composite)39 SelectionEvent (org.eclipse.swt.events.SelectionEvent)33 Text (org.eclipse.swt.widgets.Text)30 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)28 Label (org.eclipse.swt.widgets.Label)24 Button (org.eclipse.swt.widgets.Button)20 TableViewer (org.eclipse.jface.viewers.TableViewer)18 ModifyEvent (org.eclipse.swt.events.ModifyEvent)17 ModifyListener (org.eclipse.swt.events.ModifyListener)16 FocusEvent (org.eclipse.swt.events.FocusEvent)15 Point (org.eclipse.swt.graphics.Point)15 Table (org.eclipse.swt.widgets.Table)14 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)12 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)12 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)12 FocusAdapter (org.eclipse.swt.events.FocusAdapter)11