Example usage for org.eclipse.jface.viewers ColumnViewerEditorActivationEvent MOUSE_CLICK_SELECTION

List of usage examples for org.eclipse.jface.viewers ColumnViewerEditorActivationEvent MOUSE_CLICK_SELECTION

Introduction

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

Prototype

int MOUSE_CLICK_SELECTION

To view the source code for org.eclipse.jface.viewers ColumnViewerEditorActivationEvent MOUSE_CLICK_SELECTION.

Click Source Link

Document

if a cell is selected using a single click of the mouse

Usage

From source file:com.gorillalogic.monkeyconsole.tableview.MonkeyTalkTabularEditor.java

License:Open Source License

/**
 * Creates the main window's contents//from   w  w  w.j a v  a2s.c  o m
 * 
 * @param parent
 *            the main window
 * @return Control
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    // Add the TableViewer
    tv = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);

    tv.setContentProvider(new CommandContentProvider());
    tv.setInput(commands);

    table = tv.getTable();
    table.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableColumnLayout layout = new TableColumnLayout();
    composite.setLayout(layout);

    // Row Number Column
    TableViewerColumn row_col = createTableViewerColumn(ROW, 100, 0);
    row_col.setLabelProvider(new RowNumberLabelProvider(commands));
    layout.setColumnData(row_col.getColumn(), new ColumnWeightData(10));

    // Component Type Column
    TableViewerColumn component_col = createTableViewerColumn(COMPONENT, 100, 1);
    component_col.setLabelProvider(new ComponentLabelProvider());
    component_col.setEditingSupport(new ComponentEditingSupport(tv, limitedComponentSet) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(component_col.getColumn(), new ColumnWeightData(30));

    TableViewerColumn monkeyid_col = createTableViewerColumn(MONKEYID, 100, 2);
    monkeyid_col.setLabelProvider(new MonkeyidLabelProvider());
    monkeyid_col.setEditingSupport(new MonkeyidEditingSupport(tv) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(monkeyid_col.getColumn(), new ColumnWeightData(25));

    TableViewerColumn action_col = createTableViewerColumn(ACTION, 100, 3);
    action_col.setLabelProvider(new ActionLabelProvider());
    action_col.setEditingSupport(new ActionEditingSupport(tv) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(action_col.getColumn(), new ColumnWeightData(30));

    TableViewerColumn args_col = createTableViewerColumn(ARGS, 100, 4);
    args_col.setLabelProvider(new ArgsLabelProvider());
    args_col.setEditingSupport(new ArgsEditingSupport(tv) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(args_col.getColumn(), new ColumnWeightData(40));

    TableViewerColumn timeout_col = createTableViewerColumn(TIMEOUT, 100, 5);
    timeout_col.setLabelProvider(new TimeoutLabelProvider());
    timeout_col.setEditingSupport(new TimeoutEditingSupport(tv) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(timeout_col.getColumn(), new ColumnWeightData(20));

    TableViewerColumn thinktime_col = createTableViewerColumn(THINKTIME, 100, 6);
    thinktime_col.setLabelProvider(new ThinktimeLabelProvider());
    thinktime_col.setEditingSupport(new ThinktimeEditingSupport(tv) {
        public void dataChanged() {
            MonkeyTalkTabularEditor.this.doDataChanged();
        };
    });
    layout.setColumnData(thinktime_col.getColumn(), new ColumnWeightData(20));

    String extencion = FilenameUtils
            .getExtension(((FileEditorInput) this.getEditorInput()).getPath().toFile().getName());
    if (extencion.equals("mt")) {
        TableViewerColumn shouldfail_col = createTableViewerColumn(SHOULDFAIL, 100, 7);
        shouldfail_col.getColumn().setAlignment(SWT.CENTER);
        shouldfail_col.setLabelProvider(new ShouldFailLabelProvider(tv));
        shouldfail_col.setEditingSupport(new ShouldFailEditingSupport(tv) {
            public void dataChanged() {
                MonkeyTalkTabularEditor.this.doDataChanged();
            };
        });

        layout.setColumnData(shouldfail_col.getColumn(), new ColumnWeightData(15));
    }

    tv.getTable().addListener(SWT.MenuDetect, new Listener() {
        public void handleEvent(Event event) {

            if (menueventsCaught != event.time) {
                new ContextMenu(MonkeyTalkTabularEditor.this, event).show();
                menueventsCaught = event.time;
            }

        }
    });
    table.addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event e) {
            TableItem item = table.getItem(new Point(e.x, e.y));
            if (item == null) {

            } else { // click link case
                String comp = ((TableRow) item.getData()).getComponentType();
                if (comp != null && (comp.equalsIgnoreCase("Script") || comp.equalsIgnoreCase("Test")
                        || comp.equalsIgnoreCase("SetUp") || comp.equalsIgnoreCase("Teardown"))) {
                    try {

                        IEditorPart ieditorpart = MonkeyTalkTabularEditor.this.getEditorSite().getPage()
                                .getActiveEditor();
                        String dotMt = ".mt";
                        if (((TableRow) item.getData()).getMonkeyId().contains(".mt")
                                || ((TableRow) item.getData()).getMonkeyId().contains(".js")) {
                            dotMt = "";
                        }
                        IFile fileToBeOpened = ((IFileEditorInput) ieditorpart.getEditorInput()).getFile()
                                .getProject().getFile(((TableRow) item.getData()).getMonkeyId() + dotMt);

                        IEditorInput editorInput = new FileEditorInput(fileToBeOpened);
                        MonkeyTalkTabularEditor.this.getEditorSite().getPage().openEditor(editorInput,
                                "com.gorillalogic.monkeyconsole.editors.FoneMonkeyTestEditor");
                        commandKeyDown = false;
                    } catch (CoreException e2) {
                        // TODO Auto-generated catch block
                        e2.printStackTrace();
                    }
                }
            }

        }

    });
    table.addListener(SWT.MouseUp, new Listener() {

        @Override
        public void handleEvent(Event e) {
            TableItem item = table.getItem(new Point(e.x, e.y));
            if (item == null) {
                if (e.y < (table.getItemCount() * table.getItemHeight()) + table.getItemHeight()) {
                    appendRow();
                }
            } else { // click link case
                String comp = ((TableRow) item.getData()).getComponentType();
                if (comp != null && commandKeyDown && tv.getCell(new Point(e.x, e.y)).getColumnIndex() == 2
                        && (comp.equalsIgnoreCase("Script") || comp.equalsIgnoreCase("Test")
                                || comp.equalsIgnoreCase("Run") || comp.equalsIgnoreCase("RunWith")
                                || comp.equalsIgnoreCase("SetUp") || comp.equalsIgnoreCase("Teardown"))) {
                    try {

                        IEditorPart ieditorpart = MonkeyTalkTabularEditor.this.getEditorSite().getPage()
                                .getActiveEditor();
                        IFile fileToBeOpened = ((IFileEditorInput) ieditorpart.getEditorInput()).getFile()
                                .getProject().getFile(tv.getCell(new Point(e.x, e.y)).getText() + ".mt");

                        IEditorInput editorInput = new FileEditorInput(fileToBeOpened);
                        MonkeyTalkTabularEditor.this.getEditorSite().getPage().openEditor(editorInput,
                                "com.gorillalogic.monkeyconsole.editors.FoneMonkeyTestEditor");
                        commandKeyDown = false;
                    } catch (CoreException e2) {
                        // TODO Auto-generated catch block
                        e2.printStackTrace();
                    }
                }
            }

        }
    });
    // FOCUS TRAVERSAL
    FocusCellHighlighter highlighter = new FocusCellHighlighter(tv) {

    };

    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(tv, highlighter) {

    };

    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tv) {
        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(tv, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.addKeyListener(new KeyListener() {

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

        }

        @Override
        public void keyReleased(KeyEvent arg0) {
            if (arg0.keyCode == SWT.CTRL || arg0.keyCode == SWT.COMMAND) {
                commandKeyDown = false;
            }
            if (commandKeyDown && (arg0.character == 'P' || arg0.character == 'p')) {
                if (monkeyControls.isCurrentlyConnected() && !monkeyControls.isRecordingON()
                        && getLimitedComponentSet() == null)
                    monkeyControls.startReplayRange(tv.getTable().getSelectionIndex(),
                            tv.getTable().getSelectionIndex() + tv.getTable().getSelectionCount());
            }
            System.out.println(arg0.keyCode);
            if (arg0.keyCode == SWT.DEL || arg0.keyCode == 8) {
                deleteRows(getTv().getTable().getSelectionIndices());
            }
        }

    });
    int ops = DND.DROP_COPY | DND.DROP_MOVE;
    Transfer[] transfers = new Transfer[] { TextTransfer.getInstance() };
    tv.addDropSupport(ops, transfers, new GadgetTableDropAdapter(tv));
    return composite;
}

From source file:com.ibm.etools.mft.conversion.esb.editor.parameter.GlobalOptionsEditor.java

License:Open Source License

protected TableViewer createConverterSection(final ScrolledForm form, String sectionTitle, String sectionDesc,
        String[] columnHeadings, String[] columnProperties, int[] columnWidthes,
        final String classSelectionMessage, ILabelProvider labelProvider, final Class baseClass) {
    Section section = getToolkit().createSection(form.getBody(),
            Section.DESCRIPTION | Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
    TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB);
    td.colspan = 1;//from  w  ww  .ja  v  a  2s  .com
    section.setLayoutData(td);
    section.addExpansionListener(new ExpansionAdapter() {
        public void expansionStateChanged(ExpansionEvent e) {
            form.reflow(true);
        }
    });
    section.setText(sectionTitle);
    section.setDescription(sectionDesc);
    Composite sectionClient = getToolkit().createComposite(section);
    sectionClient.setLayout(new GridLayout(2, false));
    section.setClient(sectionClient);

    final TableViewer viewer = new TableViewer(sectionClient, SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.heightHint = 130;
    viewer.getControl().setLayoutData(data);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(labelProvider);
    viewer.addDoubleClickListener(this);
    viewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            Converter c1 = (Converter) e1;
            Converter c2 = (Converter) e2;
            return c1.getType().compareTo(c2.getType());
        }
    });

    for (int i = 0; i < columnHeadings.length; i++) {
        TableColumn column = new TableColumn(viewer.getTable(), SWT.None);
        column.setText(columnHeadings[i]);
        column.setResizable(true);
        column.setWidth(columnWidthes[i]);
    }
    viewer.setColumnProperties(columnProperties);

    viewer.setCellEditors(
            new CellEditor[] { null, null, null, new DialogCellEditor((Composite) viewer.getControl()) {
                @Override
                protected Object openDialogBox(Control cellEditorWindow) {
                    Converter converter = (Converter) ((IStructuredSelection) viewer.getSelection())
                            .getFirstElement();
                    ClassSelectionDialog d = new ClassSelectionDialog(cellEditorWindow.getShell(),
                            (ClassDefinition) getValue(), converter.getType(), classSelectionMessage,
                            baseClass);
                    if (d.open() == ClassSelectionDialog.OK) {
                        if (d.getClazz() == null) {
                            return d.getModel();
                        }
                        if (d.getClazz().length() == 0) {
                            doSetValue(null);
                            return null;
                        }
                        ClassDefinition def = new ClassDefinition();
                        def.setResourceType(d.getResourceType());
                        def.setResourcePath(d.getResourcePath());
                        def.setClazz(d.getClazz());
                        return def;
                    }
                    return d.getModel();
                }

                protected void updateContents(Object value) {
                    if (value != null) {
                        if (value != null && value.toString().length() == 0) {
                            value = WESBConversionMessages.GlobalOptionsEditor_defaultConverter;
                        } else if (value instanceof ClassDefinition) {
                            value = ((ClassDefinition) value).getClazz();
                        }
                    } else {
                        ClassDefinition oldValue = null;
                        if (converterBeingEditted != null) {
                            oldValue = converterBeingEditted.getClazz();
                            converterBeingEditted.setClazz(null);
                        }
                        try {
                            if (converterBeingEditted instanceof PrimitiveConverter) {
                                IPrimitiveConverter ci = PrimitiveManager
                                        .getConverter(converterBeingEditted.getType(), null, getModel());
                                String s = ci.getClass().getName();
                                value = PrimitiveManager.getConverterDisplayName(s);
                            } else if (converterBeingEditted instanceof BindingConverter) {
                                IBindingConverter ci = BindingManager
                                        .getConverter(converterBeingEditted.getType(), null, getModel());
                                String s = ci.getClass().getName();
                                value = BindingManager.getConverterDisplayName(s);
                            }
                        } catch (Exception e) {
                            value = ""; //$NON-NLS-1$
                        } finally {
                            if (converterBeingEditted != null) {
                                converterBeingEditted.setClazz(oldValue);
                            }
                        }
                    }
                    super.updateContents(value);
                }
            } });
    viewer.setCellModifier(new ICellModifier() {

        @Override
        public void modify(Object element, String property, Object value) {
            TableItem ti = (TableItem) element;
            Converter c = (Converter) ti.getData();
            c.setClazz((ClassDefinition) value);
            viewer.refresh(c);
            changed();
        }

        @Override
        public Object getValue(Object element, String property) {
            Converter c = (Converter) element;
            converterBeingEditted = (Converter) element;
            return c.getClazz();
        }

        @Override
        public boolean canModify(Object element, String property) {
            if ("Converter Class".equals(property)) { //$NON-NLS-1$
                return true;
            }
            return false;
        }

    });

    FocusCellOwnerDrawHighlighter highlighter = new FocusCellOwnerDrawHighlighter(viewer);

    if (WESBConversionMessages.GlobalOptionsEditor_primitiveConverters.equals(sectionTitle))
        primitiveHighlighter = highlighter;
    else if (WESBConversionMessages.GlobalOptionsEditor_bindingConverters.equals(sectionTitle))
        bindingHighlighter = highlighter;

    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, highlighter);

    ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) {

        @Override
        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;
        }
    };

    activationSupport.setEnableEditorActivationWithKeyboard(true);

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

    return viewer;
}

From source file:com.ibm.etools.mft.conversion.esb.editor.parameter.SourceProjectEditor.java

License:Open Source License

@Override
public void createControls(Composite parent) {
    updateProjectsInModel();//w ww  . j  a va  2 s . c o  m

    Composite container = new Composite(parent, SWT.None);
    container.setLayout(new GridLayout(2, false));
    container.setLayoutData(new GridData(GridData.FILL_BOTH));
    rootComposite = container;

    importLink = new Link(container, SWT.None);
    importLink.setText(WESBConversionMessages.SourceProjectEditor_importLink);
    GridData data = new GridData();
    data.verticalAlignment = SWT.BEGINNING;
    data.horizontalSpan = 2;
    importLink.setLayoutData(data);
    importLink.addSelectionListener(this);

    viewer = new CheckboxTreeViewer(container, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setHeaderVisible(true);
    data = new GridData(GridData.FILL_BOTH);
    data.horizontalSpan = 2;
    // data.heightHint = 200;
    viewer.getTree().setLayoutData(data);
    for (int i = 0; i < COLUMN_HEADINGS.length; i++) {
        TreeColumn column = new TreeColumn(viewer.getTree(), SWT.None);
        column.setText(COLUMN_HEADINGS[i]);
        column.setResizable(true);
        column.setWidth(WIDTHES[i]);
    }
    viewer.addCheckStateListener(this);

    viewer.setContentProvider(new WESBProjectContentProvider());
    viewer.setLabelProvider(new ProjectLabelProvider());
    CustomTextCellEditor cellEditor = new CustomTextCellEditor(viewer.getTree()) {
        @Override
        public String isValid(Object value) {
            return getErrorMessage();
        }
    };
    viewer.setCellEditors(new CellEditor[] { null, cellEditor });
    cellEditor.setValidator(new ICellEditorValidator() {
        @Override
        public String isValid(Object value) {
            return isValidTargetName(value.toString());
        }
    });

    viewer.setCellModifier(new ICellModifier() {

        @Override
        public void modify(Object element, String property, Object value) {
            IProject p = (IProject) ((TreeItem) element).getData();
            WESBProject wesbp = projectsInModel.get(p.getName());
            if (wesbp == null) {
                wesbp = new WESBProject();
                wesbp.setName(p.getName());
                getModel().getSourceProjects().add(wesbp);
                updateProjectsInModel();
            }
            if (value != null) {
                wesbp.setTargetName(value.toString());
                viewer.refresh(p);
                changed();
            }
        }

        @Override
        public Object getValue(Object element, String property) {
            IProject p = (IProject) element;
            WESBProject wesbp = projectsInModel.get(p.getName());
            if (wesbp == null) {
                return ""; //$NON-NLS-1$
            }
            String targetName = wesbp.getTargetName();
            return targetName == null ? "" : targetName; //$NON-NLS-1$
        }

        @Override
        public boolean canModify(Object element, String property) {
            projectBeingEditted = (IProject) element;
            return true;
        }
    });
    viewer.setInput(ResourcesPlugin.getWorkspace());
    viewer.setColumnProperties(PROPERTIES);

    FocusCellOwnerDrawHighlighter projectHighlighter = new FocusCellOwnerDrawHighlighter(viewer);

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, projectHighlighter);

    ColumnViewerEditorActivationStrategy activationSupport = new ColumnViewerEditorActivationStrategy(viewer) {

        @Override
        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;
        }
    };

    activationSupport.setEnableEditorActivationWithKeyboard(true);

    TreeViewerEditor.create(viewer, focusCellManager, activationSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    Composite container2 = new Composite(container, SWT.None);
    GridLayout layout = new GridLayout(2, false);
    layout.marginWidth = 0;
    container2.setLayout(layout);
    data = new GridData();
    data.horizontalSpan = 2;
    data.horizontalIndent = 0;
    container2.setLayoutData(data);

    selectAll = new Button(container2, SWT.NONE);
    selectAll.setText(WESBConversionMessages.projectSelectionPage_SelectAll);
    data = new GridData();
    data.horizontalAlignment = SWT.BEGINNING;
    selectAll.setLayoutData(data);
    selectAll.addSelectionListener(this);

    deselectAll = new Button(container2, SWT.NONE);
    deselectAll.setText(WESBConversionMessages.projectSelectionPage_DeselectAll);
    data = new GridData();
    data.horizontalAlignment = SWT.BEGINNING;
    deselectAll.setLayoutData(data);
    deselectAll.addSelectionListener(this);

    includeReferencedProjectOption = new Button(container, SWT.CHECK);
    includeReferencedProjectOption
            .setText(WESBConversionMessages.projectSelectionPage_IncludeReferencedProject);
    includeReferencedProjectOption
            .setSelection(getModel().getGlobalConfiguration().isIncludeReferencedProject());

    updateViewer();

    if (includeReferencedProjectOption.getSelection()) {
        ensureAllReferencedProjectsAreChecked();
        updateModel();
    }

    includeReferencedProjectOption.addSelectionListener(this);
    ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE);

}

From source file:com.mentor.nucleus.bp.ui.sem.viewers.SEMTableViewer.java

License:Open Source License

public SEMTableViewer(Composite parent, int style) {
    super(parent, style);
    getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    getTable().setHeaderVisible(true);/* ww w  . j a  v a 2 s.  c  om*/
    getTable().setLinesVisible(true);
    TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(this,
            new SEMFocusCellHighlighter(this));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(this) {
        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(this, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

}

From source file:com.rcpcompany.uibindings.internal.ManagerImpl.java

License:Open Source License

@Override
public boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event, IValueBindingCell cell) {
    Class<?> dataType = null;
    /*/*  w  w w  . jav  a 2 s. com*/
     * The tree column of a tree is special: mouse clicks does not work!
     * 
     * Otherwise, it will not be possible to click or double click on a item in the column to
     * open and editor...
     */
    boolean treeColumn = false;
    if (cell != null) {
        dataType = cell.getLabelBinding().getDataType().getDataType();
        final IColumnBinding column = cell.getColumnBinding();
        if (column != null) {
            final IViewerBinding vb = column.getViewerBinding();
            if (vb.getControl() instanceof Tree && (vb.getColumns().indexOf(column) == 0)) {
                treeColumn = true;
            }
        }
    }
    final boolean isBoolean = dataType == Boolean.class || dataType == Boolean.TYPE;
    switch (event.eventType) {
    case ColumnViewerEditorActivationEvent.TRAVERSAL:
        /*
         * Travesal within a table or tree with TAB or arrows.
         */
        return true;
    case ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION:
        if (treeColumn)
            return false;
        /*
         * Filter out the cases where a modifier - e.g. CTRL - has been pressed.
         */
        final MouseEvent e = (MouseEvent) event.sourceEvent;
        if ((isEditCellSingleClick() || isBoolean) && (e.button == 1) && (e.stateMask == 0))
            return true;
        return false;
    case ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION:
        if (treeColumn)
            return false;
        return true;
    case ColumnViewerEditorActivationEvent.KEY_PRESSED:
        if ((event.keyCode == SWT.CR || event.keyCode == SWT.F2) && (event.stateMask == 0))
            return true;
        if (treeColumn)
            return false;
        if (isBoolean && (event.character == ' '))
            return true;
        if (isEditCellAnyKey() && !isBoolean) {
            /*
             * If auto-editing is enabled, every character - expect control characters - will
             * start editing
             */
            if (event.character != 0 && !Character.isISOControl(event.character))
                return true;
        }
        return false;
    default:
        break;
    }
    return false;
}

From source file:com.spextreme.jenkins.remote.ui.ConfigurationDialog.java

License:Apache License

/**
 * Creates the section that defines items used to access and control jenkins.
 * /* w  ww.j a va  2  s  .  co  m*/
 * @param parent The parent composite.
 */
private void createJenkinsSection(final Composite parent) {
    final GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    final GridData gridData1 = new GridData();
    gridData1.grabExcessHorizontalSpace = true;
    gridData1.horizontalAlignment = GridData.FILL;
    gridData1.verticalAlignment = GridData.FILL;
    gridData1.grabExcessVerticalSpace = true;

    final Composite compositeTop = new Composite(parent, SWT.NONE);
    compositeTop.setLayout(gridLayout);

    mServerTableViewer = new TableViewer(compositeTop, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER);
    mServerTableViewer.setLabelProvider(new ServerLabelProvider());
    mServerTableViewer.setContentProvider(getContentProvider());
    mServerTableViewer.setSorter(new ViewerSorter());
    mServerTableViewer.getControl().setLayoutData(gridData1);
    createTableColumns(mServerTableViewer);
    createCellEditor(mServerTableViewer);

    mServerTableViewer.setInput(mConfigData.getServers());
    mServerTableViewer.getTable().pack();

    final TableViewerFocusCellManager focusManager = new TableViewerFocusCellManager(mServerTableViewer,
            new FocusCellOwnerDrawHighlighter(mServerTableViewer));

    final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(
            mServerTableViewer) {
        @Override
        protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) {
            final boolean result = (event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL)
                    || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION)
                    || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION)
                    || ((event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED)
                            && (event.keyCode == SWT.CR))
                    || (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC);

            return result;
        }
    };
    TableViewerEditor.create(mServerTableViewer, focusManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    createCompositeTopButtons(compositeTop);
}

From source file:com.xored.q7.quality.mockups.issues.parts.internal.AbstractComboBoxCellEditor.java

License:Open Source License

public void activate(ColumnViewerEditorActivationEvent activationEvent) {
    super.activate(activationEvent);
    if (activationStyle != SWT.NONE) {
        boolean dropDown = false;
        if ((activationEvent.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                || activationEvent.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION)
                && (activationStyle & DROP_DOWN_ON_MOUSE_ACTIVATION) != 0) {
            dropDown = true;//from   www . ja  v  a  2  s. co  m
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                && (activationStyle & DROP_DOWN_ON_KEY_ACTIVATION) != 0) {
            dropDown = true;
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC
                && (activationStyle & DROP_DOWN_ON_PROGRAMMATIC_ACTIVATION) != 0) {
            dropDown = true;
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                && (activationStyle & DROP_DOWN_ON_TRAVERSE_ACTIVATION) != 0) {
            dropDown = true;
        }

        if (dropDown) {
            getControl().getDisplay().asyncExec(new Runnable() {

                public void run() {
                    ((CCombo) getControl()).setListVisible(true);
                }

            });

        }
    }
}

From source file:cop.swt.widgets.viewers.ibm._AbstractComboBoxCellEditor.java

License:Open Source License

@Override
public void activate(ColumnViewerEditorActivationEvent activationEvent) {
    super.activate(activationEvent);
    if (activationStyle != SWT.NONE) {
        boolean dropDown = false;
        if ((activationEvent.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                || activationEvent.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION)
                && (activationStyle & DROP_DOWN_ON_MOUSE_ACTIVATION) != 0) {
            dropDown = true;//  w  w  w .j a  va  2 s. co  m
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                && (activationStyle & DROP_DOWN_ON_KEY_ACTIVATION) != 0) {
            dropDown = true;
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC
                && (activationStyle & DROP_DOWN_ON_PROGRAMMATIC_ACTIVATION) != 0) {
            dropDown = true;
        } else if (activationEvent.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                && (activationStyle & DROP_DOWN_ON_TRAVERSE_ACTIVATION) != 0) {
            dropDown = true;
        }

        if (dropDown) {
            getControl().getDisplay().asyncExec(new Runnable() {

                @Override
                public void run() {
                    ((CCombo) getControl()).setListVisible(true);
                }

            });

        }
    }
}

From source file:de.byteholder.geoclipse.mapprovider.DialogMPProfile.java

License:Open Source License

private Control createUI114Viewer(final Composite parent, final PixelConverter pixelConverter) {

    final TreeColumnLayout treeLayout = new TreeColumnLayout();

    final Composite layoutContainer = new Composite(parent, SWT.NONE);
    layoutContainer.setLayout(treeLayout);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(layoutContainer);
    {//from  ww  w .j ava  2 s  . c o m

        final Tree tree = new Tree(layoutContainer,
                SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);

        tree.setHeaderVisible(true);
        tree.setLinesVisible(true);

        /*
         * tree viewer
         */
        _treeViewer = new ContainerCheckedTreeViewer(tree);

        _treeViewer.setContentProvider(new MapContentProvider());
        _treeViewer.setUseHashlookup(true);

        _treeViewer.addDoubleClickListener(new IDoubleClickListener() {
            public void doubleClick(final DoubleClickEvent event) {

                final Object selectedItem = ((IStructuredSelection) _treeViewer.getSelection())
                        .getFirstElement();
                if (selectedItem != null) {

                    if (selectedItem instanceof TVIMapProvider) {

                        // expand/collapse current item

                        final MP mapProvider = ((TVIMapProvider) selectedItem).getMapProviderWrapper().getMP();

                        if ((mapProvider instanceof MPWms) == false) {

                            // all none wms map provider can be toggled

                            toggleMapVisibility(tree);

                        } else {

                            // expand/collapse item

                            if (_treeViewer.getExpandedState(selectedItem)) {
                                _treeViewer.collapseToLevel(selectedItem, 1);
                            } else {
                                _treeViewer.expandToLevel(selectedItem, 1);
                            }
                        }

                    } else if (selectedItem instanceof TVIWmsLayer) {
                        toggleMapVisibility(tree);
                    }
                }
            }
        });

        _treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(final SelectionChangedEvent event) {
                onSelectMP(event.getSelection());
            }
        });

        _treeViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
                new DragSourceListener() {

                    public void dragFinished(final DragSourceEvent event) {

                        final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();

                        if (event.doit == false) {
                            return;
                        }

                        transfer.setSelection(null);
                        transfer.setSelectionSetTime(0);
                    }

                    public void dragSetData(final DragSourceEvent event) {
                        // data are set in LocalSelectionTransfer
                    }

                    public void dragStart(final DragSourceEvent event) {

                        final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer();
                        final ITreeSelection selection = (ITreeSelection) _treeViewer.getSelection();

                        transfer.setSelection(selection);
                        transfer.setSelectionSetTime(_dragStartTime = event.time & 0xFFFFFFFFL);

                        // only ONE map provider/layer is allowed to be dragged
                        final Object firstElement = selection.getFirstElement();
                        event.doit = (selection.size() == 1) && ((firstElement instanceof TVIMapProvider)
                                || (firstElement instanceof TVIWmsLayer));
                    }
                });

        _treeViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() },
                new ProfileDropAdapter(this, _treeViewer));

        tree.addKeyListener(new KeyListener() {

            public void keyPressed(final KeyEvent e) {

                /*
                 * toggle the visibility with the space key
                 */
                if (e.keyCode == ' ') {
                    toggleMapVisibility(tree);
                }
            }

            public void keyReleased(final KeyEvent e) {
            }
        });

        /*
         * add editing support for the tree
         */
        final TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(_treeViewer,
                new FocusCellOwnerDrawHighlighter(_treeViewer));

        final ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(
                _treeViewer) {

            @Override
            protected boolean isEditorActivationEvent(final ColumnViewerEditorActivationEvent event) {
                return (event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL)
                        || (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION)
                        || ((event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED)
                                && (event.keyCode == SWT.F2))
                        || (event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC);
            }
        };

        TreeViewerEditor.create(_treeViewer, //
                focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL //
                        | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR //
                        | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    }

    createUI116ViewerColumns(treeLayout, pixelConverter);

    return layoutContainer;
}

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

License:Open Source License

/**
 * Creates the table viewer and columns.
 * /*from ww w  .j  a va2s  .  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;
        }
    });
}