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

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

Introduction

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

Prototype

@Override
public void setSelection(ISelection selection) 

Source Link

Document

The viewer implementation of this ISelectionProvider method make the new selection for this viewer without making it visible.

Usage

From source file:com.amalto.workbench.widgets.TisTableViewer.java

License:Open Source License

@Override
protected void createViewer() {
    super.createTable();
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
    table.setLayoutData(gd);/*www.  ja  v a 2 s.c om*/
    gd.heightHint = 80;
    // Up Down Delete button group
    Composite stepUpDownComposite = toolkit.createComposite(mainComposite, SWT.NONE);
    stepUpDownComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    GridLayout layout = new GridLayout(8, false);
    layout.marginTop = 0;
    layout.marginBottom = 0;
    layout.marginHeight = 0;
    stepUpDownComposite.setLayout(layout);
    //
    addButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    addButton.setToolTipText(Messages.Add);
    if (isXpath()) {
        addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_NEWXPATH.getPath()));
    } else {
        addButton.setImage(ImageCache.getCreatedImage(EImage.ADD_OBJ.getPath()));
    }
    addButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

            // check uniqueness by concatenating all the values
            List<Line> list = (List<Line>) getViewer().getInput();
            // Update the model
            Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]),
                    getInitValues());
            list.add(line);
            viewer.setInput(list);
            // update the instances viewer
            viewer.setSelection(null);
            viewer.refresh();
            viewer.getTable().select(viewer.getTable().getItemCount() - 1);
            markDirty();
        };
    });
    // Add Multi
    if (isAddMulti()) {
        Button selNewPathButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
        selNewPathButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
        selNewPathButton.setToolTipText(Messages.AddMultiple);
        selNewPathButton.setImage(ImageCache.getCreatedImage(EImage.SELECT_NEWXPATH.getPath()));
        selNewPathButton.addSelectionListener(new SelectionListener() {

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

            @SuppressWarnings("unchecked")
            public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

                xpathDialog = getNewXpathDlgInstance();
                xpathDialog.setConceptName(conceptName);
                xpathDialog.setBlockOnOpen(true);
                xpathDialog.open();

                if (xpathDialog.getReturnCode() == Window.OK) {
                    datamodelName = xpathDialog.getDataModelName();
                    String[] xpaths = xpathDialog.getXpath().split("&");//$NON-NLS-1$
                    List<Line> list = new LinkedList<Line>();
                    for (String xpath : xpaths) {
                        // check uniqueness by concatenating all the values
                        list = (List<Line>) getViewer().getInput();
                        // Update the model
                        Line line = new Line(columns.toArray(new ComplexTableViewerColumn[columns.size()]),
                                getLineValues(xpath, 0));
                        list.add(line);
                    }
                    viewer.setInput(list);
                    // update the instances viewer
                    viewer.setSelection(null);
                    viewer.refresh();
                    viewer.getTable().select(viewer.getTable().getItemCount() - 1);

                    markDirty();
                }
            };
        });
    }
    deleteButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    deleteButton.setToolTipText(Messages.DeleteSelectedItem);
    deleteButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    deleteButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            List<Line> input = (List<Line>) viewer.getInput();
            TableItem[] items = viewer.getTable().getSelection();
            for (int i = 0; i < items.length; i++) {
                input.remove(items[i].getData());
            }
            viewer.setInput(input);
            markDirty();
        };
    });
    deleteButton.setImage(ImageCache.getCreatedImage(EImage.DELETE_OBJ.getPath()));
    // delete all
    Button deleteAllButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    deleteAllButton.setToolTipText(Messages.DeleteAllItems);
    deleteAllButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    deleteAllButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            List<Line> items = (List<Line>) viewer.getInput();
            items.clear();
            viewer.setInput(items);
            viewer.refresh();
            markDirty();
        };
    });
    deleteAllButton.setImage(ImageCache.getCreatedImage(EImage.PROGRESS_REMALL.getPath()));

    upButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    upButton.setToolTipText(Messages.MoveUpSelectedItem);
    upButton.setImage(ImageCache.getCreatedImage(EImage.PREV_NAV.getPath()));
    upButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    upButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            int index = viewer.getTable().getSelectionIndex();
            if (index > 0 && index < viewer.getTable().getItemCount()) {
                // commit as we go
                if (mainPage != null) {
                    mainPage.setComitting(true);
                }
                List<Line> items = (List<Line>) viewer.getInput();
                Line line = items.get(index);
                items.remove(index);
                items.add(index - 1, line);

                viewer.refresh();

                if (mainPage != null) {
                    mainPage.setComitting(false);
                }
                markDirty();
            }
        };
    });
    downButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    downButton.setToolTipText(Messages.MovedownSelectedItem);
    downButton.setImage(ImageCache.getCreatedImage(EImage.NEXT_NAV.getPath()));
    downButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    downButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            int index = viewer.getTable().getSelectionIndex();
            if (index >= 0 && index < viewer.getTable().getItemCount() - 1) {
                // commit as we go
                if (mainPage != null) {
                    mainPage.setComitting(true);
                }
                List<Line> items = (List<Line>) viewer.getInput();
                Line line = items.get(index);
                items.remove(index);
                items.add(index + 1, line);
                // viewer.setInput(items);
                viewer.refresh();
                // TODO
                if (mainPage != null) {
                    mainPage.setComitting(false);
                }
                markDirty();
            }
        };
    });

    copyButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    copyButton.setToolTipText(Messages.CopySelectedItems);
    copyButton.setImage(ImageCache.getCreatedImage(EImage.COPY.getPath()));
    copyButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    copyButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            int[] indexs = viewer.getTable().getSelectionIndices();
            List<Line> copyLines = new ArrayList<Line>();
            for (int index : indexs) {
                if (index >= 0 && index <= viewer.getTable().getItemCount() - 1) {
                    List<Line> items = (List<Line>) viewer.getInput();
                    Line line = items.get(index);
                    Line copyLine = line.clone();
                    copyLines.add(copyLine);
                }
            }
            if (indexs.length > 0) {
                // enable all paste buttons
                HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
                if (btns != null) {
                    for (Button btn : btns) {
                        if (btn != null) {
                            btn.setEnabled(true);
                        }
                    }
                }
                // add to workbenchclipboard
                WorkbenchClipboard.getWorkbenchClipboard().setLines(String.valueOf(columns.size()), copyLines);
            }
        }
    });
    pastButton = toolkit.createButton(stepUpDownComposite, "", SWT.PUSH | SWT.CENTER);//$NON-NLS-1$
    pastButton.setToolTipText(Messages.PasteSelectedItem);
    pastButton.setImage(ImageCache.getCreatedImage(EImage.PASTE.getPath()));
    pastButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
    pastButton.setEnabled(false);
    pastButton.addSelectionListener(new SelectionListener() {

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

        @SuppressWarnings("unchecked")
        public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
            if (mainPage != null) {
                mainPage.setComitting(true);
            }
            boolean dirty = false;
            List<Line> items = (List<Line>) viewer.getInput();
            List<Line> cacheLine = WorkbenchClipboard.getWorkbenchClipboard()
                    .getLines(String.valueOf(columns.size()));
            List<Line> coloneLine = new ArrayList<Line>();
            for (Line l : cacheLine) {
                coloneLine.add(l.clone());
            }
            if (cacheLine.size() > 0) {
                items.addAll(coloneLine);
                dirty = true;
            }
            viewer.refresh();
            // TODO
            if (mainPage != null) {
                mainPage.setComitting(false);
            }
            if (dirty) {
                markDirty();
            }
        };
    });
    HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
    if (btns == null) {
        btns = new HashSet<Button>();
        pastBtns.put(String.valueOf(columns.size()), btns);
    }
    btns.add(pastButton);
    // Create the cell editors --> We actually discard those later: not natural for an user
    CellEditor[] editors = new CellEditor[columns.size()];
    for (int i = 0; i < columns.size(); i++) {
        if (columns.get(i).isText()) {
            editors[i] = new TextCellEditor(table);
        } else if (columns.get(i).isCombo()) {
            editors[i] = new ComboBoxCellEditor(table, columns.get(i).getComboValues(), SWT.READ_ONLY);
        } else if (columns.get(i).isXPATH()) {
            editors[i] = new XpathCellEditor(table, validators.get(columns.get(i)));
        } else if (columns.get(i).isMultiMessage()) {
            editors[i] = new MultiMessageEditor(table);
            multiMsg.setColumn(table.getColumn(i));
        } else if (columns.get(i).isValidationRule()) {
            editors[i] = createValidationRuleEditor();
            validationRule.setColumn(table.getColumn(i));
        }
    }
    viewer.setCellEditors(editors);

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

        public void dispose() {
        }

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

        @SuppressWarnings("unchecked")
        public Object[] getElements(Object inputElement) {
            ArrayList<Line> lines = (ArrayList<Line>) inputElement;
            return lines.toArray(new Line[lines.size()]);
        }
    });

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

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

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public void removeListener(ILabelProviderListener listener) {
        }

        public String getColumnText(Object element, int columnIndex) {
            Line line = (Line) element;
            if (columnIndex >= 0 && columnIndex < columns.size()) {
                for (KeyValue keyvalue : line.keyValues) {
                    if (keyvalue.key.equals(columns.get(columnIndex).getName())) {
                        String val = keyvalue.value;
                        if (columns.get(columnIndex).isNillable()) {
                            if (columns.get(columnIndex).getNillValue().equals(val)) {
                                val = columns.get(columnIndex).getNillDisplay();
                            }
                        }
                        return val;
                    }
                }
            }
            return "";//$NON-NLS-1$
        }

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

    // Set the column properties
    ArrayList<String> columnNames = new ArrayList<String>();
    for (ComplexTableViewerColumn column : columns) {
        columnNames.add(column.getName());
    }
    viewer.setColumnProperties(columnNames.toArray(new String[columnNames.size()]));

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

        public boolean canModify(Object element, String property) {
            return editable;
        }

        @SuppressWarnings("unchecked")
        public void modify(Object element, String property, Object value) {
            if (value instanceof Integer) {
                if (Integer.valueOf(value.toString()) == -1) {
                    return;
                }
            }
            // modify the text and combo cell value
            TableItem item = (TableItem) element;
            Line line = (Line) item.getData();
            int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
            if (columnIndex >= 0 && columnIndex < viewer.getColumnProperties().length) {
                if (isAColumnWithCombo(columnIndex)) {
                    String[] attrs = columns.get(columnIndex).getComboValues();
                    value = attrs[Integer.parseInt(value.toString())];
                }
                KeyValue kv = line.keyValues.get(columnIndex);
                boolean noChange = kv.value.equals(value.toString());
                kv.value = value.toString();
                viewer.refresh();
                if (!noChange) {
                    markDirty();
                }
            }
        }

        public Object getValue(Object element, String property) {
            int columnIndex = Arrays.asList(viewer.getColumnProperties()).indexOf(property);
            Line line = (Line) element;
            // add getting value from combo
            if (isAColumnWithCombo(columnIndex)) {
                String value = line.keyValues.get(columnIndex).value;
                String[] attrs = columns.get(columnIndex).getComboValues();
                return Arrays.asList(attrs).indexOf(value);
            }
            for (KeyValue keyvalue : line.keyValues) {
                if (property.equals(keyvalue.key)) {
                    if (keyvalue.value.equals("")) {//$NON-NLS-1$
                        return columns.get(columnIndex).getNillDisplay();
                    }
                    return keyvalue.value;
                }
            }
            return null;
        }

        private boolean isAColumnWithCombo(int columnIdx) {
            return columns.get(columnIdx).isCombo();
        }

    });

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

        public void keyPressed(KeyEvent e) {
        }

        @SuppressWarnings("unchecked")
        public void keyReleased(KeyEvent e) {
            if ((e.stateMask == 0) && (e.character == SWT.DEL) && (viewer.getSelection() != null)) {
                Line line = (Line) ((IStructuredSelection) viewer.getSelection()).getFirstElement();
                // update the underlying role and refresh the table
                // update the underlying model
                List<Line> items = (List<Line>) viewer.getInput();
                items.remove(line);
                // refresh
                viewer.refresh();
                // mark for update
                markDirty();
            }
        }
    });
    // add dispose listener
    viewer.getTable().addDisposeListener(new DisposeListener() {

        public void widgetDisposed(DisposeEvent e) {
            HashSet<Button> btns = pastBtns.get(String.valueOf(columns.size()));
            btns.remove(pastButton);
        }
    });
}

From source file:com.axmor.eclipse.typescript.debug.model.TypeScriptDebugTarget.java

License:Open Source License

protected void selectLine() {
    try {/*from ww w . ja v a 2 s . co m*/
        Thread.sleep(1000);
    } catch (Exception e1) {
        e1.printStackTrace();
    }

    for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
        IWorkbenchPage page = window.getActivePage();
        final LaunchView debugView = (LaunchView) page.findView(IDebugUIConstants.ID_DEBUG_VIEW);

        if (debugView != null) {
            final Viewer viewer = debugView.getViewer();
            debugView.asyncExec(new Runnable() {

                @Override
                public void run() {
                    List<Object> list = Lists.newArrayList();
                    list.add(getLaunch());
                    list.add(getDebugTarget());
                    try {
                        list.add(getDebugTarget().getThreads()[0]);
                        list.add(getDebugTarget().getThreads()[0].getTopStackFrame());
                    } catch (DebugException e) {
                        // Ignore
                    }

                    Object[] elements = list.toArray();
                    TreePath[] treePath = new TreePath[] { new TreePath(elements) };
                    final TreeSelection selection = new TreeSelection(treePath);
                    viewer.setSelection(selection);
                }

            });
            return;
        }
    }
}

From source file:com.centurylink.mdw.plugin.designer.views.ProcessExplorerContentProvider.java

License:Apache License

/**
 * Registers this content provider as a listener to changes on the new input
 * (for workflow element changes), and deregisters the viewer from the old
 * input. In response to these ElementChangeEvents, we update the viewer.
 *
 * For now we are only listening for changes to top level processes and
 * packages as well as definition documents such as scripts, templates and
 * pages.//w w w  .ja  v  a2  s .c  om
 */
@SuppressWarnings("unchecked")
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
    this.treeViewer = (TreeViewer) viewer;
    viewer.setSelection(null);

    if (newInput != oldInput) {
        if (oldInput != null) {
            List<WorkflowProject> oldProjects = (List<WorkflowProject>) oldInput;
            for (WorkflowProject oldProject : oldProjects)
                oldProject.removeElementChangeListener(this);
        }
        if (newInput != null) {
            List<WorkflowProject> newProjects = (List<WorkflowProject>) newInput;
            for (WorkflowProject newProject : newProjects)
                newProject.addElementChangeListener(this);
        }
    }
}

From source file:com.mentor.nucleus.bp.debug.ui.test.DebugUITestUtilities.java

License:Open Source License

public static void setSelectionInDebugTree(IProcess process) {
    IDebugView dv = BPDebugUtils.openDebugView(true);
    StructuredSelection sel = new StructuredSelection(process);
    Viewer viewer = dv.getViewer();
    viewer.setSelection(sel);
    if (viewer instanceof TreeViewer) {
        ((TreeViewer) viewer).expandAll();
    }/*  www.  j ava  2s .  c  om*/
    UIUtil.dispatchAll();
}

From source file:com.nokia.carbide.remoteconnections.view.ConnectionsView.java

License:Open Source License

public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL);

    TreeViewerColumn nameColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    nameColumn.setLabelProvider(new TreeColumnViewerLabelProvider(new NameLabelProvider()));
    nameColumn.getColumn().setText(Messages.getString("ConnectionsView.NameColumnHeader")); //$NON-NLS-1$
    nameColumn.setEditingSupport(new NameEditingSupport(nameColumn.getViewer()));
    ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(
            nameColumn.getViewer()) {//  w  w w . ja v  a2  s.  c om
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    TreeViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.DEFAULT);

    boldViewerFont = JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT);

    TreeViewerColumn typeColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    typeColumn.setLabelProvider(new TypeLabelProvider());
    typeColumn.getColumn().setText(Messages.getString("ConnectionsView.TypeColumnHeader")); //$NON-NLS-1$

    TreeViewerColumn statusColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    statusColumn.setLabelProvider(new StatusLabelProvider());
    statusColumn.getColumn().setText(Messages.getString("ConnectionsView.StatusColumnHeader")); //$NON-NLS-1$

    TreeViewerColumn descriptionColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    descriptionColumn.setLabelProvider(new DescriptionLabelProvider(this, descriptionColumn));
    descriptionColumn.getColumn().setText(Messages.getString("ConnectionsView.DescriptionColumnHeader")); //$NON-NLS-1$

    viewer.setContentProvider(new TreeNodeContentProvider());
    viewer.setInput(loadConnections());
    viewer.expandAll();
    viewer.getTree().setHeaderVisible(true);
    viewer.getControl().setData(UID, "viewer"); //$NON-NLS-1$
    viewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            return getNodeDisplayName(e1).compareToIgnoreCase(getNodeDisplayName(e2));
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            enableConnectionSelectedActions(false);
            enableServiceSelectedActions(false);
            ISelection selection = event.getSelection();
            if (!selection.isEmpty()) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                Object value = treeNode.getValue();
                if (value instanceof IConnection) {
                    enableConnectionSelectedActions(true);
                } else if (value instanceof IConnectedService) {
                    enableServiceSelectedActions(true);
                }
            }
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (!selection.isEmpty()) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                TreeNode treeNode = (TreeNode) structuredSelection.getFirstElement();
                Object value = treeNode.getValue();
                if (value instanceof IConnection) {
                    SettingsWizard wizard = new SettingsWizard((IConnection) value);
                    wizard.open(getViewSite().getShell());
                } else if (value instanceof IConnectedService) {
                    if (RemoteConnectionsActivator.getDefault().getShouldTestServices()) {
                        IConnectedService connectedService = (IConnectedService) value;
                        connectedService.setEnabled(true);
                        connectedService.testStatus();
                        ((EnableConnectedServiceAction) getAction(ENABLE_SERVICE_ACTION)).updateLabel();
                    }
                }
            }
        }
    });

    packColumns();

    makeActions();
    hookContextMenu();
    contributeToActionBars();
    hookAccelerators();

    connectionStoreChangedListener = new IConnectionsManagerListener() {
        public void connectionStoreChanged() {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    viewer.setInput(loadConnections());
                    viewer.expandAll();
                    packColumns();
                    if (viewer.getSelection().isEmpty() && viewer.getTree().getItemCount() > 0) {
                        TreeItem item = viewer.getTree().getItem(0);
                        if (item != null) {
                            viewer.getTree().select(item);
                        }
                    }
                    viewer.setSelection(viewer.getSelection()); // force selection changed
                }
            });
        }

        public void displayChanged() {
            refreshViewer();
        }
    };
    Registry.instance().addConnectionStoreChangedListener(connectionStoreChangedListener);

    connectionListener = new IConnectionListener() {

        public void currentConnectionSet(IConnection connection) {
            refreshViewer();
        }

        public void connectionRemoved(IConnection connection) {
            // presumably the viewer itself handles this...
        }

        public void connectionAdded(IConnection connection) {
            // presumably the viewer itself handles this...
        }
    };
    Registry.instance().addConnectionListener(connectionListener);

    RemoteConnectionsActivator.setHelp(parent, ".connections_view"); //$NON-NLS-1$
}

From source file:com.nokia.cdt.internal.debug.launch.wizard.MainExecutableSelectionWizardPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NULL);
    composite.setLayout(new GridLayout(1, false));
    composite.setLayoutData(new GridData());

    final Label exeLabel = new Label(composite, SWT.NONE);
    exeLabel.setText(getAltString("MainExecutableSelectionWizardPage.ExeLabel")); //$NON-NLS-1$
    exeLabel.setToolTipText(getAltString("MainExecutableSelectionWizardPage.ExeToolTip")); //$NON-NLS-1$
    exeLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false));
    exeLabel.setData(".uid", "MainExecutableSelectionWizardPage.exeLabel");

    viewer = new ComboViewer(composite, SWT.READ_ONLY);
    Combo combo = viewer.getCombo();/*from   www . j a  v a 2 s  . co m*/
    combo.setData(".uid", "MainExecutableCombo"); //$NON-NLS-1$ //$NON-NLS-2$
    combo.setToolTipText(getAltString("MainExecutableSelectionWizardPage.ExeToolTip")); //$NON-NLS-1$
    combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    combo.setVisibleItemCount(20);
    combo.setData(".uid", "MainExecutableSelectionWizardPage.combo");

    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider());

    viewer.setSorter(new ViewerSorter() {
        public int compare(Viewer viewer, Object o1, Object o2) {
            if (o1.equals(EMULATOR) || o2.equals(BROWSE_ITEM))
                return -1;
            if (o2.equals(EMULATOR) || o1.equals(BROWSE_ITEM))
                return 1;
            if (!asProcessToLaunch) { // put .exe before any other extension, if not as process to launch
                boolean isEXE1 = EXE.equalsIgnoreCase(new Path(o1.toString()).getFileExtension());
                boolean isEXE2 = EXE.equalsIgnoreCase(new Path(o2.toString()).getFileExtension());
                if (isEXE1 != isEXE2) { // if only one is an exe
                    return isEXE1 ? -1 : 1; // return -1 if exe path is .exe, 1 otherwise, sorting .exe paths ahead of anything else
                }
            }

            return o1.toString().compareToIgnoreCase(o2.toString());
        }
    });

    input = new ArrayList<String>(displayStringToExeMmpPair.keySet());

    if (emulatorPath != null) {
        input.add(EMULATOR); //$NON-NLS-1$
        input.add(BROWSE_ITEM);
    }

    if (asProcessToLaunch) {
        Label label = new Label(composite, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        label.setText(Messages.getString("MainExecutableSelectionWizardPage.FullPathLabel")); //$NON-NLS-1$
        if (emulatorPath == null)
            label.setVisible(false);
        exePathLabel = new Text(composite, SWT.BORDER | SWT.WRAP | SWT.READ_ONLY);
        exePathLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        exePathLabel.setData(".uid", "MainExecutableSelectionWizardPage.exePathLabel");

        if (emulatorPath == null) {
            exePathLabel.setVisible(false);
            usePathCheck = new Button(composite, SWT.CHECK);
            usePathCheck.setSelection(false);
            usePathCheck.setText(Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device")); //$NON-NLS-1$
            usePathCheck.setToolTipText(
                    Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device.ToolTip")); //$NON-NLS-1$
            usePathCheck.setData(".uid", "MainExecutableSelectionWizardPage.usePathCheck");

            GridData gd = new GridData(SWT.FILL, SWT.CENTER, false, false);
            gd.verticalIndent = 30;
            usePathCheck.setLayoutData(gd);
            usePathCheck.addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    if (input.isEmpty())
                        usePathCheck.setSelection(true);
                    enableControls(usePathCheck.getSelection());
                }
            });

            pathText = new Text(composite, SWT.BORDER);
            pathText.setEnabled(false);
            pathText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
            pathText.setToolTipText(
                    Messages.getString("MainExecutableSelectionWizardPage.UsePathLabel.device.ToolTip")); //$NON-NLS-1$
            pathText.addModifyListener(new ModifyListener() {
                public void modifyText(ModifyEvent e) {
                    validatePage();
                }
            });
            pathText.setData(".uid", "MainExecutableSelectionWizardPage.pathText");

            if (input.isEmpty()) {
                usePathCheck.setSelection(true);
                enableControls(true);
            }
        }

        viewer.addSelectionChangedListener(new ISelectionChangedListener() {
            public void selectionChanged(SelectionChangedEvent event) {
                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
                String item = (String) selection.getFirstElement();
                if (item.equals(BROWSE_ITEM)) {
                    FileDialog fileDialog = new FileDialog(getShell(), SWT.OPEN);
                    fileDialog.setText(
                            Messages.getString("MainExecutableSelectionWizardPage.SelectExectuableTitle")); //$NON-NLS-1$
                    BrowseDialogUtils.initializeFrom(fileDialog, emulatorPath);
                    fileDialog.setFilterExtensions(FILTER_EXTS);
                    fileDialog.setFilterNames(FILTER_EXT_NAMES);
                    String pathstr = fileDialog.open();
                    if (pathstr != null) {
                        IPath path = new Path(pathstr);
                        String displayString = path.lastSegment();
                        Pair<IPath, IPath> pair = new Pair<IPath, IPath>(path, null);
                        if (!displayStringToExeMmpPair.values().contains(pair)) {
                            displayStringToExeMmpPair.put(displayString, pair);
                            input.add(displayString);
                            viewer.setInput(input);
                        }
                        item = displayString;
                    } else {
                        // just set selection to first item in combo, if user cancels browse
                        item = viewer.getCombo().getItem(0);
                    }
                    viewer.setSelection(new StructuredSelection(item));
                } else {
                    Pair<IPath, IPath> pair = getSelectedExeMmpPair(item);
                    exePathLabel.setText(pair.first.toOSString());
                    exePathLabel.getParent().layout();
                }
            }
        });

    }

    viewer.setInput(input);
    if (!input.isEmpty()) {
        int index = (emulatorPath != null && combo.getItemCount() > 1 && !useEmulatorByDefault) ? 1 : 0;

        if (index == 1 && defaultExecutable != null) {
            int defaultExeIndex = index = combo.indexOf(defaultExecutable.lastSegment());
            if (defaultExeIndex > 0)
                index = defaultExeIndex;
        }

        combo.select(index);
        if (exePathLabel != null) {
            Pair<IPath, IPath> pair = getSelectedExeMmpPair(combo.getItem(index));
            exePathLabel.setText(pair.first.toOSString());
        }
    }

    setControl(composite);
    Dialog.applyDialogFont(parent);
    validatePage();
}

From source file:de.hentschel.visualdbc.statistic.ui.util.StatisticUtil.java

License:Open Source License

/**
 * Selects the given elements in the given {@link DbcmodelEditor}.
 * @param editor The {@link DbcmodelEditor} to select elements in.
 * @param selection The elements to select.
 *///from   ww w. j  a va 2  s. c om
public static void select(DbcmodelEditor editor, ISelection selection) {
    if (editor != null) {
        Viewer viewer = editor.getViewer();
        if (viewer != null) {
            viewer.setSelection(selection);
        }
    }
}

From source file:es.cv.gvcase.fefem.common.utils.SelectionSynchronizer.java

License:Open Source License

public void selectionChanged(SelectionChangedEvent event) {
    if (viewers.contains(event.getSource())) {
        Iterator<Viewer> iter = viewers.iterator();
        while (iter.hasNext()) {
            Viewer vp = (Viewer) iter.next();
            if (!vp.equals(event.getSource())) {
                vp.removeSelectionChangedListener(this);
                vp.setSelection(event.getSelection());
                vp.refresh();/*w  ww  .j  a v  a 2 s  .co m*/
                vp.addSelectionChangedListener(this);
            }
        }
    }

}

From source file:net.sourceforge.eclipsetrader.trading.views.transactions.TransactionsView.java

License:Open Source License

public void createPartControl(Composite parent) {
    table = new Table(parent, SWT.FULL_SELECTION | SWT.MULTI);
    table.setHeaderVisible(true);/*w  w  w.j av  a 2 s  .  c  o m*/
    table.setLinesVisible(false);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    table.addMouseListener(new MouseAdapter() {
        public void mouseDown(MouseEvent e) {
            if (table.getItem(new Point(e.x, e.y)) == null) {
                viewer.setSelection(new StructuredSelection());
                updateSelection();
            }
        }
    });
    TableColumn column = new TableColumn(table, SWT.NONE);
    column.setWidth(0);
    column.setResizable(false);
    column = new TableColumn(table, SWT.RIGHT);
    column.setText(Messages.TransactionsView_DateTime);
    column.setWidth(125);
    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.TransactionsView_Code);
    column.setWidth(70);
    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.TransactionsView_Description);
    column.setWidth(170);
    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.TransactionsView_Operation);
    column.setWidth(70);
    column = new TableColumn(table, SWT.RIGHT);
    column.setText(Messages.TransactionsView_Quantity);
    column.setWidth(70);
    column = new TableColumn(table, SWT.RIGHT);
    column.setText(Messages.TransactionsView_Price);
    column.setWidth(70);
    column = new TableColumn(table, SWT.RIGHT);
    column.setText(Messages.TransactionsView_Expenses);
    column.setWidth(70);
    column = new TableColumn(table, SWT.RIGHT);
    column.setText(Messages.TransactionsView_Total);
    column.setWidth(80);

    viewer = new TableViewer(table);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(labelProvider);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateSelection();
        }
    });
    viewer.setSorter(new ViewerSorter() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            return ((Transaction) e1).getDate().compareTo(((Transaction) e2).getDate());
        }
    });
    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            propertiesAction.run();
        }
    });

    // Drag and drop support
    DropTarget target = new DropTarget(parent, DND.DROP_COPY | DND.DROP_MOVE);
    target.setTransfer(new Transfer[] { SecurityTransfer.getInstance() });
    target.addDropListener(dropTargetListener);

    // Context menu
    MenuManager menuMgr = new MenuManager("#popupMenu", "popupMenu"); //$NON-NLS-1$ //$NON-NLS-2$
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager menuManager) {
            fillMenu(menuManager);
        }
    });
    table.setMenu(menuMgr.createContextMenu(table));
    getSite().registerContextMenu(menuMgr, getSite().getSelectionProvider());

    account = (Account) CorePlugin.getRepository().load(Account.class,
            new Integer(Integer.parseInt(getViewSite().getSecondaryId())));
    if (account != null) {
        setContentDescription(getPartName());
        setTitleToolTip(getPartName());
        setPartName(account.getDescription());

        getSite().getSelectionProvider().setSelection(new AccountSelection(account));

        parent.getDisplay().asyncExec(new Runnable() {
            public void run() {
                viewer.setInput(account.getTransactions().toArray());
                updateColors();
            }
        });

        account.getTransactions().addCollectionObserver(this);
    } else
        getSite().getSelectionProvider().setSelection(new NullSelection());
}

From source file:org.apache.directory.studio.apacheds.configuration.editor.ServerConfigurationEditorPage.java

License:Apache License

/**
 * Sets the selection of the viewer widget.
 * <p>//  w w  w .  j  a v a  2 s .c om
 * Verifies that the viewer exists and is not disposed 
 * before applying the new selection.
 *
 * @param button the button
 * @param selection the new selection
 */
protected void setSelection(Viewer viewer, Object selection) {
    if ((viewer != null) && (viewer.getControl() != null) && (!viewer.getControl().isDisposed())) {
        viewer.setSelection(new StructuredSelection(selection));
    }
}