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:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getConditionalCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final boolean isRemote) {
    return new CellLabelProvider() {

        @Override//  www .  j av a2 s . co  m
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("ADDED_CONDITIONAL") == null) {
                item.setData("ADDED_CONDITIONAL", TRUE);
                CCombo combo;
                if (isRemote) {
                    combo = addComboInTable(tableViewer, item, CONDITIONAL_OPERATORS, CONDITIONAL_COMBO_PANE,
                            CONDITIONAL_EDITOR, cell.getColumnIndex(), new String[] {},
                            FilterHelper.INSTANCE.getConditionalOperatorSelectionListener(conditionsList,
                                    fieldsAndTypes, fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorModifyListener(conditionsList,
                                    fieldsAndTypes, fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                } else {
                    combo = addComboInTable(tableViewer, item, CONDITIONAL_OPERATORS, CONDITIONAL_COMBO_PANE,
                            CONDITIONAL_EDITOR, cell.getColumnIndex(), new String[] {},
                            FilterHelper.INSTANCE.getConditionalOperatorSelectionListener(conditionsList,
                                    fieldsAndTypes, fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorModifyListener(conditionsList,
                                    fieldsAndTypes, fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                }

                if (StringUtils
                        .isNotBlank(dummyList.get(tableViewer.getTable().indexOf(item)).getFieldName())) {
                    String fieldsName = dummyList.get(tableViewer.getTable().indexOf(item)).getFieldName();
                    if (fieldsAndTypes.containsKey(fieldsName)) {
                        combo.setItems(typeBasedConditionalOperators.get(fieldsAndTypes.get(fieldsName)));
                    }
                } else {
                    combo.setItems(new String[] {});
                }
                combo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getConditionalOperator());
                item.addDisposeListener(new DisposeListener() {

                    @Override
                    public void widgetDisposed(DisposeEvent e) {
                        if (item.getData("DISPOSED_CONDITIONAL") == null) {
                            item.setData("DISPOSED_CONDITIONAL", TRUE);
                            CCombo combo = (CCombo) item.getData(CONDITIONAL_OPERATORS);
                            ((TableEditor) combo.getData(CONDITIONAL_EDITOR)).dispose();
                            combo.dispose();

                            Composite composite = (Composite) item.getData(CONDITIONAL_COMBO_PANE);
                            composite.dispose();
                        }
                    }
                });
            } else {
                CCombo combo = (CCombo) item.getData(CONDITIONAL_OPERATORS);
                if (StringUtils
                        .isNotBlank(dummyList.get(tableViewer.getTable().indexOf(item)).getFieldName())) {
                    String fieldsName = dummyList.get(tableViewer.getTable().indexOf(item)).getFieldName();
                    if (fieldsAndTypes.containsKey(fieldsName)) {
                        combo.setItems(typeBasedConditionalOperators.get(fieldsAndTypes.get(fieldsName)));
                    }
                } else {
                    combo.setItems(new String[] {});
                }
                combo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getConditionalOperator());
            }
        }
    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getFieldNameCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final boolean isRemote) {
    return new CellLabelProvider() {

        @Override/*from  w w w .  j a  va2  s.  c o m*/
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("ADDED_FIELD") == null) {
                item.setData("ADDED_FIELD", TRUE);
                CCombo combo;
                if (isRemote) {
                    combo = addComboInTable(tableViewer, item, FIELD_NAMES, FIELD_COMBO_PANE, FIELD_EDITOR,
                            cell.getColumnIndex(), fieldNames,
                            FilterHelper.INSTANCE.getFieldNameSelectionListener(tableViewer, conditionsList,
                                    fieldsAndTypes, fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getFieldNameModifyListener(tableViewer, conditionsList,
                                    fieldsAndTypes, fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                } else {
                    combo = addComboInTable(tableViewer, item, FIELD_NAMES, FIELD_COMBO_PANE, FIELD_EDITOR,
                            cell.getColumnIndex(), fieldNames,
                            FilterHelper.INSTANCE.getFieldNameSelectionListener(tableViewer, conditionsList,
                                    fieldsAndTypes, fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getFieldNameModifyListener(tableViewer, conditionsList,
                                    fieldsAndTypes, fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                }

                combo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getFieldName());
                item.addDisposeListener(new DisposeListener() {

                    @Override
                    public void widgetDisposed(DisposeEvent e) {
                        if (item.getData("DISPOSED_FIELD") == null) {
                            item.setData("DISPOSED_FIELD", TRUE);
                            CCombo combo = (CCombo) item.getData(FIELD_NAMES);
                            ((TableEditor) combo.getData(FIELD_EDITOR)).dispose();
                            combo.dispose();

                            Composite composite = (Composite) item.getData(FIELD_COMBO_PANE);
                            composite.dispose();
                        }
                    }
                });
            } else {
                CCombo fieldNameCombo = (CCombo) item.getData(FIELD_NAMES);
                fieldNameCombo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getFieldName());
            }
        }
    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getRelationalCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final boolean isRemote) {
    return new CellLabelProvider() {

        @Override/*from   ww w . j  ava 2 s.  c om*/
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("ADDED_RELATIONAL") == null) {
                item.setData("ADDED_RELATIONAL", TRUE);
                CCombo combo;
                if (isRemote) {
                    combo = addComboInTable(tableViewer, item, RELATIONAL_OPERATORS, RELATIONAL_COMBO_PANE,
                            RELATIONAL_EDITOR, cell.getColumnIndex(), relationalOperators,
                            FilterHelper.INSTANCE.getRelationalOpSelectionListener(conditionsList,
                                    fieldsAndTypes, fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getRelationalOpModifyListener(conditionsList, fieldsAndTypes,
                                    fieldNames, remoteSaveButton, remoteDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                } else {
                    combo = addComboInTable(tableViewer, item, RELATIONAL_OPERATORS, RELATIONAL_COMBO_PANE,
                            RELATIONAL_EDITOR, cell.getColumnIndex(), relationalOperators,
                            FilterHelper.INSTANCE.getRelationalOpSelectionListener(conditionsList,
                                    fieldsAndTypes, fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getRelationalOpModifyListener(conditionsList, fieldsAndTypes,
                                    fieldNames, localSaveButton, localDisplayButton),
                            FilterHelper.INSTANCE.getConditionalOperatorFocusListener());
                }

                combo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getRelationalOperator());
                if (tableViewer.getTable().indexOf(item) == 0) {
                    combo.setVisible(false);
                } else {
                    combo.setVisible(true);
                }
                item.addDisposeListener(new DisposeListener() {

                    @Override
                    public void widgetDisposed(DisposeEvent e) {
                        if (item.getData("DISPOSED_RELATIONAL") == null) {
                            item.setData("DISPOSED_RELATIONAL", TRUE);
                            CCombo combo = (CCombo) item.getData(RELATIONAL_OPERATORS);
                            ((TableEditor) combo.getData(RELATIONAL_EDITOR)).dispose();
                            combo.dispose();

                            Composite composite = (Composite) item.getData(RELATIONAL_COMBO_PANE);
                            composite.dispose();
                        }
                    }
                });
            } else {
                CCombo combo = (CCombo) item.getData(RELATIONAL_OPERATORS);
                combo.setText((dummyList.get(tableViewer.getTable().indexOf(item))).getRelationalOperator());
            }
        }
    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getGroupCheckCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final Button btnAddGrp) {
    return new CellLabelProvider() {

        @Override//from   w w w . j av a2s .c o  m
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("UPDATED3") == null) {
                item.setData("UPDATED3", TRUE);
            } else {
                return;
            }
            addCheckButtonInTable(tableViewer, item, GROUP_CHECKBOX, GROUP_CHECKBOX_PANE, GROUP_EDITOR,
                    cell.getColumnIndex(),
                    FilterHelper.INSTANCE.checkButtonListener(tableViewer, conditionsList, btnAddGrp));
            item.addDisposeListener(new DisposeListener() {

                @Override
                public void widgetDisposed(DisposeEvent e) {
                    Button groupButton = (Button) item.getData(GROUP_CHECKBOX);
                    ((TableEditor) groupButton.getData(GROUP_EDITOR)).dispose();
                    groupButton.dispose();

                    Composite composite = (Composite) item.getData(GROUP_CHECKBOX_PANE);
                    composite.dispose();
                }
            });
        }
    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getRemoveButtonCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final Button btnAddGrp,
        final TreeMap<Integer, List<List<Integer>>> groupSelectionMap, final boolean isRemote) {
    return new CellLabelProvider() {

        @Override/*from www . ja v  a  2 s . c om*/
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("UPDATED2") == null) {
                item.setData("UPDATED2", TRUE);
            } else {
                return;
            }
            if (OSValidator.isMac()) {
                addButtonInTable(tableViewer, item, REMOVE, REMOVE_BUTTON_PANE, REMOVE_EDITOR,
                        cell.getColumnIndex(), removeButtonListener(tableViewer, conditionsList, dummyList,
                                groupSelectionMap, btnAddGrp, isRemote),
                        ImagePathConstant.MAC_DELETE_BUTTON);
            } else {
                addButtonInTable(tableViewer, item, REMOVE, REMOVE_BUTTON_PANE, REMOVE_EDITOR,
                        cell.getColumnIndex(), removeButtonListener(tableViewer, conditionsList, dummyList,
                                groupSelectionMap, btnAddGrp, isRemote),
                        ImagePathConstant.DELETE_BUTTON);
            }
            item.addDisposeListener(new DisposeListener() {

                @Override
                public void widgetDisposed(DisposeEvent e) {
                    Button removeButton = (Button) item.getData(REMOVE);
                    ((TableEditor) removeButton.getData(REMOVE_EDITOR)).dispose();
                    removeButton.dispose();

                    Composite composite = (Composite) item.getData(REMOVE_BUTTON_PANE);
                    composite.dispose();
                }
            });
        }
    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getAddButtonCellProvider(final TableViewer tableViewer,
        final List<Condition> conditionsList, final TreeMap<Integer, List<List<Integer>>> groupSelectionMap) {
    return new CellLabelProvider() {

        @Override//from  ww  w.  j ava2s.c  o m
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("UPDATED1") == null) {
                item.setData("UPDATED1", TRUE);
            } else {
                return;
            }

            if (OSValidator.isMac()) {
                addButtonInTable(tableViewer, item, ADD, ADD_BUTTON_PANE, ADD_EDITOR, cell.getColumnIndex(),
                        FilterHelper.INSTANCE.addButtonListener(tableViewer, conditionsList, dummyList,
                                groupSelectionMap),
                        ImagePathConstant.MAC_ADD_BUTTON);
            } else {
                addButtonInTable(tableViewer, item, ADD, ADD_BUTTON_PANE, ADD_EDITOR, cell.getColumnIndex(),
                        FilterHelper.INSTANCE.addButtonListener(tableViewer, conditionsList, dummyList,
                                groupSelectionMap),
                        ImagePathConstant.ADD_BUTTON);
            }

            item.addDisposeListener(new DisposeListener() {

                @Override
                public void widgetDisposed(DisposeEvent e) {
                    Button addButton = (Button) item.getData(ADD);
                    ((TableEditor) addButton.getData(ADD_EDITOR)).dispose();
                    addButton.dispose();

                    Composite composite = (Composite) item.getData(ADD_BUTTON_PANE);
                    composite.dispose();
                }
            });
        }

    };
}

From source file:hydrograph.ui.dataviewer.filter.FilterConditionsDialog.java

License:Apache License

private CellLabelProvider getDummyColumn(final TableViewer tableViewer, final List<Condition> conditionsList,
        final Integer columnIndex, final TreeMap<Integer, List<List<Integer>>> groupSelectionMap) {
    return new CellLabelProvider() {

        @Override//from  w ww .  j  a  v  a 2 s.  com
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();
            List<List<Integer>> checkedGrpRowIndices = groupSelectionMap.get(columnIndex);
            if (cell.getColumnIndex() == (columnIndex + 3)) {
                if (null != checkedGrpRowIndices && !checkedGrpRowIndices.isEmpty()) {
                    List tempList = new ArrayList();
                    for (List<Integer> checkedIndex : checkedGrpRowIndices) {
                        tempList.addAll(checkedIndex);
                    }
                    int indexOf = tableViewer.getTable().indexOf(item);
                    if (tempList.contains(indexOf)) {
                        for (int i = 0; i < checkedGrpRowIndices.size(); i++) {
                            if ((checkedGrpRowIndices.get(i)).contains(indexOf)) {
                                cell.setBackground(FilterHelper.INSTANCE.getColor(i));
                                break;
                            }
                        }
                    } else {
                        cell.setBackground(CustomColorRegistry.INSTANCE.getColorFromRegistry(255, 255, 255));
                    }
                }
            }
        }
    };
}

From source file:hydrograph.ui.dataviewer.window.DebugDataViewer.java

License:Apache License

private Point getCellId(Point mouseLocation, TableViewer tableViewer) {
    ViewerCell cell = tableViewer.getCell(mouseLocation);
    if (cell == null) {
        return null;
    }//from w  w w.ja v a 2  s.  co m
    int columnIndex = cell.getColumnIndex();
    int rowIndex = tableViewer.getTable().indexOf((TableItem) cell.getItem());
    return new Point(rowIndex, columnIndex);
}

From source file:hydrograph.ui.parametergrid.dialog.MultiParameterFileDialog.java

License:Apache License

private void createViewParameterFileBox(Composite composite) {
    HydroGroup grpPropertyFileView = new HydroGroup(composite, SWT.NONE);
    grpPropertyFileView.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    grpPropertyFileView.setHydroGroupText(MultiParameterFileDialogConstants.PARAMETER_FILE_VIEW);
    grpPropertyFileView.setHydroGroupBorderBackground(SWTResourceManager.getColor(SWT.COLOR_DARK_GRAY));
    GridLayout gl_grpPropertyFileView = new GridLayout(1, false);
    gl_grpPropertyFileView.verticalSpacing = 0;
    gl_grpPropertyFileView.marginHeight = 0;
    gl_grpPropertyFileView.horizontalSpacing = 0;
    gl_grpPropertyFileView.marginWidth = 0;
    grpPropertyFileView.setLayout(gl_grpPropertyFileView);
    grpPropertyFileView.getHydroGroupClientArea().setLayout(new GridLayout(1, false));
    Composite composite_4 = new Composite(grpPropertyFileView.getHydroGroupClientArea(), SWT.None);
    composite_4.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    composite_4.setLayout(new GridLayout(1, false));

    Composite composite_8 = new Composite(composite_4, SWT.NONE);
    composite_8.setLayout(new GridLayout(5, false));
    composite_8.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, false, false, 1, 1));

    Button btnAdd_1 = new Button(composite_8, SWT.NONE);
    btnAdd_1.setToolTipText(Messages.ADD_KEY_SHORTCUT_TOOLTIP);
    btnAdd_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnAdd_1.addSelectionListener(new SelectionAdapter() {
        @Override//from   w  w w  . java2  s.  c  o  m
        public void widgetSelected(SelectionEvent e) {
            addNewRow(parameterTableViewer);
            applyButton.setEnabled(true);
        }
    });
    btnAdd_1.setImage(ImagePathConstant.ADD_BUTTON.getImageFromRegistry());

    Button btnDelete = new Button(composite_8, SWT.NONE);
    btnDelete.setToolTipText(Messages.DELETE_KEY_SHORTCUT_TOOLTIP);
    btnDelete.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnDelete.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            deleteRow(parameterTableViewer);
            applyButton.setEnabled(true);
        }
    });
    btnDelete.setImage(ImagePathConstant.DELETE_BUTTON.getImageFromRegistry());

    Button btnUp = new Button(composite_8, SWT.NONE);
    btnUp.setToolTipText(Messages.MOVE_UP_KEY_SHORTCUT_TOOLTIP);
    btnUp.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnUp.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            moveRowUp(parameterTableViewer);
            applyButton.setEnabled(true);
        }
    });
    btnUp.setImage(ImagePathConstant.MOVEUP_BUTTON.getImageFromRegistry());

    Button btnDown = new Button(composite_8, SWT.NONE);
    btnDown.setToolTipText(Messages.MOVE_DOWN_KEY_SHORTCUT_TOOLTIP);
    btnDown.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
    btnDown.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            moveRowDown(parameterTableViewer);
            applyButton.setEnabled(true);
        }
    });
    btnDown.setImage(ImagePathConstant.MOVEDOWN_BUTTON.getImageFromRegistry());
    new Label(composite_8, SWT.NONE);

    Composite composite_1 = new Composite(composite_4, SWT.NONE);
    composite_1.setLayout(new GridLayout(1, false));
    composite_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    parameterTableViewer = new TableViewer(composite_1, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    table_2 = parameterTableViewer.getTable();
    table_2.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    table_2.setLinesVisible(true);
    table_2.setHeaderVisible(true);
    parameterTableViewer.setContentProvider(new ArrayContentProvider());
    parameterTableViewer.setData(TABLE_TYPE_KEY, "parameterTableViewer");
    attachShortcutListner(parameterTableViewer, table_2);
    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(parameterTableViewer,
            new FocusCellOwnerDrawHighlighter(parameterTableViewer));
    ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(
            parameterTableViewer);
    TableViewerEditor.create(parameterTableViewer, focusCellManager, activationSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
    final TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    ColumnViewerToolTipSupport.enableFor(parameterTableViewer, ToolTip.NO_RECREATE);
    TableColumn tblclmnParameterName_1 = tableViewerColumn_3.getColumn();
    tblclmnParameterName_1.setWidth(190);
    tblclmnParameterName_1.setText(MultiParameterFileDialogConstants.PARAMETER_NAME);
    tableViewerColumn_3.setEditingSupport(new ParameterEditingSupport(parameterTableViewer,
            MultiParameterFileDialogConstants.PARAMETER_NAME, this));
    tableViewerColumn_3.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getToolTipText(Object element) {
            Parameter p = (Parameter) element;
            if (StringUtils.isEmpty(p.getParameterName())) {
                return ErrorMessages.NAME_VALUE_CANNOT_BE_BLANK;
            } else {
                return null;
            }
        }

        @Override
        public String getText(Object element) {
            Parameter p = (Parameter) element;
            return p.getParameterName();
        }

        @Override
        public Color getBackground(Object element) {
            Parameter p = (Parameter) element;
            if (StringUtils.isEmpty(p.getParameterName())) {
                return CustomColorRegistry.INSTANCE.getColorFromRegistry(0xFF, 0xDD, 0xDD);
            }
            return super.getBackground(element);
        }

    });

    TableViewerColumn tableViewerColumn_5 = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    TableColumn tblclmnParameterValue_1 = tableViewerColumn_5.getColumn();
    tblclmnParameterValue_1.setWidth(170);
    tblclmnParameterValue_1.setText(MultiParameterFileDialogConstants.PARAMETER_VALUE);
    tableViewerColumn_5.setEditingSupport(new ParameterEditingSupport(parameterTableViewer,
            MultiParameterFileDialogConstants.PARAMETER_VALUE, this));
    tableViewerColumn_5.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            Parameter p = (Parameter) element;
            return p.getParameterValue();
        }
    });

    TableViewerColumn tableViewerColumn = new TableViewerColumn(parameterTableViewer, SWT.NONE);
    TableColumn tblclmnEdit = tableViewerColumn.getColumn();
    tblclmnEdit.setWidth(84);
    tableViewerColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            final TableItem item = (TableItem) cell.getItem();

            // DO NOT REMOVE THIS CONDITION. The condition is return to
            // prevent multiple updates on single item
            if (item.getData("UPDATED") == null) {
                item.setData("UPDATED", "TRUE");
            } else {
                return;
            }

            final Composite buttonPane = new Composite(parameterTableViewer.getTable(), SWT.NONE);
            buttonPane.setLayout(new FillLayout());

            final Button button = new Button(buttonPane, SWT.NONE);
            button.setText(MultiParameterFileDialogConstants.EDIT_BUTTON_TEXT);

            final TableEditor editor = new TableEditor(parameterTableViewer.getTable());
            editor.grabHorizontal = true;
            editor.grabVertical = true;
            editor.setEditor(buttonPane, item, cell.getColumnIndex());
            editor.layout();
            //Added Key Event on Edit Button
            button.addKeyListener(new KeyListener() {

                @Override
                public void keyReleased(KeyEvent event) {
                    if (event.keyCode == SWT.CTRL || event.keyCode == SWT.COMMAND) {
                        ctrlKeyPressed = false;
                    }
                }

                @Override
                public void keyPressed(KeyEvent event) {
                    if (event.keyCode == SWT.CTRL || event.keyCode == SWT.COMMAND) {
                        ctrlKeyPressed = true;
                    }

                    if (ctrlKeyPressed && event.keyCode == Constants.KEY_D) {
                        deleteRow(parameterTableViewer);
                    }

                    else if (ctrlKeyPressed && event.keyCode == Constants.KEY_N) {
                        addNewRow(parameterTableViewer);
                    }

                    else if (ctrlKeyPressed && event.keyCode == SWT.ARROW_UP) {
                        moveRowUp(parameterTableViewer);
                    }

                    else if (ctrlKeyPressed && event.keyCode == SWT.ARROW_DOWN) {
                        moveRowDown(parameterTableViewer);
                    }
                }
            });
            button.addSelectionListener(new SelectionAdapter() {

                @Override
                public void widgetSelected(SelectionEvent e) {
                    String initialParameterValue = item.getText(PROPERTY_VALUE_COLUMN_INDEX);
                    ParamterValueDialog paramterValueDialog = new ParamterValueDialog(getShell(),
                            XMLUtil.formatXML(initialParameterValue));
                    paramterValueDialog.open();

                    int index = Arrays.asList(parameterTableViewer.getTable().getItems()).indexOf(item);

                    if (StringUtils.isNotEmpty(paramterValueDialog.getParamterValue())) {
                        String newParameterValue = paramterValueDialog.getParamterValue().replaceAll("\r", "")
                                .replaceAll("\n", "").replaceAll("\t", "").replace("  ", "");
                        parameters.get(index).setParameterValue(newParameterValue);
                    } else {
                        parameters.get(index).setParameterValue("");
                    }

                    parameterTableViewer.refresh();
                    applyButton.setEnabled(true);
                }
            });

            item.addDisposeListener(new DisposeListener() {

                @Override
                public void widgetDisposed(DisposeEvent e) {
                    button.dispose();
                    buttonPane.dispose();
                    editor.dispose();
                }
            });
        }
    });

    parameterTableViewer.setInput(parameters);
    getShell().setFocus();
    enableTabbing(filePathTableViewer);
    setTableLayoutToMappingTable(parameterTableViewer);

    parameterTableViewer.getTable().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            addNewRow(parameterTableViewer);
            applyButton.setEnabled(true);
        }

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

From source file:it.uniba.di.cdg.econference.planningpoker.ui.DefaultEstimatesViewUIProvider.java

License:Open Source License

@Override
public void createColumns(TableViewer viewer) {
    String[] titles = new String[] { "Participant", "Estimate", };
    int[] bounds = new int[] { 200, 80 };
    AutoResizeTableLayout layout = (AutoResizeTableLayout) viewer.getTable().getLayout();
    for (int i = 0; i < titles.length; i++) {
        TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
        column.getColumn().setText(titles[i]);
        column.getColumn().setWidth(bounds[i]);
        column.getColumn().setResizable(true);
        column.getColumn().setMoveable(true);
        layout.addColumnData(new ColumnWeightData(bounds[i]));
        column.setLabelProvider(new CellLabelProvider() {

            @Override//from www .j  a  va2s .c o m
            public void update(ViewerCell cell) {
                Object[] element = (Object[]) cell.getElement();
                if (element != null) {
                    int index = cell.getColumnIndex();
                    switch (index) {
                    case 0:
                        if (element[0] instanceof IParticipant) {
                            IParticipant participant = (IParticipant) element[0];
                            cell.setText(participant.getNickName());
                        }
                        break;
                    case 1:
                        if (element[1] instanceof IPokerCard) {
                            IPokerCard card = (IPokerCard) element[1];
                            if (card != null)
                                cell.setText(card.getStringValue());
                            else //votes are hidden
                                cell.setText("Hidden");
                        }
                        break;
                    }
                }
            }
        });
    }
    Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
}