Example usage for org.eclipse.jface.viewers TableViewer TableViewer

List of usage examples for org.eclipse.jface.viewers TableViewer TableViewer

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer TableViewer.

Prototype

public TableViewer(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:com.bdaum.zoom.gps.internal.preferences.GpsPreferencePage.java

License:Open Source License

private void createModeGroup(Composite composite) {
    CGroup group = UiUtilities.createGroup(composite, 1, Messages.getString("GpsPreferencePage.mode")); //$NON-NLS-1$
    editButton = WidgetFactory.createCheckButton(group,
            Messages.getString("GpsPreferencePage.edit_trackpoints"), //$NON-NLS-1$
            null);//from  ww  w  .j  ava  2 s.  com
    tagButton = WidgetFactory.createCheckButton(group, Messages.getString("GpsPreferencePage.Overwrite_tags"), //$NON-NLS-1$
            null);
    waypointButton = WidgetFactory.createCheckButton(group,
            Messages.getString("GpsPreferencePage.use_waypoints"), //$NON-NLS-1$
            null);
    altitudeButton = WidgetFactory.createCheckButton(group,
            Messages.getString("GpsPreferencePage.Update_altitude"), //$NON-NLS-1$
            null);
    new Label(group, SWT.NONE).setText(Messages.getString("GpsPreferencePage.nogo_areas")); //$NON-NLS-1$
    Composite viewerGroup = new Composite(group, SWT.NONE);
    viewerGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 0;
    viewerGroup.setLayout(layout);
    nogoViewer = new TableViewer(viewerGroup, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    GridData layoutData = new GridData(200, 100);
    layoutData.horizontalIndent = 16;
    nogoViewer.getControl().setLayoutData(layoutData);
    TableViewerColumn col1 = new TableViewerColumn(nogoViewer, SWT.NONE);
    col1.getColumn().setWidth(200);
    col1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    nogoViewer.setContentProvider(ArrayContentProvider.getInstance());
    nogoViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            updateTableButtons();
        }
    });
    Composite buttonGroup = new Composite(viewerGroup, SWT.NONE);
    buttonGroup.setLayoutData(new GridData(SWT.END, SWT.FILL, false, true));
    buttonGroup.setLayout(new GridLayout(1, false));
    addButton = new Button(buttonGroup, SWT.PUSH);
    addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    addButton.setText(Messages.getString("GpsPreferencePage.add")); //$NON-NLS-1$
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            EditNogoDialog dialog = new EditNogoDialog(getShell(), null);
            if (dialog.open() == EditNogoDialog.OK) {
                GeoArea area = dialog.getArea();
                nogoAreas.add(area);
                nogoViewer.add(area);
                nogoViewer.setSelection(new StructuredSelection(area), true);
                updateTableButtons();
            }
        }
    });
    editNogoButton = new Button(buttonGroup, SWT.PUSH);
    editNogoButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    editNogoButton.setText(Messages.getString("GpsPreferencePage.edit")); //$NON-NLS-1$
    editNogoButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            GeoArea area = (GeoArea) nogoViewer.getStructuredSelection().getFirstElement();
            EditNogoDialog dialog = new EditNogoDialog(getShell(), area);
            if (dialog.open() == EditNogoDialog.OK)
                nogoViewer.update(area, null);
        }
    });
    deleteButton = new Button(buttonGroup, SWT.PUSH);
    deleteButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    deleteButton.setText(Messages.getString("GpsPreferencePage.remove")); //$NON-NLS-1$
    deleteButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            GeoArea area = (GeoArea) nogoViewer.getStructuredSelection().getFirstElement();
            nogoAreas.remove(area);
            nogoViewer.remove(area);
            updateButtons();
        }
    });
}

From source file:com.bdaum.zoom.net.ui.internal.preferences.InternetPreferencePage.java

License:Open Source License

private void createFtpGroup(Composite parent) {
    CGroup group = UiUtilities.createGroup(parent, 2, Messages.InternetPreferencePage_ftp_accounts);
    ftpViewer = new TableViewer(group, SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER);
    ftpViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    ftpViewer.setContentProvider(ArrayContentProvider.getInstance());
    ftpViewer.setLabelProvider(new ZColumnLabelProvider() {
        @Override//from   w  w  w .j a  v  a 2 s .c o  m
        public String getText(Object element) {
            if (element instanceof FtpAccount)
                return ((FtpAccount) element).getName();
            return element.toString();
        }
    });
    ftpViewer.setComparator(ZViewerComparator.INSTANCE);
    Composite buttonGroup = new Composite(group, SWT.NONE);
    buttonGroup.setLayoutData(new GridData(SWT.END, SWT.FILL, false, true));
    buttonGroup.setLayout(new GridLayout(1, false));
    Button newButton = createPushButton(buttonGroup, Messages.InternetPreferencePage_new,
            Messages.InternetPreferencePage_new_tooltip);
    newButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            EditFtpDialog dialog = new EditFtpDialog(getShell(), new FtpAccount(), false, null);
            if (dialog.open() == Window.OK) {
                FtpAccount result = dialog.getResult();
                ftpAccounts.add(result);
                ftpViewer.setInput(ftpAccounts);
                ftpViewer.setSelection(new StructuredSelection(result));
            }
        }
    });
    editButton = createPushButton(buttonGroup, Messages.InternetPreferencePage_edit,
            Messages.InternetPreferencePage_edit_tooltip);
    editButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = ftpViewer.getStructuredSelection();
            Object firstElement = selection.getFirstElement();
            if (firstElement instanceof FtpAccount) {
                EditFtpDialog dialog = new EditFtpDialog(getShell(), (FtpAccount) firstElement, false, null);
                if (dialog.open() == Window.OK) {
                    ftpViewer.update(dialog.getResult(), null);
                }
            }
        }
    });
    removeButton = createPushButton(buttonGroup, Messages.InternetPreferencePage_remove,
            Messages.InternetPreferencePage_remove_tooltip);
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            Object firstElement = ftpViewer.getStructuredSelection().getFirstElement();
            if (firstElement instanceof FtpAccount) {
                int i = ftpAccounts.indexOf(firstElement);
                FtpAccount sibling = (i < ftpAccounts.size() - 1) ? ftpAccounts.get(i + 1)
                        : (i > 0) ? ftpAccounts.get(i - 1) : null;
                ftpAccounts.remove(i);
                ftpViewer.setInput(ftpAccounts);
                if (sibling != null)
                    ftpViewer.setSelection(new StructuredSelection(sibling));
            }
        }
    });

    ftpViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    updateButtons();
}

From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private Control createIncomingGroup(final CTabFolder parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    comp.setLayout(new GridLayout(1, false));
    Composite innerComp = new Composite(comp, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 0;//from   w  ww  . j a v a 2s  .c  o m
    layout.marginHeight = 20;
    innerComp.setLayout(layout);
    innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    Label label = new Label(innerComp, SWT.WRAP);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1));
    label.setText(Messages.PeerPreferencePage_incoming_msg);
    incomingViewer = new TableViewer(innerComp, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
    incomingViewer.getTable().setLinesVisible(true);
    incomingViewer.getTable().setHeaderVisible(true);
    incomingViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    final TableViewerColumn col1 = new TableViewerColumn(incomingViewer, SWT.NONE);
    col1.getColumn().setWidth(250);
    col1.getColumn().setText(Messages.PeerPreferencePage_calling_peer);
    col1.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());

    final TableViewerColumn col2 = new TableViewerColumn(incomingViewer, SWT.NONE);
    col2.getColumn().setWidth(250);
    col2.getColumn().setText(Messages.PeerPreferencePage_last_access);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof PeerDefinition)
                return nf.format(new Date(((PeerDefinition) element).getLastAccess()));
            return ""; //$NON-NLS-1$
        }
    });
    TableViewerColumn col3 = new TableViewerColumn(incomingViewer, SWT.NONE);
    col3.getColumn().setWidth(250);
    col3.getColumn().setText(Messages.PeerPreferencePage_last_op);
    col3.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof PeerDefinition)
                return ((PeerDefinition) element).getRightsLabel();
            return ""; //$NON-NLS-1$
        }

        @Override
        public Color getForeground(Object element) {
            if (element instanceof PeerDefinition)
                return ((PeerDefinition) element).isBlocked()
                        ? parent.getDisplay().getSystemColor(SWT.COLOR_RED)
                        : null;
            return super.getForeground(element);
        }
    });
    new SortColumnManager(incomingViewer, new int[] { SWT.UP, SWT.DOWN, SWT.NONE }, 1);
    incomingViewer.setContentProvider(ArrayContentProvider.getInstance());
    incomingViewer.setComparator(new ZViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 instanceof PeerDefinition && e2 instanceof PeerDefinition) {
                Table table = incomingViewer.getTable();
                int sortDirection = table.getSortDirection();
                TableColumn sortColumn = incomingViewer.getTable().getSortColumn();
                int result;
                if (sortColumn == table.getColumn(0))
                    result = UiUtilities.stringComparator.compare(((PeerDefinition) e1).getLocation(),
                            ((PeerDefinition) e2).getLocation());
                else {
                    long t1 = ((PeerDefinition) e1).getLastAccess();
                    long t2 = ((PeerDefinition) e2).getLastAccess();
                    result = t1 > t2 ? 1 : t1 < t2 ? -1 : 0;
                }
                return sortDirection == SWT.DOWN ? result : -result;
            }
            return super.compare(viewer, e1, e2);
        }

    });
    Composite buttonGroup = new Composite(innerComp, SWT.NONE);
    buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true));
    buttonGroup.setLayout(new GridLayout());
    Button clearButton = new Button(buttonGroup, SWT.PUSH);
    clearButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    clearButton.setText(Messages.PeerPreferencePage_clear);
    clearButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            @SuppressWarnings("unchecked")
            Collection<PeerDefinition> peers = (Collection<PeerDefinition>) incomingViewer.getInput();
            Iterator<PeerDefinition> it = peers.iterator();
            while (it.hasNext()) {
                PeerDefinition peerDefinition = it.next();
                if (!peerDefinition.isBlocked())
                    it.remove();
            }
            incomingViewer.setInput(peers);
        }
    });
    final Button blockButton = new Button(buttonGroup, SWT.PUSH);
    blockButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    blockButton.setText(Messages.PeerPreferencePage_toggle);
    blockButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = incomingViewer.getStructuredSelection();
            Object firstElement = sel.getFirstElement();
            if (firstElement instanceof PeerDefinition) {
                PeerDefinition peerDefinition = (PeerDefinition) firstElement;
                if (peerDefinition.isBlocked())
                    PeerActivator.getDefault().getBlockedNodes().remove(peerDefinition.getHost());
                else
                    PeerActivator.getDefault().getBlockedNodes().add(peerDefinition.getHost());
                PeerActivator.getDefault().writeBlockedNodes();
                incomingViewer.setInput(incomingViewer.getInput());
                incomingViewer.setSelection(sel);
            }
        }
    });
    blockButton.setEnabled(false);
    incomingViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            blockButton.setEnabled(!event.getSelection().isEmpty());
        }
    });

    return comp;
}

From source file:com.bdaum.zoom.peer.internal.preferences.PeerPreferencePage.java

License:Open Source License

@SuppressWarnings("unused")
private Control createPeerGroup(CTabFolder parent) {
    Composite comp = new Composite(parent, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    comp.setLayout(new GridLayout(1, false));
    Composite innerComp = new Composite(comp, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 0;/*  w w w  .  j  ava2 s. com*/
    layout.marginHeight = 20;
    innerComp.setLayout(layout);
    innerComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    Label label = new Label(innerComp, SWT.WRAP);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1));
    label.setText(Messages.PeerPreferencePage_network_geography);
    peerViewer = new TableViewer(innerComp, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL);
    peerViewer.getTable().setLinesVisible(true);
    peerViewer.getTable().setHeaderVisible(true);
    peerViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    TableViewerColumn col0 = new TableViewerColumn(peerViewer, SWT.NONE);
    col0.getColumn().setWidth(100);
    col0.getColumn().setText(Messages.PeerPreferencePage_nickname);
    col0.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof PeerDefinition) {
                String nick = ((PeerDefinition) element).getNickname();
                return nick == null ? "" : nick; //$NON-NLS-1$
            }
            return ""; //$NON-NLS-1$
        }
    });
    EditingSupport editingSupport = new EditingSupport(peerViewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof PeerDefinition && value instanceof PeerDefinition) {
                ((PeerDefinition) element).setHost(((PeerDefinition) value).getHost());
                ((PeerDefinition) element).setNickname(((PeerDefinition) value).getNickname());
                ((PeerDefinition) element).setPort(((PeerDefinition) value).getPort());
                peerViewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof PeerDefinition)
                return element;
            return null;
        }

        @Override
        protected CellEditor getCellEditor(final Object element) {
            if (element instanceof PeerDefinition) {
                return new DialogCellEditor(peerViewer.getTable()) {
                    @Override
                    protected Object openDialogBox(Control cellEditorWindow) {
                        PeerDefinitionDialog dialog = new PeerDefinitionDialog(cellEditorWindow.getShell(),
                                (PeerDefinition) element, true, false, false);
                        if (dialog.open() == Window.OK)
                            return dialog.getResult();
                        return null;
                    }
                };
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    };
    col0.setEditingSupport(editingSupport);

    TableViewerColumn col1 = new TableViewerColumn(peerViewer, SWT.NONE);
    col1.getColumn().setWidth(250);
    col1.getColumn().setText(Messages.PeerPreferencePage_peer_location);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof PeerDefinition)
                return ((PeerDefinition) element).getLocation();
            return ""; //$NON-NLS-1$
        }
    });
    col1.setEditingSupport(editingSupport);
    TableViewerColumn col2 = new TableViewerColumn(peerViewer, SWT.NONE);
    col2.getColumn().setWidth(150);
    col2.getColumn().setText(Messages.PeerPreferencePage_status);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof PeerDefinition)
                return PeerActivator.getDefault().isOnline((PeerDefinition) element)
                        ? Messages.PeerPreferencePage_online
                        : Messages.PeerPreferencePage_offline;
            return ""; //$NON-NLS-1$
        }
    });
    peerViewer.setContentProvider(ArrayContentProvider.getInstance());
    new SortColumnManager(peerViewer, new int[] { SWT.UP, SWT.UP, SWT.NONE }, 0);
    peerViewer.setComparator(ZViewerComparator.INSTANCE);
    Composite buttonGroup = new Composite(innerComp, SWT.NONE);
    buttonGroup.setLayoutData(new GridData(SWT.END, SWT.BEGINNING, false, true));
    buttonGroup.setLayout(new GridLayout());
    Button addButton = new Button(buttonGroup, SWT.PUSH);
    addButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    addButton.setText(Messages.PeerPreferencePage_add);
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            PeerDefinitionDialog dialog = new PeerDefinitionDialog(getShell(), null, true, false, false);
            if (dialog.open() == PeerDefinitionDialog.OK) {
                PeerDefinition newPeer = dialog.getResult();
                @SuppressWarnings("unchecked")
                List<PeerDefinition> peers = (List<PeerDefinition>) peerViewer.getInput();
                peers.add(newPeer);
                peerViewer.setInput(peers);
                peerViewer.setSelection(new StructuredSelection(newPeer));
            }
        }
    });
    final Button removeButton = new Button(buttonGroup, SWT.PUSH);
    removeButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    removeButton.setText(Messages.PeerPreferencePage_remove);
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = peerViewer.getStructuredSelection();
            Object firstElement = sel.getFirstElement();
            if (firstElement instanceof PeerDefinition) {
                @SuppressWarnings("unchecked")
                List<PeerDefinition> peers = (List<PeerDefinition>) peerViewer.getInput();
                peers.remove(firstElement);
                peerViewer.setInput(peers);
            }
        }
    });
    removeButton.setEnabled(false);
    peerViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeButton.setEnabled(!event.getSelection().isEmpty());
        }
    });

    return comp;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.AbstractSelectExhibitDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    GridLayout layout = (GridLayout) area.getLayout();
    layout.marginWidth = 1;/*from   w  ww .  j  av  a2 s  .  com*/
    layout.marginHeight = 1;
    viewer = new TableViewer(area, SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.VIRTUAL);
    viewer.getControl().setLayoutData(new GridData(200, 350));
    viewer.setContentProvider(new ILazyContentProvider() {
        public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            // do nothing
        }

        public void updateElement(int index) {
            viewer.replace(exhibits.get(index), index);
        }
    });
    viewer.setLabelProvider(new ColumnLabelProvider() {
        private Map<String, Image> thMap = new HashMap<String, Image>();

        @Override
        public String getText(Object element) {
            return AbstractSelectExhibitDialog.this.getText(element);
        }

        @Override
        public Font getFont(Object element) {
            return AbstractSelectExhibitDialog.this.getFont(element);
        }

        @Override
        public Image getImage(Object element) {
            String assetID = AbstractSelectExhibitDialog.this.getAssetId(element);
            if (assetID == null)
                return null;
            Image image = thMap.get(assetID);
            if (image == null) {
                ICore core = Core.getCore();
                AssetImpl asset = core.getDbManager().obtainAsset(assetID);
                if (asset != null) {
                    image = core.getImageCache().getImage(asset);
                    if (image != null) {
                        Rectangle bounds = image.getBounds();
                        double scale = ImageUtilities.computeScale(bounds.width, bounds.height, ICONWIDTH,
                                ICONWIDTH);
                        int newWidth = (int) (bounds.width * scale + 0.5d);
                        int newHeight = (int) (bounds.height * scale + 0.5d);
                        Image thumbnail = new Image(image.getDevice(), ICONWIDTH, ICONWIDTH);
                        GC gc = new GC(thumbnail);
                        try {
                            if (advanced) {
                                gc.setAntialias(SWT.ON);
                                gc.setInterpolation(SWT.HIGH);
                            }
                            gc.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY));
                            gc.fillRectangle(0, 0, ICONWIDTH, ICONWIDTH);
                            gc.drawImage(image, 0, 0, bounds.width, bounds.height, (ICONWIDTH - newWidth) / 2,
                                    (ICONWIDTH - newHeight) / 2, newWidth, newHeight);
                            image = thumbnail;
                        } finally {
                            gc.dispose();
                        }
                        thMap.put(assetID, image);
                    }
                }
            }
            return image;
        }

        @Override
        public void dispose() {
            for (Image image : thMap.values())
                image.dispose();
            thMap.clear();
            super.dispose();
        }
    });
    viewer.setInput(exhibits);
    viewer.setItemCount(exhibits.size());
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            processSelection();
        }
    });
    viewer.getControl().addKeyListener(new KeyAdapter() {
        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == '\r')
                processSelection();
        }
    });
    viewer.getControl().addFocusListener(new FocusListener() {
        @Override
        public void focusLost(FocusEvent e) {
            if (focusGained)
                cancelPressed();
        }

        @Override
        public void focusGained(FocusEvent e) {
            focusGained = true;
        }
    });
    viewer.getTable().pack();
    return area;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.AutoRuleComponent.java

License:Open Source License

@SuppressWarnings("unused")
public AutoRuleComponent(Composite parent, int style, IAdaptable info) {
    this.info = info;
    composite = new Composite(parent, SWT.NONE);
    Layout layout = parent.getLayout();//w  w  w .  ja v a  2  s  .  c o m
    if (layout instanceof GridLayout) {
        GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
        layoutData.horizontalSpan = ((GridLayout) layout).numColumns;
        composite.setLayoutData(layoutData);
    }
    composite.setLayout(new GridLayout());
    new Label(composite, SWT.NONE).setText(Messages.AutoRuleComponent_collections_expl);
    CGroup autoGroup = UiUtilities.createGroup(composite, 2, Messages.AutoRuleComponent_title);
    ruleViewer = new TableViewer(autoGroup, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL);
    TableViewerColumn col0 = new TableViewerColumn(ruleViewer, SWT.NONE);
    col0.getColumn().setText(Messages.AutoRuleComponent_name);
    col0.getColumn().setWidth(100);
    col0.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AutoRule)
                return ((AutoRule) element).getName();
            return element.toString();
        }
    });
    TableViewerColumn col1 = new TableViewerColumn(ruleViewer, SWT.NONE);
    col1.getColumn().setText(Messages.AutoRuleComponent_group);
    col1.getColumn().setWidth(180);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AutoRule)
                return ((AutoRule) element).getQfield().getCategory().toString();
            return element.toString();
        }
    });
    TableViewerColumn col2 = new TableViewerColumn(ruleViewer, SWT.NONE);
    col2.getColumn().setText(Messages.AutoRuleComponent_field);
    col2.getColumn().setWidth(220);
    col2.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AutoRule)
                return ((AutoRule) element).getQfield().getLabel();
            return element.toString();
        }
    });
    TableViewerColumn col3 = new TableViewerColumn(ruleViewer, SWT.NONE);
    col3.getColumn().setText(Messages.AutoRuleComponent_type);
    col3.getColumn().setWidth(160);
    col3.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AutoRule) {
                AutoRule rule = (AutoRule) element;
                if (rule.hasCustomIntervals())
                    return Messages.AutoRuleComponent_custom;
                QueryField qfield = rule.getQfield();
                switch (qfield.getAutoPolicy()) {
                case QueryField.AUTO_DISCRETE:
                    if (qfield.getEnumeration() != null)
                        return Messages.AutoRuleComponent_enum;
                    if (qfield.getType() == QueryField.T_BOOLEAN)
                        return Messages.AutoRuleComponent_bool;
                    return Messages.AutoRuleComponent_discrete;
                case QueryField.AUTO_LINEAR:
                    return Messages.AutoRuleComponent_linear;
                case QueryField.AUTO_LOG:
                    return Messages.AutoRuleComponent_exp;
                case QueryField.AUTO_CONTAINS:
                    return Messages.AutoRuleComponent_arbitrary;
                case QueryField.AUTO_SELECT:
                    return Messages.AutoRuleComponent_multiple;
                }
            }
            return element.toString();
        }
    });
    TableViewerColumn col4 = new TableViewerColumn(ruleViewer, SWT.NONE);
    col4.getColumn().setText(Messages.AutoRuleComponent_parms);
    col4.getColumn().setWidth(220);
    col4.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof AutoRule) {
                AutoRule rule = (AutoRule) element;
                QueryField qfield = rule.getQfield();
                switch (qfield.getAutoPolicy()) {
                case QueryField.AUTO_CONTAINS:
                case QueryField.AUTO_SELECT:
                    return rule.getValueSpec();
                case QueryField.AUTO_DISCRETE:
                    if (qfield.getEnumeration() != null)
                        return rule.getEnumerationSpec();
                    if (qfield.getType() == QueryField.T_BOOLEAN)
                        return Format.booleanFormatter.toString(Boolean.parseBoolean(rule.getBooleanSpec()));
                    //$FALL-THROUGH$
                default:
                    return rule.getIntervalSpec();
                }
            }
            return element.toString();
        }
    });

    ruleViewer.getTable().setHeaderVisible(true);
    ruleViewer.getTable().setLinesVisible(true);
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = (style & SWT.SHORT) != 0 ? 150 : 300;
    ruleViewer.getTable().setLayoutData(layoutData);
    ruleViewer.setContentProvider(ArrayContentProvider.getInstance());
    new SortColumnManager(ruleViewer, new int[] { SWT.UP, SWT.UP, SWT.UP, SWT.NONE, SWT.NONE }, 0);
    ruleViewer.setComparator(ZViewerComparator.INSTANCE);
    ruleViewer.getControl().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.CTRL)
                cntrlDwn = true;
        }

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.keyCode == SWT.CTRL)
                cntrlDwn = false;
        }
    });
    ruleViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
            if (cntrlDwn) {
                if (editAutoButton.isEnabled())
                    editRule();
                cntrlDwn = false;
            }
        }
    });
    ruleViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            if (!cntrlDwn && editAutoButton.isEnabled())
                editRule();
        }
    });
    ruleViewer.setInput(autoRules);
    Composite autoButtonBar = new Composite(autoGroup, SWT.NONE);
    autoButtonBar.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
    autoButtonBar.setLayout(new GridLayout(1, false));
    addAutoButton = new Button(autoButtonBar, SWT.PUSH);
    addAutoButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    addAutoButton.setText(Messages.AutoRuleComponent_add);
    addAutoButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            AutoRuleDialog dialog = new AutoRuleDialog(parent.getShell(), null, autoRules);
            if (dialog.open() == AutoRuleDialog.OK) {
                AutoRule rule = dialog.getRule();
                autoRules.add(rule);
                ruleViewer.add(rule);
                ruleViewer.setSelection(new StructuredSelection(rule));
                fillAccelViewer();
                updateButtons();
            }
        }
    });
    editAutoButton = new Button(autoButtonBar, SWT.PUSH);
    editAutoButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    editAutoButton.setText(Messages.AutoRuleComponent_edit);
    editAutoButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            editRule();
        }
    });
    removeAutoButton = new Button(autoButtonBar, SWT.PUSH);
    removeAutoButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    removeAutoButton.setText(Messages.AutoRuleComponent_remove);
    removeAutoButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            @SuppressWarnings("unchecked")
            Iterator<AutoRule> it = ruleViewer.getStructuredSelection().iterator();
            while (it.hasNext()) {
                AutoRule rule = it.next();
                int index = autoRules.indexOf(rule);
                autoRules.remove(rule);
                if (index >= autoRules.size())
                    --index;
                ruleViewer.remove(rule);
                if (index >= 0)
                    ruleViewer.setSelection(new StructuredSelection(autoRules.get(index)));
            }
            fillAccelViewer();
            updateButtons();
        }
    });
    new Label(autoButtonBar, SWT.SEPARATOR | SWT.HORIZONTAL)
            .setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    applyButton = new Button(autoButtonBar, SWT.PUSH);
    applyButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    applyButton.setText(Messages.AutoRuleComponent_apply);
    applyButton.setToolTipText(Messages.AutoRuleComponent_apply_tooltip);
    applyButton.addSelectionListener(new SelectionAdapter() {
        @SuppressWarnings("unchecked")
        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = ruleViewer.getStructuredSelection();
            if (!sel.isEmpty())
                OperationJob.executeSlaveOperation(
                        new AutoRuleOperation(new ArrayList<AutoRule>(sel.toList()), null, null), info, false);
        }
    });
    CGroup accelGroup = UiUtilities.createGroup(composite, 1, Messages.AutoRuleComponent_accel_candidates);
    new Label(accelGroup, SWT.WRAP).setText(Messages.AutoRuleComponent_accel_msg);
    accelViewer = CheckboxTableViewer.newCheckList(accelGroup, SWT.V_SCROLL | SWT.BORDER);
    accelViewer.getTable().setLayoutData(new GridData(400, (style & SWT.SHORT) != 0 ? 50 : 80));
    accelViewer.setContentProvider(ArrayContentProvider.getInstance());
    accelViewer.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof QueryField)
                return ((QueryField) element).getLabel();
            return element.toString();
        }
    });
    accelViewer.setComparator(ZViewerComparator.INSTANCE);
    updateButtons();
}

From source file:com.bdaum.zoom.ui.internal.dialogs.CodesDialog.java

License:Open Source License

@SuppressWarnings("unused")
private void createRecentViewer(Composite composite) {
    recentViewer = new TableViewer(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    layoutData.heightHint = 100;//w w  w . j  a  v a2 s  .c  om
    recentViewer.getTable().setLayoutData(layoutData);
    recentViewer.getTable().setLinesVisible(true);
    recentViewer.getTable().setHeaderVisible(true);
    if (!parser.isByName())
        createTableColumn(recentViewer, 120, Messages.CodesDialog_code, 0);
    createTableColumn(recentViewer, 150, Messages.CodesDialog_name, 1);
    createTableColumn(recentViewer, 300, Messages.CodesDialog_explanation, 2);
    recentViewer.setContentProvider(ArrayContentProvider.getInstance());
    if (parser.isByName())
        new SortColumnManager(recentViewer, new int[] { SWT.UP, SWT.UP }, 0);
    else
        new SortColumnManager(recentViewer, new int[] { SWT.UP, SWT.UP, SWT.UP }, 1);
    recentViewer.setComparator(ZViewerComparator.INSTANCE);
    recentViewer.setFilters(new ViewerFilter[] { new TopicFilter(false, exclusions) });
    recentViewer.addSelectionChangedListener(selectionChangedListener);
    recentViewer.addDoubleClickListener(doubleClickListener);
    ZColumnViewerToolTipSupport.enableFor(recentViewer);
}

From source file:com.bdaum.zoom.ui.internal.dialogs.CodesDialog.java

License:Open Source License

@SuppressWarnings("unused")
private void createTopicViewer(Composite composite) {
    ExpandCollapseGroup expandCollapseGroup = null;
    if (parser.hasSubtopics()) {
        expandCollapseGroup = new ExpandCollapseGroup(composite, SWT.NONE);
        TreeViewer treeViewer = new TreeViewer(composite,
                SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
        expandCollapseGroup.setViewer((TreeViewer) topicViewer);
        treeViewer.getTree().setLinesVisible(true);
        treeViewer.getTree().setHeaderVisible(true);
        if (!parser.isByName())
            createTreeColumn(treeViewer, 120, Messages.CodesDialog_code, 0);
        createTreeColumn(treeViewer, 150, Messages.CodesDialog_name, 1);
        createTreeColumn(treeViewer, 300, Messages.CodesDialog_explanation, 2);
        UiUtilities.installDoubleClickExpansion(treeViewer);
        topicViewer = treeViewer;//  w w  w.java2 s  .  c  o m
    } else {
        new Label(composite, SWT.NONE);
        TableViewer tableViewer = new TableViewer(composite,
                SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
        tableViewer.getTable().setLinesVisible(true);
        tableViewer.getTable().setHeaderVisible(true);
        if (!parser.isByName())
            createTableColumn(tableViewer, 120, Messages.CodesDialog_code, 0);
        createTableColumn(tableViewer, 150, Messages.CodesDialog_name, 1);
        createTableColumn(tableViewer, 300, Messages.CodesDialog_explanation, 2);
        tableViewer.addDoubleClickListener(doubleClickListener);
        topicViewer = tableViewer;
    }
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
    layoutData.heightHint = 300;
    topicViewer.getControl().setLayoutData(layoutData);
    topicViewer.setContentProvider(new TopicContentProvider());
    if (parser.isByName())
        new SortColumnManager(recentViewer, new int[] { SWT.UP, SWT.UP }, 0);
    else
        new SortColumnManager(recentViewer, new int[] { SWT.UP, SWT.UP, SWT.UP }, 1);
    topicViewer.setComparator(ZViewerComparator.INSTANCE);
    topicViewer.setFilters(new ViewerFilter[] { new TopicFilter(true, exclusions) });
    topicViewer.addSelectionChangedListener(selectionChangedListener);
    ZColumnViewerToolTipSupport.enableFor(topicViewer);
}

From source file:com.bdaum.zoom.ui.internal.dialogs.ConfigureColumnsDialog.java

License:Open Source License

private TableViewer createColumnTable(Composite composite) {
    final TableViewer viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();//  ww  w .j  av  a2 s .  com
        }
    });
    return viewer;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.DesignSelectionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite comp = new Composite(area, SWT.NONE);
    comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    comp.setLayout(new GridLayout(2, false));
    Composite viewComp = new Composite(comp, SWT.NONE);
    viewComp.setLayout(new GridLayout());
    viewComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer = new TableViewer(viewComp, SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = 200;/*from w  ww.  j  av  a 2 s .co m*/
    viewer.getControl().setLayoutData(data);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof WebGalleryImpl)
                return ((WebGalleryImpl) element).getName();
            return element.toString();
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updatedButtons();
            canvas.redraw();
        }
    });
    viewer.setInput(elements);
    clearButton = new Button(viewComp, SWT.PUSH);
    clearButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    clearButton.setText(Messages.DesignSelectionDialog_delete);
    clearButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = viewer.getStructuredSelection();
            Object first = selection.getFirstElement();
            if (first instanceof WebGalleryImpl) {
                String name = ((WebGalleryImpl) first).getName();
                if (AcousticMessageDialog.openConfirm(getShell(), Messages.DesignSelectionDialog_delete_design,
                        NLS.bind(Messages.DesignSelectionDialog_do_you_really_want_to_delete, name))) {
                    viewer.remove(first);
                    dbManager.safeTransaction(first, null);
                }
            }
        }
    });
    Composite previewComp = new Composite(comp, SWT.NONE);
    previewComp.setLayout(new GridLayout());
    canvas = new Canvas(previewComp, SWT.DOUBLE_BUFFERED | SWT.BORDER);
    canvas.setLayoutData(new GridData(300, 300));
    canvas.addPaintListener(this);
    canvas.redraw();
    return area;
}