Example usage for org.eclipse.jface.viewers TableViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TableViewer setContentProvider

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewer setContentProvider.

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this AbstractTableViewer.

Usage

From source file:com.aptana.ide.search.AptanaFileSearchPage.java

License:Open Source License

/**
 * we are reconfiguring table viewer to matches mode here
 *///from   w  w w.j  a va 2 s.c  o  m
private void reconfigureTableViewer() {

    TableViewer tViewer = (TableViewer) this.getViewer();
    TableColumn[] columns = tViewer.getTable().getColumns();
    for (int a = 0; a < columns.length; a++) {
        columns[a].dispose();
    }
    this.metrics = new PixelConverter(tViewer.getControl());
    tViewer.getTable().setHeaderVisible(true);
    TableColumn clmn = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_File);
    TableColumn clmn1 = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn1.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Line);
    TableColumn clmn2 = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn2.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Source);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnPixelData(50));
    tableLayout.addColumnData(new ColumnWeightData(1));
    PreferenceUtils.persist(Activator.getDefault().getPreferenceStore(), tViewer.getTable(), "tviewer"); //$NON-NLS-1$
    this.listener = new Listener() {

        public void handleEvent(Event event) {
            if (event.index == 2) {
                AptanaFileMatch aptanaFileMatch = ((AptanaFileMatch) event.item.getData());
                if (aptanaFileMatch != null) {
                    event.gc.drawText(aptanaFileMatch.getLineContent(), event.x, event.y);
                }
            }
        }

    };
    this.listener1 = new Listener() {

        public void handleEvent(Event event) {

            if (event.index == 2) {
                AptanaFileMatch aptanaFileMatch = ((AptanaFileMatch) event.item.getData());
                if (aptanaFileMatch != null) {
                    event.width = AptanaFileSearchPage.this.metrics
                            .convertWidthInCharsToPixels(aptanaFileMatch.getLineContent().length());
                }
            }
        }

    };
    tViewer.getTable().addListener(SWT.PaintItem, this.listener);
    tViewer.getTable().setLayout(tableLayout);
    IBaseLabelProvider labelProvider = tViewer.getLabelProvider();
    //if (labelProvider instanceof DecoratingLabelProvider){
    labelProvider = new DecoratingFileSearchLabelProvider(
            new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL_PATH));
    tViewer.setLabelProvider(labelProvider);
    baseLabelProvider = (DecoratingFileSearchLabelProvider) labelProvider;
    tViewer.setInput(null);
    tViewer.setLabelProvider(new MatchesTableLabelProvider());
    final IContentProvider contentProvider = tViewer.getContentProvider();
    this.structuredContentProvider = new MatchesContentProvider(this, contentProvider);
    tViewer.setContentProvider(this.structuredContentProvider);
    tViewer.setInput(this.getInput());
    tViewer.getTable().getParent().layout(true);
}

From source file:com.aptana.ide.search.epl.filesystem.ui.text.FileSystemSearchPage.java

License:Open Source License

/**
 * @see org.eclipse.search.ui.text.AbstractTextSearchViewPage#configureTableViewer(org.eclipse.jface.viewers.TableViewer)
 *///from   ww  w.  j  ava 2s  . com
protected void configureTableViewer(TableViewer viewer) {
    viewer.setUseHashlookup(true);
    FileLabelProvider innerLabelProvider = new FileLabelProvider(this, fCurrentSortOrder);
    viewer.setLabelProvider(new DecoratingLabelProvider(innerLabelProvider,
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
    viewer.setContentProvider(new FileTableContentProvider(this));
    viewer.setComparator(new DecoratorIgnoringViewerSorter(innerLabelProvider));
    fContentProvider = (IFileSearchContentProvider) viewer.getContentProvider();
    addDragAdapters(viewer);
}

From source file:com.aptana.ide.search.ui.filesystem.AptanaFileSystemSearchPage.java

License:Open Source License

private void reconfigureTableViewer() {
    TableViewer tViewer = (TableViewer) getViewer();
    TableColumn[] columns = tViewer.getTable().getColumns();
    for (int a = 0; a < columns.length; a++) {
        columns[a].dispose();/* w  ww  .j a v  a2  s  .  c o m*/
    }
    metrics = new PixelConverter(tViewer.getControl());
    tViewer.getTable().setHeaderVisible(true);
    TableColumn clmn = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_File);
    TableColumn clmn1 = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn1.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Line);
    TableColumn clmn2 = new TableColumn(tViewer.getTable(), SWT.LEFT);
    clmn2.setText(com.aptana.ide.search.Messages.AptanaFileSearchPage_Source);

    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(1));
    tableLayout.addColumnData(new ColumnPixelData(50));
    tableLayout.addColumnData(new ColumnWeightData(1));
    PreferenceUtils.persist(Activator.getDefault().getPreferenceStore(), tViewer.getTable(), "tviewer"); //$NON-NLS-1$
    this.listener = new Listener() {

        public void handleEvent(Event event) {
            if (event.index == 2) {
                AptanaFileSystemMatch aptanaFileMatch = ((AptanaFileSystemMatch) event.item.getData());
                if (aptanaFileMatch != null) {
                    event.gc.drawText(aptanaFileMatch.getLineContent(), event.x, event.y);
                }
            }
        }

    };
    this.listener1 = new Listener() {

        public void handleEvent(Event event) {

            if (event.index == 2) {
                AptanaFileSystemMatch aptanaFileMatch = ((AptanaFileSystemMatch) event.item.getData());
                if (aptanaFileMatch != null) {
                    event.width = AptanaFileSystemSearchPage.this.metrics
                            .convertWidthInCharsToPixels(aptanaFileMatch.getLineContent().length());
                }
            }
        }

    };
    tViewer.getTable().addListener(SWT.PaintItem, this.listener);
    tViewer.getTable().setLayout(tableLayout);
    this.baseLabelProvider = (LabelProvider) tViewer.getLabelProvider();
    tViewer.setInput(null);
    tViewer.setLabelProvider(new MatchesTableLabelProvider());
    final IContentProvider contentProvider = tViewer.getContentProvider();
    this.structuredContentProvider = new MatchesContentProvider(this, contentProvider);
    tViewer.setContentProvider(this.structuredContentProvider);
    tViewer.setInput(this.getInput());
    tViewer.getTable().getParent().layout(true);
}

From source file:com.aptana.ide.server.ui.views.ServersView.java

License:Open Source License

private TableViewer createServerTable(Composite parent) {
    TableViewer view = new TableViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION);
    Table serverTable = view.getTable();
    serverTable.setHeaderVisible(true);/* w  w w .java2 s .  co m*/
    serverTable.setLinesVisible(true);
    serverTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableColumn imageCol = new TableColumn(serverTable, SWT.LEFT);
    imageCol.setWidth(20);

    TableColumn nameCol = new TableColumn(serverTable, SWT.LEFT);
    nameCol.setText(Messages.ServersView_NAME);
    nameCol.setWidth(100);

    TableColumn statusCol = new TableColumn(serverTable, SWT.LEFT);
    statusCol.setText(Messages.ServersView_STATUS);
    statusCol.setWidth(125);

    ServerManager.getInstance().addServerListener(this);
    view.setLabelProvider(new ServerLabelProvider());
    view.setContentProvider(new ServerContentProvider());
    PreferenceUtils.registerBackgroundColorPreference(view.getControl(),
            "com.aptana.ide.core.ui.background.color.serversView"); //$NON-NLS-1$
    PreferenceUtils.registerForegroundColorPreference(view.getControl(),
            "com.aptana.ide.core.ui.foreground.color.serversView"); //$NON-NLS-1$
    return view;
}

From source file:com.aptana.js.debug.ui.internal.xhr.AJAXMonitorPage.java

License:Open Source License

private void createDetailsPart(Composite parent, String name, Viewer[] viewers) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayoutData(new GridData(GridData.FILL_BOTH));

    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;/* w w w  . j a  v a2s .  c  o  m*/
    layout.horizontalSpacing = 0;
    layout.marginWidth /= 2;
    container.setLayout(layout);

    Label label = new Label(container, SWT.NONE);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    label.setText(name);

    CTabFolder tab = new CTabFolder(container, SWT.BOTTOM | SWT.FLAT | SWT.BORDER);
    tab.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableViewer viewer = new TableViewer(tab, /* SWT.VIRTUAL | */SWT.SINGLE | SWT.FULL_SELECTION);
    Table table = viewer.getTable();
    TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);
    table.setHeaderVisible(false);
    table.setLinesVisible(true);

    // CHECKSTYLE:OFF
    TableColumn column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.AJAXMonitorPage_Name);
    tableLayout.addColumnData(new ColumnWeightData(50));

    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.AJAXMonitorPage_Value);
    tableLayout.addColumnData(new ColumnWeightData(50));
    // CHECKSTYLE:ON

    viewer.setContentProvider(new XHRContentProvider());
    viewer.setLabelProvider(new XHRLabelProvider());
    viewers[0] = viewer;

    CTabItem item = new CTabItem(tab, SWT.NONE);
    item.setControl(viewers[0].getControl());
    item.setText(Messages.AJAXMonitorPage_Headers);

    TextViewer textViewer = new TextViewer(tab, SWT.READ_ONLY | SWT.V_SCROLL | SWT.H_SCROLL);
    item = new CTabItem(tab, SWT.NONE);
    item.setControl(textViewer.getControl());
    item.setText(Messages.AJAXMonitorPage_Body);

    textViewer.setEditable(false);
    textViewer.setDocument(new Document());
    viewers[1] = textViewer;
    tab.setSelection(item);
}

From source file:com.aptana.webserver.ui.internal.views.ServersView.java

License:Open Source License

private TableViewer createServerTable(Composite parent) {
    TableViewer tableViewer = new TableViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION);
    Table serverTable = tableViewer.getTable();
    serverTable.setHeaderVisible(true);//from   w ww .j  a va 2  s .co  m
    serverTable.setLinesVisible(true);
    serverTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    TableColumn nameCol = new TableColumn(serverTable, SWT.LEFT);
    nameCol.setText(Messages.ServersView_NAME);
    nameCol.setWidth(150);

    TableColumn statusCol = new TableColumn(serverTable, SWT.LEFT);
    statusCol.setText(Messages.ServersView_STATUS);
    statusCol.setWidth(75);

    TableColumn typeColumn = new TableColumn(serverTable, SWT.LEFT);
    typeColumn.setText(Messages.ServersView_TYPE);
    typeColumn.setWidth(125);

    TableColumn hostColumn = new TableColumn(serverTable, SWT.LEFT);
    hostColumn.setText(Messages.GenericServersView_HOST);
    hostColumn.setWidth(150);

    TableColumn portColumn = new TableColumn(serverTable, SWT.LEFT);
    portColumn.setText(Messages.GenericServersView_PORT);
    portColumn.setWidth(50);

    WebServerCorePlugin.getDefault().getServerManager().addServerChangeListener(this);
    tableViewer.setLabelProvider(new ServerLabelProvider());
    tableViewer.setContentProvider(ArrayContentProvider.getInstance());
    tableViewer.setInput(WebServerCorePlugin.getDefault().getServerManager().getServers());

    ThemePlugin.getDefault().getControlThemerFactory().apply(tableViewer);
    return tableViewer;
}

From source file:com.asakusafw.shafu.internal.ui.preferences.ShafuPreferencePage.java

License:Apache License

private void createPropertiesField(Composite pane, final String key, int span, String title) {
    Group group = new Group(pane, SWT.NONE);
    group.setText(title);/*from   w w  w.j ava  2  s . c o  m*/
    group.setLayoutData(
            GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(span, 1).create());
    group.setLayout(new GridLayout(2, false));

    final Map<String, String> contents = new LinkedHashMap<String, String>();
    final TableViewer viewer = new TableViewer(group,
            SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).span(1, 3)
            .indent(BasicField.getDecorationWidth(), 0).create());
    viewer.setContentProvider(new PropertiesContentProvider());
    viewer.setLabelProvider(new PropertiesLabelProvider());
    viewer.setInput(contents);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableColumn keyColumn = new TableColumn(viewer.getTable(), SWT.NONE, 0);
    keyColumn.setResizable(true);
    keyColumn.setText(Messages.ShafuPreferencePage_propertiesKeyLabel);
    keyColumn.setWidth(convertWidthInCharsToPixels(20));
    TableColumn valueColumn = new TableColumn(viewer.getTable(), SWT.NONE, 1);
    valueColumn.setResizable(true);
    valueColumn.setText(Messages.ShafuPreferencePage_propertiesValueLabel);
    valueColumn.setWidth(convertWidthInCharsToPixels(40));
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            ISelection s = event.getSelection();
            if (s.isEmpty()) {
                return;
            }
            if ((s instanceof IStructuredSelection) == false) {
                return;
            }
            Map.Entry<?, ?> first = (Map.Entry<?, ?>) ((IStructuredSelection) s).iterator().next();
            String oldKey = (String) first.getKey();
            String oldValue = (String) first.getValue();
            PropertyEntryInputDialog dialog = new PropertyEntryInputDialog(getShell(), contents, oldKey,
                    oldValue);
            if (dialog.open() != Window.OK) {
                return;
            }
            contents.remove(oldKey);
            contents.put(dialog.getInputKey(), dialog.getInputValue());
            viewer.refresh();
            setPreferenceValue(key, encodeMap(contents));
        }
    });

    final Button addButton = new Button(group, SWT.PUSH);
    addButton.setText(Messages.ShafuPreferencePage_propertiesAddLabel);
    addButton.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).create());
    addButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            PropertyEntryInputDialog dialog = new PropertyEntryInputDialog(getShell(), contents);
            if (dialog.open() != Window.OK) {
                return;
            }
            contents.put(dialog.getInputKey(), dialog.getInputValue());
            viewer.refresh();
            setPreferenceValue(key, encodeMap(contents));
        }
    });

    final Button removeButton = new Button(group, SWT.PUSH);
    removeButton.setText(Messages.ShafuPreferencePage_propertiesRemoveLabel);
    removeButton.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).create());
    removeButton.setEnabled(false);
    removeButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection selection = viewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                Iterator<?> iter = ((IStructuredSelection) selection).iterator();
                Set<String> keys = new HashSet<String>();
                while (iter.hasNext()) {
                    Map.Entry<?, ?> entry = (Map.Entry<?, ?>) iter.next();
                    keys.add((String) entry.getKey());
                }
                contents.keySet().removeAll(keys);
                viewer.refresh();
                setPreferenceValue(key, encodeMap(contents));
            }
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            removeButton.setEnabled(event.getSelection().isEmpty() == false);
        }
    });

    registerField(new PreferenceField(key, viewer.getControl()) {
        @Override
        public void refresh() {
            String value = getPreferenceValue(key);
            Map<String, String> map = decodeToMap(value);
            contents.clear();
            contents.putAll(map);
            viewer.refresh();
            setPreferenceValue(key, encodeMap(contents));
        }
    });
}

From source file:com.astra.ses.spell.tabbed.ui.editor.TabularEditor.java

License:Open Source License

/***************************************************************************
 * Configure table layout//from w w w.  ja  v  a  2  s .co m
 * Default table settings are:
 *    - Number of columns depending on the input
 *  - Table cells are editable
 *  - Table columns have same width
 *  - Table columns resize to fit width
 **************************************************************************/
protected void configureTable(TableViewer tableViewer) {
    /*
     * Columns layout
     */
    int numColumns = m_input.getColumnCount();

    tableViewer.setContentProvider(new TabularContentProvider(numColumns));
    tableViewer.setLabelProvider(new TabularLabelProvider(TabularEditorInput.COMMENT));

    /*
     * TABLE CONFIGURATION
     */
    Table table = tableViewer.getTable();
    // TABLE LAYOUT
    GridData viewerData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    table.setLayoutData(viewerData);
    // PRESENTATION PROPERTIES
    table.setLinesVisible(linesVisible());
    // Add a control listener to adjust columns width to the table width
    table.addControlListener(new ControlListener() {
        @Override
        public void controlMoved(ControlEvent e) {
        }

        @Override
        public void controlResized(ControlEvent e) {
            Table table = (Table) e.widget;
            Rectangle area = table.getClientArea();
            int newTotalWidth = area.width;
            int oldTotalWidth = 0;
            for (TableColumn column : table.getColumns()) {
                oldTotalWidth += column.getWidth();
            }
            for (TableColumn column : table.getColumns()) {
                int oldWidth = column.getWidth();
                int newWidth = (newTotalWidth * oldWidth) / oldTotalWidth;
                column.setWidth(newWidth);
            }
        }
    });
    /*
     * Table cursor for being able to select table cells with the keyboard
     */
    m_cursor = new TableCursor(table, SWT.BORDER_SOLID);
    // CONTROL EDITOR FOR SHOWING A TEXT WIDGET INSIDE THE CURSOR
    m_cellEditor = new ControlEditor(m_cursor);
    m_cellEditor.grabHorizontal = true;
    m_cellEditor.grabVertical = true;
    /*
     * Selection listener
     */
    m_cursor.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            /*TableCursor cursor = (TableCursor) e.widget;
            Table table = (Table) cursor.getParent();
            table.setSelection(new TableItem[] {cursor.getRow()});*/
        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            stopEdition();
            updatePresentation();
        }
    });
    /*
     * add mouse listener for single click, double click events
     */
    m_cursor.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDoubleClick(MouseEvent e) {
            startEdition();
        }
    });
    /*
     * Insert a new row when CTRL+Enter is pressed
     * Give focus to the cell editor when pressing enter
     */
    KeyAdapter adapter = new KeyAdapter() {
        public void keyPressed(KeyEvent e) {
            // If Control key is pressed
            if ((e.stateMask & SWT.CTRL) != 0) {
                if (e.character == SWT.CR) // new row
                {
                    insertRow();
                } else if (e.character == SWT.DEL) // delete row
                {
                    deleteRow();
                } else if (e.keyCode == 'c' || e.keyCode == 'C') // copy cell
                {
                    copy();
                } else if (e.keyCode == 'v' || e.keyCode == 'V') // paste cell
                {
                    paste();
                } else if (e.keyCode == 'x' || e.keyCode == 'X') // cut cell
                {
                    cut();
                }
            }
            //Clear cell content
            else if (e.character == SWT.DEL) {
                clearCell();
            }
            // If enter is pressed, the cell should be edited
            else if (e.character == SWT.CR) {
                startEdition();
            }
        }
    };
    m_cursor.addKeyListener(adapter);
    // There is need to add the listener to the table when the table has not 
    // any row, so the cursor is not enabled
    table.addKeyListener(adapter);

    String[] colNames = m_input.getColumnNames();

    for (int i = 0; i < numColumns; i++) {
        TableColumn column = new TableColumn(table, SWT.LEFT);
        column.setText(colNames[i]);
        column.setWidth(200);
        column.setResizable(true);
    }

    /*
     * Create popup menu for the table
     */
    TableEditorMenuManager popupMenu = new TableEditorMenuManager(m_table, m_cursor, m_clipboard);
    final Menu menu = popupMenu.createContextMenu(table);
    menu.addMenuListener(new MenuListener() {
        @Override
        public void menuHidden(MenuEvent e) {
        }

        @Override
        public void menuShown(MenuEvent e) {
            for (MenuItem item : menu.getItems()) {
                item.setEnabled(item.isEnabled());
            }
        }

    });
    m_cursor.setMenu(menu);
    table.setMenu(menu);
}

From source file:com.astra.ses.spell.tabbed.ui.views.TabularView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    GridLayout parentLayout = new GridLayout(1, true);
    parentLayout.marginHeight = 0;//from  w w w .  j  av a  2  s. c  o m
    parentLayout.marginWidth = 0;
    parent.setLayout(parentLayout);

    TableViewer table = new TableViewer(parent, SWT.VIRTUAL | SWT.H_SCROLL | SWT.V_SCROLL);

    TabbedFileParser parser = new TabbedFileParser(m_filePath, COMMENT);
    ArrayList<String[]> m_tabbedModel = parser.getTabbedText();
    int columns = parser.getLongestLength();

    for (int i = 0; i < columns; i++) {
        TableColumn column = new TableColumn(table.getTable(), SWT.LEFT);
        column.setText(String.valueOf(i));
        column.setWidth(350);
        column.setResizable(true);
    }
    if (m_headerNames != null) {
        table.setColumnProperties(m_headerNames);
    }
    table.setContentProvider(new TabularContentProvider(columns));
    table.setLabelProvider(new TabularLabelProvider(COMMENT));

    GridData viewerData = new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
    table.getTable().setLayoutData(viewerData);
    table.getTable().setLinesVisible(true);

    table.setInput(m_tabbedModel);
}

From source file:com.bdaum.zoom.ui.internal.dialogs.ConfigureColumnsDialog.java

License:Open Source License

private TableViewer createColumnTable(Composite composite) {
    final TableViewer viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setLabelProvider(ZColumnLabelProvider.getDefaultInstance());
    viewer.setContentProvider(ArrayContentProvider.getInstance());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();/*from w w w  .j a va 2s  .c  o  m*/
        }
    });
    return viewer;
}