Example usage for org.eclipse.jface.viewers Viewer getControl

List of usage examples for org.eclipse.jface.viewers Viewer getControl

Introduction

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

Prototype

public abstract Control getControl();

Source Link

Document

Returns the primary control associated with this viewer.

Usage

From source file:actions.RenameAction.java

License:Open Source License

public void setActivePart(IAction action, IWorkbenchPart page) {
    navigatorTree = null;/*  ww  w . j av  a2s  . c o  m*/
    if (page instanceof IViewerProvider) {
        Viewer viewer = ((IViewerProvider) page).getViewer();
        if (viewer.getControl() instanceof Tree) {
            RenameAction.this.navigatorTree = (Tree) viewer.getControl();
            RenameAction.this.treeEditor = new TreeEditor(RenameAction.this.navigatorTree);
        }
    }
    RenameEObjectSet renameEObjectSet = (RenameEObjectSet) page.getAdapter(RenameEObjectSet.class);
    if (renameEObjectSet != null) {
        ALLOWED_TYPES = renameEObjectSet.getTypes();
    } else
        ALLOWED_TYPES = null;
}

From source file:at.medevit.elexis.gdt.ui.table.util.SortColumnComparator.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from   w  ww  .ja v a2  s  .c  o  m*/
public int compare(Viewer viewer, Object e1, Object e2) {

    Table table = (Table) viewer.getControl();

    // exchange values for descending sort direction
    if (table.getSortDirection() == SWT.DOWN) {
        Object tmp = e1;
        e1 = e2;
        e2 = tmp;
    }

    // resolve SORT_BY data value
    TableColumn column = table.getSortColumn();
    if (column == null)
        return super.compare(viewer, e1, e2);

    IValue sortBy = (IValue) column.getData(SORT_BY);

    if (sortBy == null)
        return super.compare(viewer, e1, e2);

    // compare using the SORT_BY value
    Object v1 = sortBy.getValue(e1);
    Object v2 = sortBy.getValue(e2);
    if (v1 instanceof Comparable && v2 instanceof Comparable) {
        return ((Comparable) v1).compareTo(v2);
    }

    // fallback on default ViewerComparator behaviour
    return super.compare(viewer, e1, e2);

}

From source file:au.gov.ga.earthsci.discovery.ui.DiscoveryResultContentProvider.java

License:Apache License

private static void refreshViewer(final Viewer viewer) {
    if (viewer != null && !viewer.getControl().isDisposed()) {
        viewer.getControl().getDisplay().asyncExec(new Runnable() {
            @Override//from  w  ww.j a  v a 2 s  .co m
            public void run() {
                if (!viewer.getControl().isDisposed()) {
                    viewer.refresh();
                }
            }
        });
    }
}

From source file:ca.uvic.chisel.javasketch.ui.internal.presentation.JavaThreadSequenceView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    filterImages = new ImageDescriptor[4];
    ImageRegistry reg = SketchPlugin.getDefault().getImageRegistry();
    filterImages[0] = reg.getDescriptor(ISketchImageConstants.ICON_ELEMENT_VISIBLE);
    filterImages[1] = reg.getDescriptor(ISketchImageConstants.ICON_ELEMENT_VISIBLE + "2-3");
    filterImages[2] = reg.getDescriptor(ISketchImageConstants.ICON_ELEMENT_VISIBLE + "1-3");
    filterImages[3] = reg.getDescriptor(ISketchImageConstants.ICON_ELEMENT_FILTERED);
    Composite page = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    page.setLayout(layout);/*from   ww w  .j  a  v a  2 s.c om*/

    breadcrumb = new BreadCrumbViewer(page, SWT.BORDER);
    breadcrumb.setContentProvider(new BreadCrumbContentProvider());
    breadcrumb.setLabelProvider(new TraceThreadLabelProvider());

    breadcrumb.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));

    viewer = new UMLSequenceViewer(page, SWT.V_SCROLL | SWT.H_SCROLL | SWT.VIRTUAL);

    viewer.setUseHashlookup(true);
    viewer.setContentProvider(new TraceThreadContentProvider());
    viewer.setLabelProvider(new TraceThreadLabelProvider());
    viewer.setMessageGrouper(new ASTMessageGrouper());
    viewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            boolean reconFilter = SketchPlugin.getDefault().getPreferenceStore()
                    .getBoolean(ISketchPluginPreferences.DIAGRAM_RECON_HIDE);

            if (reconFilter && enableReconnaissanceAction.isChecked() && element instanceof ICall) {
                ICall call = (ICall) element;
                double interest = SketchPlugin.getDefault().getDOI().getInterest(call);
                if (interest < .3) {
                    return false;
                }
            }
            return true;
        }
    });
    internalSelectionListener = new InternalSelectionChangedListener();

    viewer.addSelectionChangedListener(internalSelectionListener);

    viewer.getControl().addMouseListener(new NavigateToCodeListener());
    viewer.getControl().setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    presentationListener = new PresentationListener();
    viewer.addSequenceListener(presentationListener);

    new BreadCrumbHook(breadcrumb, viewer);
    createTimeRange(page, thread);

    viewer.setInput(thread);

    createActions();
    createContextMenu();
    getViewSite().getActionBars().getToolBarManager().add(enableReconnaissanceAction);
    getViewSite().getActionBars().getMenuManager().add(toggleReconFilterAction);
    //add the drop-down menu
    IMenuManager manager = getViewSite().getActionBars().getMenuManager();
    manager.add(new Separator("presentation"));

    getViewSite().getPage().addSelectionListener(javaSelectionListener);
    selectionProvider = new InternalSelectionProvider();
    getViewSite().setSelectionProvider(selectionProvider);
    sketchListener = new ISketchEventListenerImplementation();
    SketchPlugin.getDefault().addSketchEventListener(sketchListener);
    SketchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(preferenceListener);

}

From source file:com.amalto.workbench.dialogs.AnnotationOrderedListsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {

    // Should not really be here but well,....

    parent.getShell().setText(this.title);

    Composite composite = (Composite) super.createDialogArea(parent);

    GridLayout layout = (GridLayout) composite.getLayout();
    layout.numColumns = 3;//from   www.  j  a v  a2  s  .c  om
    layout.makeColumnsEqualWidth = false;
    // layout.verticalSpacing = 10;

    if (actionType == AnnotationWrite_ActionType || actionType == AnnotationHidden_ActionType) {
        textControl = new CCombo(composite, SWT.BORDER | SWT.READ_ONLY);

        // roles=Util.getCachedXObjectsNameSet(this.xObject, TreeObject.ROLE);
        roles = getAllRolesStr();
        ((CCombo) textControl).setItems(roles.toArray(new String[roles.size()]));

    } else if (actionType == AnnotationLookupField_ActionType
            || actionType == AnnotationPrimaKeyInfo_ActionType) {
        textControl = new CCombo(composite, SWT.BORDER | SWT.READ_ONLY);

        // roles=Util.getCachedXObjectsNameSet(this.xObject, TreeObject.ROLE);
        roles = getConceptElements();
        ((CCombo) textControl).setItems(roles.toArray(new String[roles.size()]));

    } else {
        if (actionType == AnnotationOrderedListsDialog.AnnotationSchematron_ActionType) {
            textControl = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
        } else {
            textControl = new Text(composite, SWT.BORDER | SWT.SINGLE);
        }
    }

    if (actionType == AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType) {
        textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    } else {
        if (actionType == AnnotationOrderedListsDialog.AnnotationSchematron_ActionType) {
            textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 7));
        } else {
            textControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
        }
    }

    ((GridData) textControl.getLayoutData()).minimumWidth = 400;

    textControl.addKeyListener(new KeyListener() {

        public void keyPressed(KeyEvent e) {
        }

        public void keyReleased(KeyEvent e) {
            if ((e.stateMask == 0) && (e.character == SWT.CR)) {
                xPaths.add(AnnotationOrderedListsDialog.getControlText(textControl));
                viewer.refresh();
                fireXPathsChanges();
            }
        }
    });

    if (actionType == AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType) {
        Button xpathButton = new Button(composite, SWT.PUSH | SWT.CENTER);
        xpathButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));
        xpathButton.setText("...");//$NON-NLS-1$
        xpathButton.setToolTipText(Messages.AnnotationOrderedListsDialog_SelectXpath);
        xpathButton.addSelectionListener(new SelectionListener() {

            public void widgetDefaultSelected(SelectionEvent e) {

            }

            public void widgetSelected(SelectionEvent e) {
                XpathSelectDialog dlg = getNewXpathSelectDialog(parentPage, dataModelName);

                dlg.setLock(lock);

                dlg.setBlockOnOpen(true);

                dlg.open();

                if (dlg.getReturnCode() == Window.OK) {
                    ((Text) textControl).setText(dlg.getXpath());
                    dlg.close();
                }

            }

        });

    }

    Button addLabelButton = new Button(composite, SWT.PUSH);
    addLabelButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    // addLabelButton.setText("Set");
    addLabelButton.setImage(ImageCache.getCreatedImage(EImage.ADD_OBJ.getPath()));
    addLabelButton.setToolTipText(Messages.AnnotationOrderedListsDialog_Add);
    addLabelButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
        };

        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            boolean exist = false;
            for (String string : xPaths) {
                if (string.equals(getControlText(textControl))) {
                    exist = true;
                }
            }
            if (!exist && getControlText(textControl) != null && getControlText(textControl) != "") {
                xPaths.add(getControlText(textControl));
            }
            viewer.refresh();
            fireXPathsChanges();
        };
    });

    final String COLUMN = columnName;

    viewer = new TableViewer(composite,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    ((GridData) viewer.getControl().getLayoutData()).heightHint = 100;
    // Set up the underlying table
    Table table = viewer.getTable();
    // table.setLayoutData(new GridData(GridData.FILL_BOTH));

    new TableColumn(table, SWT.CENTER).setText(COLUMN);
    table.getColumn(0).setWidth(500);
    for (int i = 1, n = table.getColumnCount(); i < n; i++) {
        table.getColumn(i).pack();
    }

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    // Create the cell editors --> We actually discard those later: not natural for an user
    CellEditor[] editors = new CellEditor[1];
    if (actionType == AnnotationOrderedListsDialog.AnnotationWrite_ActionType
            || actionType == AnnotationOrderedListsDialog.AnnotationHidden_ActionType
            || actionType == AnnotationLookupField_ActionType
            || actionType == AnnotationPrimaKeyInfo_ActionType) {
        editors[0] = new ComboBoxCellEditor(table, roles.toArray(new String[] {}), SWT.READ_ONLY);
    } else {
        editors[0] = new TextCellEditor(table);
    }

    viewer.setCellEditors(editors);

    // set the content provider
    viewer.setContentProvider(new IStructuredContentProvider() {

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public Object[] getElements(Object inputElement) {
            @SuppressWarnings("unchecked")
            ArrayList<String> xPaths = (ArrayList<String>) inputElement;
            ArrayList<DescriptionLine> lines = new ArrayList<DescriptionLine>();
            for (String xPath : xPaths) {
                DescriptionLine line = new DescriptionLine(xPath);
                lines.add(line);
            }
            // we return an instance line made of a Sring and a boolean
            return lines.toArray(new DescriptionLine[lines.size()]);
        }
    });

    // set the label provider
    viewer.setLabelProvider(new ITableLabelProvider() {

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void removeListener(ILabelProviderListener listener) {
        }

        public String getColumnText(Object element, int columnIndex) {
            // System.out.println("getColumnText() "+columnIndex);
            DescriptionLine line = (DescriptionLine) element;
            switch (columnIndex) {
            case 0:
                return line.getLabel();
            }
            return "";//$NON-NLS-1$
        }

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }
    });

    // Set the column properties
    viewer.setColumnProperties(new String[] { COLUMN });

    // set the Cell Modifier
    viewer.setCellModifier(new ICellModifier() {

        public boolean canModify(Object element, String property) {
            // if (INSTANCE_ACCESS.equals(property)) return true; Deactivated
            return true;
            // return false;
        }

        public void modify(Object element, String property, Object value) {

            TableItem item = (TableItem) element;
            DescriptionLine line = (DescriptionLine) item.getData();
            String orgValue = line.getLabel();
            if (actionType != AnnotationWrite_ActionType && actionType != AnnotationHidden_ActionType
                    && actionType != AnnotationLookupField_ActionType
                    && actionType != AnnotationPrimaKeyInfo_ActionType) {
                int targetPos = xPaths.indexOf(value.toString());
                if (targetPos < 0) {
                    line.setLabel(value.toString());
                    int index = xPaths.indexOf(orgValue);
                    xPaths.remove(index);
                    xPaths.add(index, value.toString());
                    viewer.update(line, null);
                } else if (targetPos >= 0 && !value.toString().equals(orgValue)) {
                    MessageDialog.openInformation(null, Messages.Warning,
                            Messages.AnnotationOrderedListsDialog_ValueAlreadyExists);
                }
            } else {

                String[] attrs = roles.toArray(new String[] {});
                int index = Integer.parseInt(value.toString());
                if (index == -1) {
                    return;
                }
                value = attrs[index];
                int pos = xPaths.indexOf(value.toString());
                if (pos >= 0 && !(orgValue.equals(value))) {
                    MessageDialog.openInformation(null, Messages.Warning,
                            Messages.AnnotationOrderedListsDialog_);
                    return;
                } else if (pos < 0) {
                    line.setLabel(value.toString());
                    xPaths.set(index, value.toString());
                    viewer.update(line, null);
                }
            }

            fireXPathsChanges();
        }

        public Object getValue(Object element, String property) {
            DescriptionLine line = (DescriptionLine) element;
            String value = line.getLabel();

            if (actionType == AnnotationWrite_ActionType || actionType == AnnotationHidden_ActionType
                    || actionType == AnnotationLookupField_ActionType
                    || actionType == AnnotationPrimaKeyInfo_ActionType) {
                String[] attrs = roles.toArray(new String[] {});
                return Arrays.asList(attrs).indexOf(value);
            } else {
                return value;
            }

        }
    });

    // Listen for changes in the selection of the viewer to display additional parameters
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection())
                    .getFirstElement();
            if (line != null) {
                if (textControl instanceof CCombo) {
                    ((CCombo) textControl).setText(line.getLabel());
                }
                if (textControl instanceof Text) {
                    ((Text) textControl).setText(line.getLabel());
                }
            }
        }
    });

    // display for Delete Key events to delete an instance
    viewer.getTable().addKeyListener(new KeyListener() {

        public void keyPressed(KeyEvent e) {
        }

        public void keyReleased(KeyEvent e) {
            // System.out.println("Table keyReleased() ");
            if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) {
                DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection())
                        .getFirstElement();
                @SuppressWarnings("unchecked")
                ArrayList<String> xPaths = (ArrayList<String>) viewer.getInput();
                xPaths.remove(line.getLabel());
                viewer.refresh();
            }
        }
    });

    viewer.setInput(xPaths);
    viewer.refresh();

    Composite rightButtonsComposite = new Composite(composite, SWT.NULL);
    rightButtonsComposite.setLayout(new GridLayout(1, true));
    rightButtonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));

    Button upButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER);
    upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));
    upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath()));
    upButton.setToolTipText(Messages.AnnotationOrderedListsDialog_MoveUpTheItem);
    upButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
        };

        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection())
                    .getFirstElement();
            if (line == null) {
                return;
            }
            int i = 0;
            for (String xPath : xPaths) {
                if (xPath.equals(line.getLabel())) {
                    if (i > 0) {
                        xPaths.remove(i);
                        xPaths.add(i - 1, xPath);
                        viewer.refresh();
                        viewer.getTable().setSelection(i - 1);
                        viewer.getTable().showSelection();
                        fireXPathsChanges();
                    }
                    return;
                }
                i++;
            }
        };
    });
    Button downButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER);
    downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));
    downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath()));
    downButton.setToolTipText(Messages.AnnotationOrderedListsDialog_MoveDownTheItem);
    downButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
        };

        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection())
                    .getFirstElement();
            if (line == null) {
                return;
            }
            int i = 0;
            for (String xPath : xPaths) {
                if (xPath.equals(line.getLabel())) {
                    if (i < xPaths.size() - 1) {
                        xPaths.remove(i);
                        xPaths.add(i + 1, xPath);
                        viewer.refresh();
                        viewer.getTable().setSelection(i + 1);
                        viewer.getTable().showSelection();
                        fireXPathsChanges();
                    }
                    return;
                }
                i++;
            }
        };
    });
    Button delButton = new Button(rightButtonsComposite, SWT.PUSH | SWT.CENTER);
    delButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true, 1, 1));
    delButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath()));
    delButton.setToolTipText(Messages.AnnotationOrderedListsDialog_DelTheItem);

    delButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
        };

        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            DescriptionLine line = (DescriptionLine) ((IStructuredSelection) viewer.getSelection())
                    .getFirstElement();
            if (line != null) {
                @SuppressWarnings("unchecked")
                ArrayList<String> xPaths = (ArrayList<String>) viewer.getInput();
                xPaths.remove(line.getLabel());
                viewer.refresh();
                fireXPathsChanges();
            }
        };
    });

    textControl.setFocus();
    if (actionType != AnnotationOrderedListsDialog.AnnotationForeignKeyInfo_ActionType
            && actionType != AnnotationOrderedListsDialog.AnnotationTargetSystems_ActionType
            && actionType != AnnotationOrderedListsDialog.AnnotationSchematron_ActionType
            && actionType != AnnotationOrderedListsDialog.AnnotationLookupField_ActionType
            && actionType != AnnotationOrderedListsDialog.AnnotationPrimaKeyInfo_ActionType) {
        checkBox = new Button(composite, SWT.CHECK);
        checkBox.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true, 2, 1));
        checkBox.addSelectionListener(new SelectionListener() {

            public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
            };

            public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
                recursive = checkBox.getSelection();
            };
        });
        checkBox.setSelection(recursive);
        checkBox.setText(Messages.AnnotationOrderedListsDialog_SetRoleRecursively);
        // Label label = new Label(composite, SWT.LEFT);
        // label.setText("set role recursively");
        // label.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, true,
        // 1, 1));
    }

    if (actionType == AnnotationForeignKeyInfo_ActionType) {
        createFKInfoFormatComp(composite);
        addDoubleClickListener();
    }

    return composite;
}

From source file:com.amitinside.e4.rcp.todo.parts.TodoOverviewPart.java

License:Apache License

@PostConstruct
public void createControls(Composite parent, final MWindow window, EMenuService menuService) {
    applyGridLayout(parent).numColumns(1);

    btnNewButton = new Button(parent, SWT.PUSH);
    btnNewButton.addSelectionListener(new SelectionAdapter() {
        @Override/*  ww w  .  j  a va  2  s.c o  m*/
        public void widgetSelected(SelectionEvent e) {
            final Job job = new Job("loading") {
                @Override
                protected IStatus run(IProgressMonitor monitor) {
                    final List<Todo> list = model.getTodos();
                    broker.post(LOCAL_EVENT_FINISH, list);
                    return Status.OK_STATUS;
                }
            };
            job.schedule();
        }
    });
    btnNewButton.setText("Load Data");

    final Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH);

    // Assuming that GridLayout is used
    search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    search.setMessage("Filter");

    // Filter at every keystroke
    search.addModifyListener(new ModifyListener() {
        @Override
        public void modifyText(ModifyEvent e) {
            final Text source = (Text) e.getSource();
            searchString = source.getText();
            // Trigger update in the viewer
            viewer.refresh();
        }
    });

    // SWT.SEARCH | SWT.CANCEL not supported under Windows7
    // This does not work under Windows7
    search.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            if (e.detail == SWT.CANCEL) {
                final Text text = (Text) e.getSource();
                text.setText("");
                //
            }
        }
    });

    viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    final Table table = viewer.getTable();
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    final TableViewerColumn colSummary = new TableViewerColumn(viewer, SWT.NONE);

    colSummary.getColumn().setWidth(100);
    colSummary.getColumn().setText("Summary");

    colSummary.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            final Todo todo = (Todo) element;
            todo.setSummary(String.valueOf(value));
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            final Todo todo = (Todo) element;
            return todo.getSummary();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable(), SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });
    final TableViewerColumn colDescription = new TableViewerColumn(viewer, SWT.NONE);

    colDescription.getColumn().setWidth(200);
    colDescription.getColumn().setText("Description");

    // We search in the summary and description field
    viewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            final Todo todo = (Todo) element;
            return todo.getSummary().contains(searchString) || todo.getDescription().contains(searchString)
                    || todo.getNote().contains(searchString);
        }
    });

    final TableViewerColumn colNotes = new TableViewerColumn(viewer, SWT.NONE);
    colNotes.getColumn().setWidth(50);
    colNotes.getColumn().setText("Notes");

    colNotes.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            final Todo todo = (Todo) element;
            todo.setNote(String.valueOf(value));
            viewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            final Todo todo = (Todo) element;
            return todo.getNote();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(viewer.getTable(), SWT.NONE);
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            service.setSelection(selection.getFirstElement());
        }
    });
    menuService.registerContextMenu(viewer.getControl(), "com.amitinside.e4.rcp.todo.popupmenu.table");
    writableList = new WritableList(model.getTodos(), Todo.class);
    ViewerSupport.bind(viewer, writableList, BeanProperties
            .values(new String[] { Todo.FIELD_SUMMARY, Todo.FIELD_DESCRIPTION, Todo.FIELD_NOTE }));

}

From source file:com.aptana.theme.internal.ControlThemerFactory.java

License:Open Source License

public void apply(Viewer viewer) {
    if (viewer instanceof TreeViewer) {
        // If a themer already exists for the control, just return it
        IControlThemer themer = themers.get(viewer.getControl());
        if (themer != null) {
            return;
        }/*w  w  w. java2s. c  om*/

        // No themer exists, create a new one
        themer = new TreeThemer((TreeViewer) viewer);
        synchronized (themers) {
            themers.put(viewer.getControl(), themer);
        }
        themer.apply();
    }
    if (viewer instanceof TextViewer) {
        // If a themer already exists for the control, just return it
        IControlThemer themer = themers.get(viewer.getControl());
        if (themer != null) {
            return;
        }

        // No themer exists, create a new one
        themer = new TextViewerThemer((TextViewer) viewer);
        synchronized (themers) {
            themers.put(viewer.getControl(), themer);
        }
        themer.apply();
    } else {
        apply(viewer.getControl());
    }
}

From source file:com.aptana.theme.internal.ControlThemerFactory.java

License:Open Source License

public void dispose(Viewer viewer) {
    dispose(viewer.getControl());
}

From source file:com.arm.cmsis.pack.installer.ui.CpInstallerPlugInUI.java

License:Open Source License

void updateStatusLineAndButton(boolean online) {
    final boolean connectionStateChanged = isOnline != online;
    if (!connectionStateChanged) {
        return;//from   w w  w . j  a va 2  s.c o  m
    }
    isOnline = online;
    Display.getDefault().asyncExec(new Runnable() {
        @Override
        public void run() {
            IEvaluationService evaludationService = (IEvaluationService) PlatformUI.getWorkbench()
                    .getActiveWorkbenchWindow().getService(IEvaluationService.class);
            evaludationService.requestEvaluation("com.arm.cmsis.pack.installer.ui.onlineTest"); //$NON-NLS-1$

            Iterator<ViewPart> iter = viewParts.iterator();
            while (iter.hasNext()) {
                ViewPart viewPart = iter.next();
                IStatusLineManager mgr = viewPart.getViewSite().getActionBars().getStatusLineManager();
                if (online) {
                    mgr.setErrorMessage(null);
                    mgr.setMessage(Messages.CpInstallerPlugInUI_ONLINE);
                } else {
                    mgr.setErrorMessage(Messages.CpInstallerPlugInUI_OFFLINE);
                }
                Viewer viewer = (Viewer) viewPart.getAdapter(Viewer.class);
                if (connectionStateChanged && viewer != null && !viewer.getControl().isDisposed()) {
                    viewer.refresh();
                }
            }
        }
    });
}

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

License:Open Source License

@SuppressWarnings("unused")
@Override/*from   ww w .  j av  a2 s  .c  o m*/
protected Control createDialogArea(final Composite parent) {
    Composite area = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(area, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(new GridLayout());
    composite.setLayout(new GridLayout(2, false));
    viewer = new CheckboxTreeViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
    TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(200);
    col1.getColumn().setText(Messages.AlbumSelectionDialog_name);
    col1.setLabelProvider(new ZColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof SmartCollectionImpl)
                return ((SmartCollectionImpl) element).getName();
            return element.toString();
        }
    });
    if (!small) {
        TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE);
        col2.getColumn().setWidth(250);
        col2.getColumn().setText(Messages.AlbumSelectionDialog_description);
        col2.setLabelProvider(new ZColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                if (element instanceof SmartCollectionImpl)
                    return ((SmartCollectionImpl) element).getDescription();
                return element.toString();
            }
        });
        viewer.getTree().setHeaderVisible(true);
    }
    viewer.setContentProvider(new ITreeContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            // do nothing
        }

        public boolean hasChildren(Object element) {
            if (element instanceof SmartCollection)
                return !((SmartCollection) element).getSubSelection().isEmpty();
            return false;
        }

        public Object getParent(Object element) {
            if (element instanceof SmartCollection)
                return ((SmartCollection) element).getSmartCollection_subSelection_parent();
            return null;
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof List) {
                List<SmartCollection> rootalbums = new ArrayList<SmartCollection>();
                for (Object obj : (List<?>) inputElement)
                    if (obj instanceof SmartCollection) {
                        SmartCollection album = (SmartCollection) obj;
                        if (album.getSmartCollection_subSelection_parent() == null)
                            rootalbums.add(album);
                    }
                return rootalbums.toArray();
            }
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof SmartCollection)
                return ((SmartCollection) parentElement).getSubSelection().toArray();
            return EMPTY;
        }
    });
    UiUtilities.installDoubleClickExpansion(viewer);
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            validate();
        }
    });
    GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
    layoutData.heightHint = small ? 150 : 400;
    viewer.getControl().setLayoutData(layoutData);
    viewer.setComparator(ZViewerComparator.INSTANCE);
    if (assignedAlbums != null && !assignedAlbums.isEmpty())
        viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
            @Override
            public boolean select(Viewer v, Object parentElement, Object element) {
                return !assignedAlbums.contains(((SmartCollectionImpl) element).getName());
            }
        } });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            if (cntrlDwn) {
                SmartCollectionImpl sm = (SmartCollectionImpl) ((IStructuredSelection) viewer.getSelection())
                        .getFirstElement();
                if (sm != null) {
                    CollectionEditDialog dialog = new CollectionEditDialog(getShell(), sm,
                            Messages.AlbumSelectionDialog_edit_person,
                            Messages.AlbumSelectionDialog_person_album_msg, false, true, false, false);
                    if (dialog.open() == Window.OK) {
                        final SmartCollectionImpl album = dialog.getResult();
                        if (album != null) {
                            Set<Object> toBeDeleted = new HashSet<Object>();
                            List<Object> toBeStored = new ArrayList<Object>();
                            Utilities.updateCollection(dbManager, sm, album, toBeDeleted, toBeStored);
                            dbManager.safeTransaction(toBeDeleted, toBeStored);
                        }
                        viewer.update(sm, null);
                    }
                }
                cntrlDwn = false;
            }
            validate();
        }
    });
    viewer.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;
        }
    });
    if (!small)
        new AllNoneGroup(composite, new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                if (e.widget.getData() == AllNoneGroup.ALL) {
                    viewer.expandAll();
                    viewer.setCheckedElements(albums.toArray());
                } else
                    viewer.setCheckedElements(EMPTY);
                validate();
            }
        });
    return area;
}