Example usage for org.eclipse.jface.viewers ViewerCell getColumnIndex

List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex

Introduction

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

Prototype

public int getColumnIndex() 

Source Link

Document

Get the index of the cell.

Usage

From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.MappingTableLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex()));
    if (cell.getColumnIndex() >= COL_OFFSET)
        cell.setFont(getFont(cell.getElement(), cell.getColumnIndex()));
}

From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.ScriptsEditorPart.java

License:Open Source License

/**
 * @param section//w  w  w . jav  a2  s.  com
 * @param scriptArray
 */
private void addScriptTable(ExpandableComposite parent, final Script scriptArray) {
    final Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL);
    table.setHeaderVisible(true);
    final TableViewer viewer = new TableViewer(table);
    viewer.setContentProvider(new IStructuredContentProvider() {

        public void dispose() {
        }

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

        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Script) {
                return ((Script) inputElement).getCluster().getComponentArray();
            }
            return null;
        }
    });
    final ITableLabelProvider labelProvider = new ITableLabelProvider() {
        // ID, Name, Priority, Min
        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof Component) {
                Component c = (Component) element;
                switch (columnIndex) {
                case 0:
                    if (c.isSetId())
                        return c.getId();
                    else if (c.isSetRefId())
                        return "[" + c.getRefId() + "]";
                    else
                        return "";
                case 1:
                    StringBuilder builder = new StringBuilder();
                    for (int i = 0; i < c.getDomNode().getChildNodes().getLength(); i++)
                        builder.append(c.getDomNode().getChildNodes().item(i).getNodeValue());
                    return builder.toString();
                case 2:
                    if (c.isSetPriority())
                        return c.getPriority().toString();
                    else
                        return "";
                case 3:
                    if (c.isSetMin())
                        return c.getMin().toString();
                    else
                        return "";
                }
            }
            return "";
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

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

        public void removeListener(ILabelProviderListener listener) {
        }
    };
    viewer.setLabelProvider(labelProvider);
    viewer.setInput(scriptArray);
    String[] columnNames = new String[] { MessageUtil.getString("ID"), MessageUtil.getString("Name"),
            MessageUtil.getString("Priority"), MessageUtil.getString("Minimum"), };
    for (int i = 0; i < 4; i++) {
        TableColumn col = new TableColumn(table, SWT.LEAD);
        col.setWidth(100);
        col.setText(columnNames[i]);
        TableViewerColumn tvc = new TableViewerColumn(viewer, col);
        final int colNum = i;
        tvc.setEditingSupport(new EditingSupport(viewer) {
            TextCellEditor tce = null;
            ComboBoxCellEditor cbce = null;

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

            @Override
            protected CellEditor getCellEditor(Object element) {
                Component c = (Component) element;
                if (colNum == 0 && !c.isSetId()) {
                    ArrayList<String> items = new ArrayList<String>();
                    Cluster cluster = scriptArray.getCluster();
                    for (int j = 0; j < cluster.sizeOfComponentArray(); j++) {
                        if (cluster.getComponentArray(j).isSetId())
                            items.add(cluster.getComponentArray(j).getId());
                    }
                    if (cbce == null)
                        cbce = new ComboBoxCellEditor(table, items.toArray(new String[items.size()]));
                    else
                        cbce.setItems(items.toArray(new String[items.size()]));
                    Control control = cbce.getControl();
                    if (control instanceof CCombo) {
                        CCombo cc = (CCombo) control;
                        cc.setEditable(true);
                    }
                    return cbce;
                }
                if (tce == null)
                    tce = new TextCellEditor(table);
                return tce;
            }

            @Override
            protected Object getValue(Object element) {
                if (colNum == 0 && element instanceof Component && !(((Component) element).isSetId())) {
                    int componentIndex = -1;
                    for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) {
                        Component c = scriptArray.getCluster().getComponentArray(j);
                        if (c.isSetId()) {
                            ++componentIndex;
                            if (c.getId().equals(((Component) element).getRefId()))
                                break;
                        }
                    }
                    return new Integer(componentIndex);
                }

                return labelProvider.getColumnText(element, colNum);
            }

            @Override
            protected void setValue(Object element, Object value) {
                if (value == null || value.toString().equals(getValue(element)))
                    return;
                try {
                    Component c = (Component) element;
                    switch (colNum) {
                    case 0:
                        if (value instanceof Integer) {
                            if (((Integer) value).intValue() < 0) {
                                Control control = cbce.getControl();
                                if (control instanceof CCombo) {
                                    String id = ((CCombo) control).getText();
                                    if (id.length() < 1)
                                        break;
                                    c.setId(id.trim());
                                    if (c.isSetRefId())
                                        c.unsetRefId();
                                    break;
                                }
                            } else {
                                if (c.isSetId())
                                    c.unsetId();
                                c.setRefId(cbce.getItems()[((Integer) value).intValue()]);
                                break;
                            }
                        }
                        if (c.getId() == null || !c.getId().equals(value.toString())) {
                            if (isUniqueComponentId(value.toString())) {
                                switchComponentId(c.getId(), value.toString());
                                c.setId(value.toString().trim());
                                if (c.isSetRefId())
                                    c.unsetRefId();
                            }
                        }
                        break;
                    case 1:
                        org.w3c.dom.Text t = c.getDomNode().getOwnerDocument().createTextNode(value.toString());
                        while (c.getDomNode().hasChildNodes())
                            c.getDomNode().removeChild(c.getDomNode().getFirstChild());
                        c.getDomNode().appendChild(t);
                        break;
                    case 2:
                        int iValue = Integer.parseInt(value.toString());
                        c.setPriority(BigInteger.valueOf(iValue));
                        break;
                    case 3:
                        int minValue = Integer.parseInt(value.toString());
                        c.setMin(BigInteger.valueOf(minValue));
                        break;
                    }
                    parentEditor.setDirty(true);
                    viewer.refresh(element);
                } catch (NumberFormatException e) {

                }
            }

        });
        tvc.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                cell.setText(labelProvider.getColumnText(cell.getElement(), cell.getColumnIndex()));

            }
        });
    }
    MenuManager menuManager = new MenuManager(parentEditor.getPartName() + ":" + this.getPartName());
    Action insertAction = new Action() {
        public void run() {
            int mapIndex = table.getSelectionIndex();// redo if sort
            if (mapIndex < 0)
                mapIndex = scriptArray.getCluster().sizeOfComponentArray();
            int insertRowCount = Math.max(1, table.getSelectionCount());
            for (int i = 0; i < insertRowCount; i++) {
                //Component c;
                if (mapIndex + i < scriptArray.getCluster().sizeOfComponentArray())
                    scriptArray.getCluster().insertNewComponent(mapIndex + i);
                else
                    scriptArray.getCluster().addNewComponent();
                int numComponents = scriptArray.getCluster().sizeOfComponentArray();
                String id = "Side" + scriptArray.getSide() + numComponents;
                if (scriptArray.getSide().equals(Side.LEFT)) {
                    id = MessageUtil.getString("LeftComponent", Integer.toString(numComponents));
                    for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) {
                        Component existing = scriptArray.getCluster().getComponentArray(j);
                        if (existing.getId() != null && existing.getId().equals(id)) {
                            id = MessageUtil.getString("LeftComponent", Integer.toString(++numComponents));
                            j = 0;
                        }
                    }
                } else if (scriptArray.getSide().equals(Side.RIGHT)) {
                    id = MessageUtil.getString("RightComponent", Integer.toString(numComponents));
                    for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) {
                        Component existing = scriptArray.getCluster().getComponentArray(j);
                        if (existing.getId() != null && existing.getId().equals(id)) {
                            id = MessageUtil.getString("RightComponent", Integer.toString(++numComponents));
                            j = 0;
                        }
                    }
                }
                //c.setId(id);
            }
            viewer.refresh();
            parentEditor.setDirty(true);
        }
    };
    insertAction.setId("Insert");
    insertAction.setText(MessageUtil.getString("Insert"));
    insertAction.setToolTipText(MessageUtil.getString("InsertToolTip"));
    Action deleteAction = new Action() {
        public void run() {
            int mapIndex = table.getSelectionIndex();
            if (mapIndex < 0)
                return;
            scriptArray.getCluster().removeComponent(mapIndex);

            viewer.refresh();
            parentEditor.setDirty(true);
        }
    };
    deleteAction.setId("Delete");
    deleteAction.setText(MessageUtil.getString("Delete"));
    deleteAction.setToolTipText(MessageUtil.getString("DeleteToolTip"));
    Action moveUpAction = new Action() {
        public void run() {
            int mapIndex = table.getSelectionIndex();
            if (mapIndex < 1)
                return;
            XmlObject toMove = scriptArray.getCluster().getComponentArray(mapIndex).copy();
            scriptArray.getCluster().removeComponent(mapIndex);
            Component moved = scriptArray.getCluster().insertNewComponent(mapIndex - 1);
            moved.set(toMove);
            viewer.refresh();
            parentEditor.setDirty(true);
        }
    };
    moveUpAction.setId("moveUp");
    moveUpAction.setText(MessageUtil.getString("MoveUp"));
    moveUpAction.setToolTipText(MessageUtil.getString("MoveUpToolTip"));

    Action moveDownAction = new Action() {
        public void run() {
            int mapIndex = table.getSelectionIndex();
            int numComponents = scriptArray.getCluster().sizeOfComponentArray();
            if (mapIndex < 0 || mapIndex == numComponents - 1)
                return;
            XmlObject toMove = scriptArray.getCluster().getComponentArray(mapIndex).copy();
            scriptArray.getCluster().removeComponent(mapIndex);
            Component moved = scriptArray.getCluster().insertNewComponent(mapIndex + 1);
            moved.set(toMove);
            viewer.refresh();
            parentEditor.setDirty(true);
        }
    };
    moveDownAction.setId("moveDown");
    moveDownAction.setText(MessageUtil.getString("MoveDown"));
    moveDownAction.setToolTipText(MessageUtil.getString("MoveDownToolTip"));

    menuManager.add(insertAction);
    menuManager.add(deleteAction);
    menuManager.add(moveUpAction);
    menuManager.add(moveDownAction);
    menuManager.add(new Separator());
    menuManager.setVisible(true);
    toolkit.adapt(table);
    table.setMenu(menuManager.createContextMenu(table));
    parent.setClient(table);
    viewer.refresh();

}

From source file:org.xtuml.bp.ui.sem.viewers.SEMFocusCellHighlighter.java

License:Apache License

private void removeSelectionInformation(Event event, ViewerCell cell) {
    GC gc = event.gc;//w ww  .  ja  v  a2s. c o  m
    gc.setBackground(cell.getViewerRow().getBackground(cell.getColumnIndex()));
    gc.setForeground(cell.getViewerRow().getForeground(cell.getColumnIndex()));
    event.detail &= ~SWT.SELECTED;
}

From source file:ralfstx.mylyn.bugview.internal.TaskLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();
    int columnIndex = cell.getColumnIndex();
    cell.setText(getColumnText(element, columnIndex));
    cell.setImage(getColumnImage(element, columnIndex));
    cell.setBackground(getBackground(element));
    cell.setForeground(getForeground(element));
    cell.setFont(getFont(element));/*from   w w  w.j  a  v  a2 s.c  o m*/
}

From source file:sernet.verinice.rcp.IconSelectDialog.java

License:Open Source License

private void createTable(Composite parent) {

    final int gdHeightSubtrahend = 100;
    final int iconRowSize = 10;

    int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER;
    style = style | SWT.SINGLE | SWT.FULL_SELECTION;
    viewer = new TableViewer(parent, style);
    viewer.setContentProvider(new ArrayContentProvider());

    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer,
            new FocusCellOwnerDrawHighlighter(viewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) {
        @Override/*from  w w w .j  a  v  a  2  s .  co  m*/
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            boolean retVal = event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION;
            retVal = retVal || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                    && event.keyCode == SWT.CR);
            return retVal || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

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

    Table table = viewer.getTable();
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = SIZE_X - gdHeightSubtrahend;
    table.setLayoutData(gd);

    table.addListener(SWT.MeasureItem, new Listener() {
        @Override
        public void handleEvent(Event event) {
            // height cannot be per row so simply set
            event.height = getThumbnailSize() + ICON_SPACING;
        }
    });

    table.addMouseListener(new MouseListener() {

        @Override
        public void mouseUp(MouseEvent e) {
        }

        @Override
        public void mouseDown(MouseEvent e) {
            ViewerCell cell = viewer.getCell(new Point(e.x, e.y));
            if (cell != null) {
                selectedPath = getRelativePath(
                        ((IconDescriptor[]) cell.getElement())[cell.getColumnIndex()].getPath());
                if (LOG.isDebugEnabled()) {
                    LOG.debug("Icon: " + selectedPath); //$NON-NLS-1$
                }
            }

        }

        @Override
        public void mouseDoubleClick(MouseEvent e) {
        }
    });

    for (int i = 0; i < iconRowSize; i++) {
        TableViewerColumn imageColumn = new TableViewerColumn(viewer, SWT.LEFT);
        imageColumn.setLabelProvider(new IconCellProvider(i));
        imageColumn.getColumn().setWidth(getThumbnailSize() + ICON_SPACING);
    }

    if (!dirComboModel.isEmpty()) {
        dirComboModel.setSelectedIndex(2);
        dirCombo.select(2);
        directory = dirComboModel.getSelectedObject();
        loadIcons(directory.getPath());
    } else {
        loadIcons(ICON_DIRECTORY + "silk"); //$NON-NLS-1$
    }
}

From source file:tubame.portability.plugin.action.ConfirmItemChangeActionFactory.java

License:Apache License

/**
 * Add Action.<br/>//  w  w  w . j  av a 2s  . com
 * For visual confirmation / hearing items, target column is added Action.<br/>
 * 
 * @param isMenuView
 *            Add existence flag
 * @param manager
 *            Menu Manager
 * @param cell
 *            Click the target cell
 */
private static void addAction(Boolean isMenuView, IMenuManager manager, ViewerCell cell) {
    if (isMenuView != null && isMenuView.booleanValue()) {
        if (JbmEditorEnum.VISUAL_CONFIRM_STATSU_ITEM.getCode() == cell.getColumnIndex()) {
            manager.add(ConfirmItemChangeActionFactory.eyeNGColorChange);
            manager.add(ConfirmItemChangeActionFactory.eyeOKColorChange);
            manager.add(ConfirmItemChangeActionFactory.eyeNonColorChange);
        }
        if (JbmEditorEnum.HIARING_STATUS.getCode() == cell.getColumnIndex()) {
            manager.add(ConfirmItemChangeActionFactory.hearingNGColorChange);
            manager.add(ConfirmItemChangeActionFactory.hearingOKColorChange);
            manager.add(ConfirmItemChangeActionFactory.hearingNonColorChange);
        }
    }
}

From source file:tubame.portability.plugin.action.ConfirmItemChangeActionFactory.java

License:Apache License

/**
 * The return TRUE if the visual / hearing item, return FALSE if visual /
 * hearing fee.<br/>// w w  w .ja v  a  2  s  .  c o m
 * 
 * @param item
 *            Line data
 * @param cell
 *            Target cell data
 * @return true:Confirmation item false:Unacknowledged item
 */
private static boolean isConfirm(JbmEditorMigrationRow item, ViewerCell cell) {
    // Visual confirmation
    if (JbmEditorEnum.VISUAL_CONFIRM_STATSU_ITEM.getCode() == cell.getColumnIndex()) {
        if (item.isCheckEye()) {
            return true;
        }
    }
    // Confirmation hearing
    if (JbmEditorEnum.HIARING_STATUS.getCode() == cell.getColumnIndex()) {
        if (item.isHearing()) {
            return true;
        }
    }
    return false;
}

From source file:tubame.portability.plugin.editor.SelectionChangedListener.java

License:Apache License

/**
 * {@inheritDoc}/* ww w.j  a  v a  2  s  .co m*/
 */
@Override
public void selectionChanged(SelectionChangedEvent event) {
    selectionObject = ((StructuredSelection) event.getSelection()).getFirstElement();

    LOGGER.debug("Project path: " + editor.getProjectPath());

    // Get the Cell that was clicked from mouse click coordinate
    Point point = editor.getMouseClickPoint();
    ViewerCell cell = ((org.eclipse.jface.viewers.TreeViewer) event.getSource()).getCell(point);
    if (cell == null) {
        // That the cell can not I get a row that has been deleted
        return;
    }

    if (selectionObject instanceof JbmEditorMigrationRow) {
        // View checklist information view
        JbmEditorMigrationRow row = (JbmEditorMigrationRow) selectionObject;
        printInformationView(row.getNo());
        // If the guide chapter number is clicked, it displays a guide
        if (JbmEditorEnum.CHAPTER_NO.getCode() == cell.getColumnIndex()) {
            try {
                GuideViewFacade.view(row.getChapterNo(), editor.getProjectPath());
            } catch (IOException e) {
                LOGGER.error(MessageUtil.LOG_ERR_GUIDE_HTML_DISPLAY_FAIL, e);
                throw new RuntimeException(e);
            }
        }
    }
}

From source file:tubame.portability.plugin.view.ConvertDoubleClickListener.java

License:Apache License

/**
 * {@inheritDoc}/*from  www. j a  va 2 s  . com*/
 */
@Override
public void doubleClick(DoubleClickEvent event) {
    Object element = ((StructuredSelection) event.getSelection()).getFirstElement();
    if (element instanceof MigrationTarget) {
        Point point = treeViewer.getMouseClickPoint();
        ViewerCell cell = ((org.eclipse.jface.viewers.TreeViewer) event.getSource()).getCell(point);
        if (cell != null) {
            openFile(cell.getColumnIndex(), element);
        }

    }
}

From source file:tubame.portability.plugin.view.ConvertLabelProvider.java

License:Apache License

/**
 * {@inheritDoc}//ww  w .ja  v  a  2s  . c  om
 */
@Override
public void update(ViewerCell cell) {
    // Set the string to be displayed in the cell
    String text = StringUtil.EMPTY;
    Object element = cell.getElement();
    if (element instanceof MigrationItem) {
        MigrationItem migrationItem = (MigrationItem) element;
        text = parentGetColumnText(migrationItem, cell.getColumnIndex());
    } else if (element instanceof MigrationTarget) {
        MigrationTarget migrationTarget = (MigrationTarget) element;
        text = childGetColumnText(migrationTarget, cell.getColumnIndex());
    }
    cell.setText(text);
}