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

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

Introduction

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

Prototype

public TableViewer(Composite parent, int style) 

Source Link

Document

Creates a table viewer on a newly-created table control under the given parent.

Usage

From source file:com.aptana.editor.php.internal.ui.preferences.BuildPathEditingComposite.java

License:Open Source License

private void createWorkspacePart(TabItem item) {
    TabFolder parent2 = item.getParent();
    Composite projectPart = new Composite(parent2, SWT.NONE);
    item.setControl(projectPart);/*from w  w w.j  av a  2 s.c om*/
    projectPart.setLayout(new GridLayout(2, false));
    workspaceViewer = new TableViewer(projectPart, SWT.BORDER | SWT.MULTI);
    final FullPathWorkbenchLabelProvider workbenchLabelProvider = new FullPathWorkbenchLabelProvider(project);
    workspaceViewer.setLabelProvider(workbenchLabelProvider);
    workspaceViewer.getControl().addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            workbenchLabelProvider.doDispose();
        }
    });
    workspaceViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    workspaceViewer.setContentProvider(new ArrayContentProvider());
    Composite buttonsComp = new Composite(projectPart, SWT.NONE);
    buttonsComp.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    buttonsComp.setLayout(new GridLayout(1, false));
    Button add = new Button(buttonsComp, SWT.NONE);
    add.setText(Messages.BuildPathEditingComposite_AddProjectTitle);
    add.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            WorkspaceFolderSelectionDialog dialog = new WorkspaceFolderSelectionDialog(
                    Display.getCurrent().getActiveShell());
            dialog.setTitle(Messages.BuildPathEditingComposite_ProjectsSelectionTitle);
            dialog.setMessage(Messages.BuildPathEditingComposite_AddProjectDesription);
            IWorkspace workspace = ResourcesPlugin.getWorkspace();
            dialog.setInput(workspace);

            // filtering out current project and its contents
            dialog.addFilter(new ViewerFilter() {

                @Override
                public boolean select(Viewer viewer, Object parentElement, Object element) {
                    if (element instanceof IResource) {
                        if (project.equals(((IResource) element).getProject())) {
                            return false;
                        }
                    }

                    return true;
                }

            });
            if (dialog.open() == Dialog.OK) {
                addWithValidation(workspaceViewer, dialog.getResult());
            }
        }
    });
    add.setLayoutData(GridDataFactory.fillDefaults().hint(100, -1).create());
    final Button remove = new Button(buttonsComp, SWT.NONE);
    remove.setText(Messages.BuildPathEditingComposite_RemoveProjectTitle);
    remove.setEnabled(false);
    workspaceViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (project != null) {
                // Do not allow removal in case the default project is selected
                remove.setEnabled(!event.getSelection().isEmpty()
                        && !((IStructuredSelection) event.getSelection()).toList().contains(project));
            } else {
                remove.setEnabled(!event.getSelection().isEmpty());
            }
        }
    });
    remove.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection sel = (IStructuredSelection) workspaceViewer.getSelection();
            Object[] selections = sel.toArray();
            for (Object selected : selections) {
                workspaceViewer.remove(selected);
            }
        }
    });
    remove.setLayoutData(GridDataFactory.fillDefaults().hint(100, -1).create());
    workspaceViewer.setSorter(new ViewerSorter());
}

From source file:com.aptana.editor.php.internal.ui.preferences.PHPLibraryDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite body = new Composite(parent, SWT.NONE);
    body.setLayout(new GridLayout(2, false));
    body.setLayoutData(new GridData(GridData.FILL_BOTH));
    Label label = new Label(body, SWT.NONE);
    label.setText(Messages.PHPLibraryDialog_libraryName);
    nameText = new Text(body, SWT.BORDER);
    nameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    if (library != null) {
        nameText.setText(library.getName());
    }// w  w w. ja  va2  s .  c o m
    nameText.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent e) {
            validate();
        }

    });
    Group pComp = new Group(body, SWT.NONE);
    pComp.setText(Messages.PHPLibraryDialog_libraryContent);
    pComp.setLayout(new GridLayout(2, false));
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.horizontalSpan = 2;
    layoutData.minimumHeight = 200;
    pComp.setLayoutData(layoutData);
    viewer = new TableViewer(pComp, SWT.BORDER);
    viewer.setComparator(new ViewerComparator());
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LabelProvider() {

        public String getText(Object element) {
            return element.toString();

        }

        public Image getImage(Object element) {
            return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
        }
    });
    Composite buttons = new Composite(pComp, SWT.NONE);
    GridLayout layout = new GridLayout(1, false);
    layout.marginHeight = 0;
    if (library != null) {
        viewer.setInput(library.getDirectories().toArray());
    } else {
        viewer.setInput(new String[0]); // $codepro.audit.disable reusableImmutables
    }
    buttons.setLayout(layout);
    Button add = new Button(buttons, SWT.NONE);
    add.setText(Messages.PHPLibraryDialog_addFolder);
    add.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            DirectoryDialog directoryDialog = new DirectoryDialog(Display.getCurrent().getActiveShell());
            directoryDialog.setText(Messages.PHPLibraryDialog_selectFolder);
            String open = directoryDialog.open();
            viewer.add(open);
        }

    });
    add.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    Button remove = new Button(buttons, SWT.NONE);
    remove.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {

        }

        public void widgetSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
            for (Object o : selection.toArray()) {
                viewer.remove(o);
            }
        }

    });
    remove.setText(Messages.PHPLibraryDialog_removeSelected);
    remove.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL));
    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    Control createDialogArea = super.createDialogArea(parent);
    setMessage(Messages.PHPLibraryDialog_libraryConfigureMessage);
    setTitleImage(titleImage);
    setTitle(Messages.PHPLibraryDialog_libraryConfigureTitle);
    buttons.setLayoutData(new GridData(GridData.FILL_VERTICAL));

    return createDialogArea;
}

From source file:com.aptana.formatter.ui.dialogs.ProjectSelectionDialog.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 *//*w ww .j a va  2  s.co m*/
protected Control createDialogArea(Composite parent) {
    // page group
    Composite composite = (Composite) super.createDialogArea(parent);

    Font font = parent.getFont();
    composite.setFont(font);

    createMessageArea(composite);

    fTableViewer = new TableViewer(composite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            doSelectionChanged(((IStructuredSelection) event.getSelection()).toArray());
        }
    });
    fTableViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }
    });
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.heightHint = SIZING_SELECTION_WIDGET_HEIGHT;
    data.widthHint = SIZING_SELECTION_WIDGET_WIDTH;
    fTableViewer.getTable().setLayoutData(data);

    fTableViewer.setLabelProvider(new WorkbenchLabelProvider());
    fTableViewer.setContentProvider(ArrayContentProvider.getInstance());

    fTableViewer.getControl().setFont(font);

    if (natureId != null) {
        fTableViewer.addFilter(new ViewerFilter() {
            public boolean select(Viewer viewer, Object parentElement, Object element) {
                if (element instanceof IProject) {
                    IProject project = (IProject) element;
                    try {
                        return project.hasNature(natureId);
                    } catch (CoreException e) {
                        IdeLog.logError(FormatterUIEplPlugin.getDefault(), e, IDebugScopes.DEBUG);
                        return false;
                    }
                }
                return true;
            }
        });
    }

    Button checkbox = new Button(composite, SWT.CHECK);
    checkbox.setText(Messages.ProjectSelectionDialog_filter);
    checkbox.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, true, false));
    checkbox.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            updateFilter(((Button) e.widget).getSelection());
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateFilter(((Button) e.widget).getSelection());
        }
    });
    IDialogSettings dialogSettings = FormatterUIEplPlugin.getDefault().getDialogSettings();
    boolean doFilter = !dialogSettings.getBoolean(DIALOG_SETTINGS_SHOW_ALL)
            && !fProjectsWithSpecifics.isEmpty();
    checkbox.setSelection(doFilter);
    updateFilter(doFilter);

    IProject[] input = ResourcesPlugin.getWorkspace().getRoot().getProjects();
    fTableViewer.setInput(input);

    doSelectionChanged(new Object[0]);
    Dialog.applyDialogFont(composite);
    return composite;
}

From source file:com.aptana.ide.core.ui.dialogs.TableEditor.java

License:Open Source License

/**
 * createTable/*from w  w w.jav a 2s  . c  om*/
 * 
 * @param parent
 * @param items
 * @return TableViewer
 */
private TableViewer createTable(Composite parent) {
    _viewer = new TableViewer(parent, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);
    Table serverTable = _viewer.getTable();
    serverTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    _viewer.setContentProvider(new TableContentProvider());
    _viewer.setLabelProvider(new TableLabelProvider());
    _viewer.setSorter(new TableSorter());
    _viewer.setInput(_items);
    _viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateEnabledState();
        }

    });
    updateEnabledState();
    return _viewer;
}

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

License:Open Source License

private void createRequestsTable(Composite parent) {
    tableViewer = new TableViewer(parent, /* SWT.VIRTUAL | */SWT.SINGLE | SWT.FULL_SELECTION);
    Table table = tableViewer.getTable();
    table.setHeaderVisible(true);// w w  w  .j a  va  2 s.  co  m
    table.setLinesVisible(true);
    table.setLayoutData(new GridData(GridData.FILL_BOTH));
    TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);

    // CHECKSTYLE:OFF
    TableColumn column = new TableColumn(table, SWT.LEFT);
    column.setResizable(false);
    tableLayout.addColumnData(new ColumnPixelData(20));

    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.AJAXMonitorPage_URL);
    tableLayout.addColumnData(new ColumnWeightData(60));

    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.AJAXMonitorPage_Method);
    tableLayout.addColumnData(new ColumnWeightData(10));

    column = new TableColumn(table, SWT.LEFT);
    column.setText(Messages.AJAXMonitorPage_Sent);
    tableLayout.addColumnData(new ColumnWeightData(10));

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

    tableViewer.setContentProvider(new XHRContentProvider());
    tableViewer.setLabelProvider(new XHRLabelProvider());
    PreferenceUtils.persist(DebugUiPlugin.getDefault().getPreferenceStore(), tableViewer.getTable(),
            "ajaxMonitorPage.requestsPart"); //$NON-NLS-1$
}

From source file:com.aptana.ide.debug.internal.ui.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;//from  ww  w  . j ava2 s.  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;
    PreferenceUtils.persist(DebugUiPlugin.getDefault().getPreferenceStore(), viewer.getTable(),
            "ajaxMonitorPage.detailsPart"); //$NON-NLS-1$
    tab.setSelection(item);
}

From source file:com.aptana.ide.editors.ui.views.problems.ProblemsPage.java

License:Open Source License

/**
 * This is a callback that will allow us to create the viewer and initialize it.
 * // ww w .  j av a 2s  .c  o  m
 * @param parent
 */
public void createControl(Composite parent) {
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "com.aptana.ide.editors.ProblemsView"); //$NON-NLS-1$

    displayArea = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(1, true);
    layout.verticalSpacing = 3;
    layout.marginHeight = 0;
    layout.marginWidth = 2;
    displayArea.setLayout(layout);

    statusText = new Label(displayArea, SWT.NONE);
    statusText.setText("0 errors"); //$NON-NLS-1$
    statusText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));

    viewer = new TableViewer(displayArea, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    viewer.getTable().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    viewer.setContentProvider(new ViewContentProvider());
    viewer.setLabelProvider(new ViewLabelProvider());
    viewer.setSorter(new NameSorter());
    viewer.getTable().setHeaderVisible(true);
    viewer.getTable().setLinesVisible(true);

    for (int i = 0; i < COLUMN_NAMES.length; i++) {
        TableColumn tc1 = new TableColumn(viewer.getTable(), SWT.LEFT);
        tc1.setText(COLUMN_NAMES[i]);
        tc1.setWidth(COLUMN_WIDTHS[i]);
    }

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            viewerSelectionChanged(selection);
        }
    });
    PreferenceUtils.persist(UnifiedEditorsPlugin.getDefault().getPreferenceStore(), viewer.getTable(),
            ProblemsPage.class.getName());
    PreferenceUtils.registerBackgroundColorPreference(viewer.getControl(),
            "com.aptana.ide.core.ui.background.color.validationView"); //$NON-NLS-1$      
    PreferenceUtils.registerForegroundColorPreference(viewer.getControl(),
            "com.aptana.ide.core.ui.foreground.color.validationView"); //$NON-NLS-1$
    this.service.addErrorListener(this);
    onErrorsChanged(service.getFileErrors());
}

From source file:com.aptana.ide.installer.views.PluginsView.java

License:Open Source License

private void createInstalledPluginsTable(Composite parent) {
    installedPluginsTableViewer = new TableViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION);
    Table pluginsTable = installedPluginsTableViewer.getTable();
    pluginsTable.setHeaderVisible(true);
    pluginsTable.setLinesVisible(false);
    pluginsTable.setLayoutData(new GridData(GridData.FILL_BOTH));

    createColumn(pluginsTable, "", 32); // the image column //$NON-NLS-1$
    createColumn(pluginsTable, NAME, 200);
    createColumn(pluginsTable, VERSION, 75);
    createColumn(pluginsTable, RELEASE_DATE, 100);
    createColumn(pluginsTable, DESCRIPTION, 275);

    installedPluginsTableViewer.setContentProvider(new PluginContentProvider());
    installedPluginsTableViewer.setLabelProvider(new InstalledPluginsLabelProvider(pluginsTable.getDisplay()));
    TableViewerSorter.bind(installedPluginsTableViewer);
    installedPluginsTableViewer.addSelectionChangedListener(this);
    installedPluginsTableViewer.addFilter(new InstalledPluginsViewerFilter());

    refreshInstalledPlugins();//from   w  w  w  .jav a 2 s .c o m

    PreferenceUtils.persist(Activator.getDefault().getPreferenceStore(), pluginsTable, "installedPlugins"); //$NON-NLS-1$
}

From source file:com.aptana.ide.server.ui.generic.dialogs.ServerTypeSelectionDialog.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.TitleAreaDialog#createDialogArea(org.eclipse.swt.widgets.Composite)
 *///from   ww  w  .ja v  a  2  s.com
@Override
protected Control createDialogArea(Composite parent) {

    this.setTitle(title);
    this.setMessage(description);
    Label titleBarSeparator = new Label(parent, SWT.HORIZONTAL | SWT.SEPARATOR);
    titleBarSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    viewer = new TableViewer(parent, SWT.SINGLE);
    IServerType[] knownServerTypes = ServerCore.getServerManager().getServerTypes();
    ArrayList<IServerType> visibleTypes = new ArrayList<IServerType>();
    viewer.setContentProvider(new ArrayContentProvider());
    for (int a = 0; a < knownServerTypes.length; a++) {
        final IServerType type = knownServerTypes[a];
        // Filter out servers if needed
        if ((showOnlyExternalServers && !type.isExternal())
                || (category != null && !category.equalsIgnoreCase(type.getCategory())))
            continue;
        boolean hasDialog = ServerDialogPageRegistry.getInstance().hasDialog(type.getId());
        boolean b = type.getAdapter(ICanAdd.class) != null;
        if (hasDialog || b) {
            visibleTypes.add(type);
        }
    }
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            okPressed();
        }

    });
    viewer.setInput(visibleTypes.toArray());
    viewer.setLabelProvider(new ServerTypeLabelProvider());
    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    viewer.setSorter(new ViewerSorter());
    getShell().setText(Messages.ServerTypeSelectionDialog_CHOOSE_SERVER_TITLE);
    return super.createDialogArea(parent);
}

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  ww . jav  a 2 s  .  com*/
    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;
}