Example usage for org.eclipse.jface.viewers IStructuredSelection iterator

List of usage examples for org.eclipse.jface.viewers IStructuredSelection iterator

Introduction

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

Prototype

@Override
public Iterator iterator();

Source Link

Document

Returns an iterator over the elements of this selection.

Usage

From source file:de.topicmapslab.onotoa.search.dialogs.CleanSchemaComposite.java

License:Open Source License

/**
 * Add actual selected TopicType from the list of unused TopicTypes (left
 * table) to the list of selected TopicTypes (right table)
 *///from   w  w w  .  j a  v  a  2  s .  c o  m

private void deleteSelection() {

    // iterate over all selected types (multi selection is allowed!)
    IStructuredSelection sel = (IStructuredSelection) unusedTopicsTable.getSelection();
    for (Iterator it = sel.iterator(); it.hasNext();) {
        selectedSet.add((TopicType) it.next());
    }
    unusedTopicsTable.refresh();

    // change button immediately to re-enable restoring
    deleteButton.setEnabled(false);
    restoreButton.setEnabled(true);

}

From source file:de.topicmapslab.onotoa.search.dialogs.CleanSchemaComposite.java

License:Open Source License

/**
 * Remove actual selected TopicType from the list selected TopicTypes (right
 * table)/*from   www  .  j a  v  a  2  s. co m*/
 */

private void restoreSelection() {

    // iterate over all selected types (multi selection is allowed!)
    IStructuredSelection sel = (IStructuredSelection) unusedTopicsTable.getSelection();
    for (Iterator it = sel.iterator(); it.hasNext();) {
        selectedSet.remove((TopicType) it.next());
    }
    unusedTopicsTable.refresh();

    // change button immediately to re-enable deleting
    deleteButton.setEnabled(true);
    restoreButton.setEnabled(false);

}

From source file:de.topicmapslab.onotoa.wordlisteditor.editor.WordListEditor.java

License:Open Source License

/**
 * Creates the table viewer and columns.
 * /*  www.  j a  v  a 2 s.  c o m*/
 * @param table
 *            the table which will be used by the wrapper
 */
private void initTable(final Table table) {

    TableColumnLayout layout = (TableColumnLayout) table.getParent().getLayout();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);

    table.setMenu(new Menu(table));

    table.addKeyListener(new KeyAdapter() {
        /**
         * {@inheritDoc}
         */
        @Override
        public void keyPressed(KeyEvent e) {
            if ((e.keyCode == (int) 'c') && ((e.stateMask & SWT.CTRL) != 0)) {
                Clipboard clipboard = new Clipboard(e.widget.getDisplay());

                StringBuilder builder = new StringBuilder();

                String lineSeparator = System.getProperty("line.separator");
                IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();

                Iterator<?> it = sel.iterator();
                while (it.hasNext()) {
                    Word w = (Word) it.next();
                    builder.append("\"");
                    builder.append(w.getWord());
                    builder.append("\"");
                    builder.append(";");
                    builder.append(w.getType().getName());
                    if (it.hasNext()) {
                        builder.append(lineSeparator);
                    }
                }
                clipboard.setContents(new Object[] { builder.toString() },
                        new Transfer[] { TextTransfer.getInstance() });

                clipboard.dispose();
            }
        }
    });

    viewer = new CheckboxTableViewer(table);
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            removeButton.setEnabled(viewer.getCheckedElements().length != 0);
        }
    });

    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TableViewerEditor.create(viewer, null, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    // word column
    TableViewerColumn tvc = new TableViewerColumn(viewer, SWT.NONE);
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(1));
    tvc.getColumn().setText("Word");
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            cell.setText(((Word) cell.getElement()).getWord());
        }
    });

    tvc.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            WordListContainer wlc = (WordListContainer) viewer.getInput();

            Word w = (Word) element;
            if (w.getWord().equals(value))
                return;

            if (wlc.containsWord((String) value)) {
                MessageDialog.openInformation(table.getShell(), "Word already entered",
                        "The word <" + value + "> was already entered");
                return;
            }

            AbstractCommand cmd = null;
            cmd = new ModifyWordCommand(w, (String) value);
            commandStack.execute(cmd);
            viewer.refresh(element);

        }

        @Override
        protected Object getValue(Object element) {
            Word w = (Word) element;
            return w.getWord();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

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

    // create column sorter
    new AbstractColumnViewerSorter(viewer, tvc) {

        @Override
        public String getText(Object element) {
            return ((Word) element).getWord();
        }
    };

    // type column
    tvc = new TableViewerColumn(viewer, SWT.NONE);
    tvc.getColumn().setText("Type");
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(1));
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String name = ((Word) cell.getElement()).getType().getName();
            cell.setText(name);
            cell.setImage(ImageProvider.getImageOfKindOfTopic(KindOfTopicType.getByName(name)));

        }
    });
    tvc.setEditingSupport(new EditingSupport(viewer) {
        final String[] ITEMS = { KindOfTopicType.TOPIC_TYPE.getName(),
                KindOfTopicType.OCCURRENCE_TYPE.getName(), KindOfTopicType.NAME_TYPE.getName(),
                KindOfTopicType.ROLE_TYPE.getName(), KindOfTopicType.ASSOCIATION_TYPE.getName(),
                KindOfTopicType.NO_TYPE.getName() };

        @Override
        protected void setValue(Object element, Object value) {
            int val = (Integer) value;
            // jump from scope to no type index
            if (val == 5)
                val = 6;

            KindOfTopicType type = KindOfTopicType.get(val);

            WordListContainer wlc = (WordListContainer) viewer.getInput();
            Word w = (Word) element;

            AbstractCommand cmd = null;
            if (wlc.contains(w)) {
                cmd = new ModifyWordTypeCommand((Word) element, type);
                commandStack.execute(cmd);
                viewer.refresh(element);
            } else {
                cmd = new AddWordCommand(wlc, w.getWord(), type);
                commandStack.execute(cmd);
                viewer.refresh();
            }
        }

        @Override
        protected Object getValue(Object element) {
            int val = ((Word) element).getType().getValue();
            // switching from scope to no type
            if (val == 6)
                val = 5;
            return val;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            ComboBoxCellEditor comboBoxCellEditor = new ComboBoxCellEditor(table, ITEMS, SWT.READ_ONLY);
            return comboBoxCellEditor;
        }

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

    // create column sorter
    new AbstractColumnViewerSorter(viewer, tvc) {

        @Override
        public String getText(Object element) {
            if (((WordListContainer) viewer.getInput()).contains(element))
                return ((Word) element).getType().getName();
            // hack so hopefully the new element is always the last
            else
                return "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzZ";
        }
    };

    tvc = new TableViewerColumn(viewer, SWT.NONE);
    layout.setColumnData(tvc.getColumn(), new ColumnWeightData(2));
    tvc.getColumn().setText("Comment");
    tvc.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String tmp = ((Word) cell.getElement()).getComment();
            if (tmp == null)
                tmp = "";
            cell.setText(tmp);
        }
    });

    tvc.setEditingSupport(new EditingSupport(viewer) {

        @Override
        protected void setValue(Object element, Object value) {
            AbstractCommand cmd = null;
            cmd = new ModifyWordCommentCommand((Word) element, (String) value);
            commandStack.execute(cmd);
            viewer.refresh(element);

        }

        @Override
        protected Object getValue(Object element) {
            String tmp = ((Word) element).getComment();
            if (tmp == null)
                return "";
            return tmp;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

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

From source file:de.topicmapslab.tmcledit.diagram.editor.TMCLDiagramEditor.java

License:Open Source License

public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection sel = (IStructuredSelection) event.getSelection();
    updateSelectionDependentActions(sel);
    if (sel.isEmpty())
        return;/* www. j a  v a 2s. c om*/
    else {
        Iterator<?> it = sel.iterator();
        List<Object> selected = new ArrayList<Object>();
        while (it.hasNext()) {
            Object o = it.next();
            if (o instanceof EditPart) {
                EditPart part = (EditPart) o;

                cmProvider.setSelectedEditPart(part);

                if (part instanceof MoveableLabelEditPart) {
                    part = part.getParent();
                }

                Object model = part.getModel();
                if (model instanceof TypeNode) {
                    TypeNode node = (TypeNode) model;
                    selected.add(node.getTopicType());
                } else if (model instanceof AssociationNode) {
                    AssociationNode node = (AssociationNode) model;
                    selected.add(node.getAssociationConstraint());
                } else if (model instanceof Edge) {
                    Edge edge = (Edge) model;
                    EObject tmp = edge.getRoleConstraint();
                    if (tmp != null)
                        selected.add(tmp);
                    else {
                        tmp = ((TypeNode) edge.getSource()).getTopicType();
                        selected.add(tmp);
                    }
                } else {
                    selected.add(model);
                }
            }
        }
        currentSelection = new StructuredSelection(selected);
        fireSelectionChanged();
    }
}

From source file:de.topicmapslab.tmcledit.diagram.editor.TMCLEditorContextMenuProvider.java

License:Open Source License

@SuppressWarnings("unchecked")
private boolean mayMove() {
    IStructuredSelection sel = (IStructuredSelection) getViewer().getSelection();
    if (sel.isEmpty())
        return false;

    Iterator it = sel.iterator();
    while (it.hasNext()) {
        Object next = it.next();/*from   w w  w  . ja va 2 s  .com*/
        if (next instanceof EditPart) {
            if (((EditPart) next).getModel() instanceof Node)
                return true;
        }
    }

    return false;

}

From source file:de.topicmapslab.tmcledit.domaindiagram.editor.DomainDiagramEditor.java

License:Open Source License

public void selectionChanged(SelectionChangedEvent event) {
    IStructuredSelection sel = (IStructuredSelection) event.getSelection();
    updateSelectionDependentActions(sel);
    if (sel.isEmpty())
        return;/*from   w w w.j  a v  a2s .  com*/
    else {
        Iterator<?> it = sel.iterator();
        List<Object> selected = new ArrayList<Object>();
        while (it.hasNext()) {
            Object o = it.next();
            if (o instanceof EditPart) {
                EditPart part = (EditPart) o;
                if (part instanceof MoveableLabelEditPart) {
                    part = part.getParent();
                }

                cmProvider.setSelectedEditPart(part);

                Object model = part.getModel();
                if (model instanceof TypeNode) {
                    TypeNode node = (TypeNode) model;
                    selected.add(node.getTopicType());
                } else if (model instanceof AssociationNode) {
                    AssociationNode node = (AssociationNode) model;
                    selected.add(node.getAssociationConstraint());
                } else if (model instanceof Edge) {
                    Edge edge = (Edge) model;
                    EObject tmp = edge.getRoleConstraint();
                    if (tmp != null)
                        selected.add(tmp);
                    else {
                        tmp = ((TypeNode) edge.getSource()).getTopicType();
                        selected.add(tmp);
                    }
                } else {
                    selected.add(model);
                }
            }
        }
        currentSelection = new StructuredSelection(selected);
        fireSelectionChanged();
    }
}

From source file:de.topicmapslab.tmcledit.model.actions.DeleteDiagramAction.java

License:Open Source License

/**
 * Sets the diagram to delete//ww w  . ja va2s. com
 * @param sel a selection containing one or more {@link Diagram}s
 */
public void setDiagram(IStructuredSelection sel) {
    diagrams.clear();
    if (sel != null) {
        Iterator it = sel.iterator();

        while (it.hasNext()) {
            Object o = it.next();
            if (o instanceof Diagram) {
                diagrams.add((Diagram) o);
            }
        }
    }
    setEnabled(!diagrams.isEmpty());
}

From source file:de.topicmapslab.tmcledit.model.actions.DeleteTMCLConstruct.java

License:Open Source License

/**
 * {@inheritDoc}//  w  w w. ja  va  2 s .  c o  m
 */
public void selectionChanged(SelectionChangedEvent event) {
    getConstructList().clear();
    if ((!event.getSelection().isEmpty()) && (((event.getSelection() instanceof IStructuredSelection)))) {
        IStructuredSelection sel = (IStructuredSelection) event.getSelection();

        Object obj = sel.getFirstElement();
        Iterator<?> it = sel.iterator();
        while (it.hasNext()) {
            obj = it.next();
            if ((obj instanceof TMCLConstruct) && (!(obj instanceof TopicMapSchema))
                    && (!(obj instanceof File))) {
                getConstructList().add((TMCLConstruct) obj);
            }
        }
    }
    setEnabled(!getConstructList().isEmpty());
}

From source file:de.topicmapslab.tmcledit.model.dialogs.StringListSelectionDialog.java

License:Open Source License

private void removeSelection() {
    IStructuredSelection sel = (IStructuredSelection) stringListViewer.getSelection();
    for (Iterator it = sel.iterator(); it.hasNext();) {
        stringList.remove((String) it.next());
    }/*from   w  ww.j av  a  2  s . com*/
    stringListViewer.refresh();
    if (stringList.size() <= 0)
        removeAllButton.setEnabled(false);

}

From source file:de.topicmapslab.tmcledit.model.dialogs.TopicSelectionDialog.java

License:Open Source License

private void addSelection() {
    IStructuredSelection sel = (IStructuredSelection) availableTopicList.getSelection();
    for (Iterator it = sel.iterator(); it.hasNext();) {
        selectedTopics.add((TopicType) it.next());
    }//w  w w .ja v a  2  s  .  co m
    validate();
    availableTopicList.refresh();
    selectedTopicList.refresh();
}