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

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

Introduction

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

Prototype

public ColumnPixelData(int widthInPixels, boolean resizable) 

Source Link

Document

Creates a column width of the given number of pixels.

Usage

From source file:au.gov.ga.earthsci.common.ui.color.ColorMapEditor.java

License:Apache License

private void addEntriesList(Composite parent) {
    Composite tableContainer = new Composite(parent, SWT.NONE);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.horizontalSpan = 2;/* ww w  .  j  ava2s.  c  o m*/
    tableContainer.setLayoutData(gd);
    TableColumnLayout layout = new TableColumnLayout();
    tableContainer.setLayout(layout);

    // Not sure why, but columns and column label providers only work when SWT.VIRTUAL is used
    entriesTable = new TableViewer(tableContainer, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
    entriesTable.setContentProvider(ArrayContentProvider.getInstance());
    entriesTable.getTable().setHeaderVisible(true);
    entriesTable.getTable().setLinesVisible(true);
    entriesTable.setInput(map.getEntries().entrySet());

    TableViewerColumn valueColumn = new TableViewerColumn(entriesTable, SWT.NONE);
    valueColumn.getColumn().setText(Messages.ColorMapEditor_TableValueColumnLabel);
    valueColumn.setLabelProvider(new ColumnLabelProvider() {
        @SuppressWarnings("unchecked")
        @Override
        public String getText(Object element) {
            Double value = ((Entry<Double, Color>) element).getKey();
            String result = "" + value; //$NON-NLS-1$
            if (map.isPercentageBased()) {
                result += " (" + (int) (value * 100) + "%)"; //$NON-NLS-1$ //$NON-NLS-2$
            }
            return result;
        }
    });
    layout.setColumnData(valueColumn.getColumn(), new ColumnPixelData(80, false));

    TableViewerColumn colorNameColumn = new TableViewerColumn(entriesTable, SWT.NONE);
    colorNameColumn.getColumn().setText(Messages.ColorMapEditor_TableColorColumnLabel);
    colorNameColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            Color color = getColorFromElement(element);
            return "RGBA(" + color.getRed() + ", " //$NON-NLS-1$ //$NON-NLS-2$
                    + color.getGreen() + ", " //$NON-NLS-1$
                    + color.getBlue() + ", " //$NON-NLS-1$
                    + color.getAlpha() + ")"; //$NON-NLS-1$
        }

        @Override
        public String getToolTipText(Object element) {
            return "#" + getColorKey(getColorFromElement(element)); //$NON-NLS-1$
        }

        @SuppressWarnings("unchecked")
        private Color getColorFromElement(Object element) {
            return ((Entry<Double, Color>) element).getValue();
        }

        private String getColorKey(Color color) {
            return Integer.toHexString(color.getRGB());
        }

    });
    layout.setColumnData(colorNameColumn.getColumn(), new ColumnWeightData(100, false));

    ColumnViewerToolTipSupport.enableFor(entriesTable, ToolTip.NO_RECREATE);
}

From source file:com.aptana.theme.preferences.ThemePreferencePage.java

License:Open Source License

private void createTokenEditTable(Composite composite) {
    // FIXME allow drag and drop to sort items in the table!
    Composite comp = new Composite(composite, SWT.NONE);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.heightHint = 200;/*from w  w  w . j a  va2 s. c  o m*/
    comp.setLayoutData(gridData);
    TableColumnLayout layout = new TableColumnLayout();
    comp.setLayout(layout);
    final Table table = new Table(comp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.V_SCROLL);
    table.setHeaderVisible(true);
    table.setLinesVisible(false);
    // Hack to force a specific row height
    table.addListener(SWT.MeasureItem, new Listener() {
        public void handleEvent(Event event) {
            event.height = ROW_HEIGHT;
        }
    });
    // Hack to draw the underline in first column
    table.addListener(SWT.PaintItem, new Listener() {
        public void handleEvent(Event event) {
            if ((event.detail & SWT.FOREGROUND) != 0 && event.index == 0) {
                TableItem item = (TableItem) event.item;
                ThemeRule token = (ThemeRule) item.getData();
                if ((token.getTextAttribute().style & TextAttribute.UNDERLINE) != 0) {
                    int y = event.getBounds().y + event.getBounds().height - 6;
                    int x2 = event.getBounds().width;
                    Color oldFG = event.gc.getForeground();
                    Color fg;
                    RGBa rgb = token.getTextAttribute().foreground;
                    if (rgb == null) {
                        fg = ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground());
                    } else {
                        fg = ThemePlugin.getDefault().getColorManager().getColor(rgb.toRGB());
                    }
                    event.gc.setForeground(fg);
                    event.gc.drawLine(0, y, x2, y);
                    event.gc.setForeground(oldFG);
                    event.detail &= ~SWT.FOREGROUND;
                }
            }
        }
    });

    Listener selectionOverride = new Listener() {
        public void handleEvent(Event event) {
            if ((event.detail & SWT.SELECTED) != 0) {
                Scrollable scrollable = (Scrollable) event.widget;
                Rectangle clientArea = scrollable.getClientArea();
                int clientWidth = clientArea.width;

                GC gc = event.gc;
                Color oldBackground = gc.getBackground();

                gc.setBackground(ThemePlugin.getDefault().getColorManager()
                        .getColor(getTheme().getSelectionAgainstBG()));
                gc.fillRectangle(clientArea.x, event.y, clientWidth, event.height);
                gc.setBackground(oldBackground);

                event.detail &= ~SWT.SELECTED;
                event.detail &= ~SWT.BACKGROUND;

                // force foreground color. Otherwise on dark themes we get black FG (all the time on Win, on
                // non-focus for Mac)
                gc.setForeground(
                        ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground()));
            }
        }
    };
    table.addListener(SWT.EraseItem, selectionOverride);

    tableViewer = new TableViewer(table);
    tableViewer.setContentProvider(new IStructuredContentProvider() {

        private Theme theme;

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            this.theme = (Theme) newInput;
        }

        public void dispose() {

        }

        public Object[] getElements(Object inputElement) {
            return theme.getTokens().toArray();
        }
    });
    tableViewer.setLabelProvider(new TokenLabelProvider());
    tableViewer.getTable().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            Table table = tableViewer.getTable();
            // If user is clicking in the FG/BG column when it's empty, pop open a color dialog
            int fgColX = table.getColumn(0).getWidth(); // scope col width
            int fgColWidth = table.getColumn(1).getWidth(); // fg col width
            int bgColX = fgColX + fgColWidth;
            int bgColWidth = table.getColumn(2).getWidth() + 2;

            if (e.x > fgColX && e.x < (fgColX + fgColWidth)) {
                // user clicked in FG column
                ColorDialog colorDialog = new ColorDialog(table.getShell());
                colorDialog.setRGB(getTheme().getForeground());
                RGB newRGB = colorDialog.open();
                if (newRGB == null) {
                    return; // no color selected, don't change a thing!
                }
                TableItem tableItem = table.getItem(new Point(e.x, e.y));
                ThemeRule token = (ThemeRule) tableItem.getData();
                int index = table.indexOf(tableItem);
                getTheme().updateRule(index, token.updateFG(new RGBa(newRGB)));
            } else if (e.x > bgColX && e.x < (bgColX + bgColWidth)) // is user clicking in the BG column?
            {
                ColorDialog colorDialog = new ColorDialog(table.getShell());
                colorDialog.setRGB(getTheme().getBackground());
                RGB newRGB = colorDialog.open();
                if (newRGB == null) {
                    return; // no color selected, don't change a thing!
                }
                TableItem tableItem = table.getItem(new Point(e.x, e.y));
                ThemeRule token = (ThemeRule) tableItem.getData();
                int index = table.indexOf(tableItem);
                getTheme().updateRule(index, token.updateBG(new RGBa(newRGB)));
            } else {
                return;
            }

            tableViewer.refresh();
            addCustomTableEditorControls();
        }
    });

    TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn tokenName = column.getColumn();
    tokenName.setText("Element"); //$NON-NLS-1$
    layout.setColumnData(tokenName, new ColumnWeightData(100, true));
    column.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            ThemeRule token = (ThemeRule) element;
            return token.getName();
        }

        public Color getForeground(Object element) {
            ThemeRule token = (ThemeRule) element;
            // TODO How do we handle alpha?
            RGBa fg = token.getTextAttribute().foreground;
            if (fg == null)
                return ThemePlugin.getDefault().getColorManager().getColor(getTheme().getForeground());
            return ThemePlugin.getDefault().getColorManager().getColor(fg.toRGB());
        }

        public Color getBackground(Object element) {
            ThemeRule token = (ThemeRule) element;
            // TODO How do we handle alpha?
            RGBa bg = token.getTextAttribute().background;
            if (bg == null)
                return ThemePlugin.getDefault().getColorManager().getColor(getTheme().getBackground());
            return ThemePlugin.getDefault().getColorManager().getColor(bg.toRGB());
        }

        public Font getFont(Object element) {
            ThemeRule token = (ThemeRule) element;
            if (token.getTextAttribute().style == 0) // TODO Limit to only checking for bold or italic
                return fFont;
            return lazyFont(fFont, token.getTextAttribute().style);
        }
    });

    column.setEditingSupport(new EditingSupport(tableViewer) {

        private TextCellEditor cellEditor;

        @Override
        protected void setValue(Object element, Object value) {
            ThemeRule token = (ThemeRule) element;
            String newName = (String) value;
            if (newName.equals(token.getName())) {
                return;
            }
            // update the token in the theme
            int index = getTheme().getTokens().indexOf(token);
            getTheme().updateRule(index, token.setName(newName));
            tableViewer.refresh();
        }

        @Override
        protected Object getValue(Object element) {
            ThemeRule token = (ThemeRule) element;
            return token.getName();
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            ThemeRule token = (ThemeRule) element;
            cellEditor = new TextCellEditor(table);
            cellEditor.setValue(token.getName());
            return cellEditor;
        }

        @Override
        protected boolean canEdit(Object element) {
            return true;
        }
    });

    column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn foreground = column.getColumn();
    foreground.setResizable(false);
    foreground.setText(Messages.ThemePreferencePage_ForegroundColumnLabel);
    layout.setColumnData(foreground, new ColumnPixelData(30, false));
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    column = new TableViewerColumn(tableViewer, SWT.NONE);
    final TableColumn background = column.getColumn();
    background.setResizable(false);
    background.setText(Messages.ThemePreferencePage_BackgroundColumnLabel);
    layout.setColumnData(background, new ColumnPixelData(30, false));
    column.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            return ""; //$NON-NLS-1$
        }
    });

    final TableColumn fontStyle = new TableColumn(table, SWT.NONE);
    fontStyle.setResizable(false);
    fontStyle.setText(Messages.ThemePreferencePage_FontStyleColumnLabel);
    layout.setColumnData(fontStyle, new ColumnPixelData(75, false));

    Composite editTokenList = new Composite(composite, SWT.NONE);
    editTokenList.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    GridLayout grid = new GridLayout(2, false);
    editTokenList.setLayout(grid);

    Composite buttons = new Composite(editTokenList, SWT.NONE);
    GridLayout buttonsLayout = new GridLayout(2, true);
    buttonsLayout.marginWidth = 0;
    buttonsLayout.horizontalSpacing = 0;
    buttons.setLayout(buttonsLayout);

    fAddTokenButton = new Button(buttons, SWT.PUSH | SWT.FLAT);
    fAddTokenButton.setBounds(0, 0, 16, 16);
    fAddTokenButton.setLayoutData(new GridData(GridData.FILL_BOTH));
    fAddTokenButton.setText(Messages.ThemePreferencePage_AddTokenLabel);
    fAddTokenButton.addSelectionListener(this);
    fRemoveTokenButton = new Button(buttons, SWT.PUSH | SWT.FLAT);
    fRemoveTokenButton.setLayoutData(new GridData(GridData.FILL_BOTH));
    fRemoveTokenButton.setText(Messages.ThemePreferencePage_RemoveTokenLabel);
    fRemoveTokenButton.addSelectionListener(this);

    Composite textField = new Composite(editTokenList, SWT.NONE);
    textField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    textField.setLayout(new GridLayout(2, false));
    Label addTokenLabel = new Label(textField, SWT.RIGHT);
    addTokenLabel.setText(Messages.ThemePreferencePage_ScopeSelectoreLabel);

    fScopeText = new Combo(textField, SWT.SINGLE | SWT.BORDER);
    GridData data = new GridData(GridData.FILL_HORIZONTAL);
    fScopeText.setLayoutData(data);
    for (String preset : tokenTypeNames) {
        fScopeText.add(preset);
    }
    table.addSelectionListener(this);
    fScopeSelectorDecoration = new ControlDecoration(fScopeText, SWT.RIGHT);
    fScopeText.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent e) {
            // Update the scope selector for the current token!
            TableItem[] selection = table.getSelection();
            if (selection == null || selection.length == 0) {
                return;
            }
            TableItem item = selection[0];
            ThemeRule rule = (ThemeRule) item.getData();

            String scopeSelectorText = fScopeText.getText();
            // Validate the value isn't a duplicate!
            ScopeSelector selector = new ScopeSelector(scopeSelectorText);
            ThemeRule match = getTheme().getRuleForSelector(selector);
            if (scopeSelectorText.length() > 0 && match != null && match != rule) {
                FieldDecoration dec = FieldDecorationRegistry.getDefault()
                        .getFieldDecoration(FieldDecorationRegistry.DEC_WARNING);
                fScopeSelectorDecoration.setImage(dec.getImage());
                fScopeSelectorDecoration.setDescriptionText(MessageFormat
                        .format(Messages.ThemePreferencePage_DuplicateScopeSelectorRules, match.getName()));
                fScopeText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
            } else {
                fScopeSelectorDecoration.setDescriptionText(null);
                fScopeSelectorDecoration.setImage(null);
                fScopeText.setForeground(null);
            }

            int index = table.indexOf(item);
            ThemeRule newRule = rule.setScopeSelector(selector);
            getTheme().updateRule(index, newRule);
            item.setData(newRule);
        }
    });

    addDNDToTable(table);
}

From source file:com.archimatetool.editor.propertysections.UserPropertiesSection.java

License:Open Source License

private void createTableControl(Composite parent) {
    // Table Composite
    Composite tableComp = createTableComposite(parent, SWT.NULL);
    fTableLayout = (UpdatingTableColumnLayout) tableComp.getLayout();

    // Table Viewer
    fTableViewer = new TableViewer(tableComp, SWT.MULTI | SWT.BORDER | SWT.FULL_SELECTION);

    fTableViewer.getTable().setHeaderVisible(true);
    fTableViewer.getTable().setLinesVisible(true);

    addDragSupport();//from   ww w.j  a  v  a 2s. com
    addDropSupport();

    // Help ID on table
    PlatformUI.getWorkbench().getHelpSystem().setHelp(fTableViewer.getTable(), HELP_ID);

    // Columns
    TableViewerColumn columnBlank = new TableViewerColumn(fTableViewer, SWT.NONE, 0);
    fTableLayout.setColumnData(columnBlank.getColumn(), new ColumnPixelData(24, false));

    TableViewerColumn columnKey = new TableViewerColumn(fTableViewer, SWT.NONE, 1);
    columnKey.getColumn().setText(Messages.UserPropertiesSection_0);
    fTableLayout.setColumnData(columnKey.getColumn(), new ColumnWeightData(20, true));
    columnKey.setEditingSupport(new KeyEditingSupport(fTableViewer));

    // Click on Key Table Header
    columnKey.getColumn().addListener(SWT.Selection, new Listener() {
        @Override
        public void handleEvent(Event event) {
            sortKeys();
        }
    });

    TableViewerColumn columnValue = new TableViewerColumn(fTableViewer, SWT.NONE, 2);
    columnValue.getColumn().setText(Messages.UserPropertiesSection_1);
    fTableLayout.setColumnData(columnValue.getColumn(), new ColumnWeightData(80, true));
    columnValue.setEditingSupport(new ValueEditingSupport(fTableViewer));

    // Content Provider
    fTableViewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            return ((IProperties) inputElement).getProperties().toArray();
        }
    });

    // Label Provider
    fTableViewer.setLabelProvider(new LabelCellProvider());

    // Toolbar
    ToolBar toolBar = new ToolBar(parent, SWT.FLAT | SWT.VERTICAL);
    GridDataFactory.fillDefaults().align(SWT.END, SWT.TOP).applyTo(toolBar);

    ToolBarManager toolBarmanager = new ToolBarManager(toolBar);

    // New Property
    fActionNewProperty = new Action(Messages.UserPropertiesSection_2) {
        @Override
        public void run() {
            if (isAlive()) {
                int index = -1;
                IProperty selected = (IProperty) ((IStructuredSelection) fTableViewer.getSelection())
                        .getFirstElement();
                if (selected != null) {
                    index = fPropertiesElement.getProperties().indexOf(selected) + 1;
                }
                IProperty property = IArchimateFactory.eINSTANCE.createProperty();
                getCommandStack()
                        .execute(new NewPropertyCommand(fPropertiesElement.getProperties(), property, index));
                fTableViewer.editElement(property, 1);
            }
        }

        @Override
        public String getToolTipText() {
            return getText();
        }

        @Override
        public ImageDescriptor getImageDescriptor() {
            return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_PLUS);
        }
    };

    // New Multiple Properties
    fActionNewMultipleProperty = new Action(Messages.UserPropertiesSection_3) {
        @Override
        public void run() {
            if (isAlive()) {
                MultipleAddDialog dialog = new MultipleAddDialog(fPage.getSite().getShell());
                if (dialog.open() == Window.OK) {
                    getCommandStack().execute(dialog.getCommand());
                }
            }
        }

        @Override
        public String getToolTipText() {
            return getText();
        }

        @Override
        public ImageDescriptor getImageDescriptor() {
            return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_MUTIPLE);
        }
    };

    // Remove Property
    fActionRemoveProperty = new Action(Messages.UserPropertiesSection_4) {
        @Override
        public void run() {
            if (isAlive()) {
                CompoundCommand compoundCmd = new EObjectNonNotifyingCompoundCommand(fPropertiesElement) {
                    @Override
                    public String getLabel() {
                        return getCommands().size() > 1 ? Messages.UserPropertiesSection_5
                                : Messages.UserPropertiesSection_6;
                    }
                };
                for (Object o : ((IStructuredSelection) fTableViewer.getSelection()).toList()) {
                    Command cmd = new RemovePropertyCommand(fPropertiesElement.getProperties(), (IProperty) o);
                    compoundCmd.add(cmd);
                }
                getCommandStack().execute(compoundCmd);
            }
        }

        @Override
        public String getToolTipText() {
            return getText();
        }

        @Override
        public ImageDescriptor getImageDescriptor() {
            return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_SMALL_X);
        }
    };
    fActionRemoveProperty.setEnabled(false);

    // Manage
    fActionShowKeyEditor = new Action(Messages.UserPropertiesSection_7) {
        @Override
        public void run() {
            if (isAlive()) {
                UserPropertiesManagerDialog dialog = new UserPropertiesManagerDialog(fPage.getSite().getShell(),
                        getArchimateModel());
                dialog.open();
            }
        }

        @Override
        public String getToolTipText() {
            return getText();
        }

        @Override
        public ImageDescriptor getImageDescriptor() {
            return IArchimateImages.ImageFactory.getImageDescriptor(IArchimateImages.ICON_COG);
        }
    };

    toolBarmanager.add(fActionNewProperty);
    toolBarmanager.add(fActionNewMultipleProperty);
    toolBarmanager.add(fActionRemoveProperty);
    toolBarmanager.add(fActionShowKeyEditor);
    toolBarmanager.update(true);

    /*
     * Selection Listener
     */
    fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            fActionRemoveProperty.setEnabled(!event.getSelection().isEmpty());
        }
    });

    /*
     * Table Double-click on cell
     */
    fTableViewer.getTable().addListener(SWT.MouseDoubleClick, new Listener() {
        @Override
        public void handleEvent(Event event) {
            // Get Table item
            TableItem item = fTableViewer.getTable().getItem(new Point(event.x, event.y));
            // Double-click into empty table creates new Property
            if (item == null) {
                fActionNewProperty.run();
            }
            // Handle selected item property double-clicked
            else {
                if (item.getData() instanceof IProperty) {
                    handleDoubleClick((IProperty) item.getData());
                }
            }
        }
    });

    hookContextMenu();
}

From source file:com.hudren.woodpile.views.SessionView.java

License:Open Source License

private void createTableViewer(final Composite parent) {
    viewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
    viewer.setUseHashlookup(true);//w  w w . jav  a2 s .c  o m

    final Table table = viewer.getTable();
    final TableLayout layout = new TableLayout();
    table.setLayout(layout);
    // table.setFont( JFaceResources.getTextFont() );

    if (memento != null) {
        // restore columns width
        final IMemento children[] = memento.getChildren(TAG_COLUMN);
        if (children != null) {
            for (final IMemento element : children) {
                Integer val = element.getInteger(TAG_NUMBER);
                if (val != null) {
                    final int index = val.intValue();
                    val = element.getInteger(TAG_WIDTH);
                    if (val != null) {
                        columnLayouts[index] = new ColumnPixelData(val.intValue(), true);
                    }
                }
            }
        }
    }

    int i = 0;
    iconColumn = new TableColumn(table, SWT.CENTER);
    iconColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    timestampColumn = new TableColumn(table, SWT.LEFT);
    timestampColumn.setText("Time");
    timestampColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    serverColumn = new TableColumn(table, SWT.LEFT);
    serverColumn.setText("Component");
    serverColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    levelColumn = new TableColumn(table, SWT.LEFT);
    levelColumn.setText("Level");
    levelColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    loggerColumn = new TableColumn(table, SWT.LEFT);
    loggerColumn.setText("Logger");
    loggerColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    messageColumn = new TableColumn(table, SWT.LEFT);
    messageColumn.setText("Message");
    layout.addColumnData(columnLayouts[i++]);

    throwableColumn = new TableColumn(table, SWT.LEFT);
    throwableColumn.setText("Throwable");
    throwableColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    threadColumn = new TableColumn(table, SWT.LEFT);
    threadColumn.setText("Thread");
    threadColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    hostColumn = new TableColumn(table, SWT.LEFT);
    hostColumn.setText("Host");
    hostColumn.setResizable(columnLayouts[i].resizable);
    layout.addColumnData(columnLayouts[i++]);

    table.setHeaderVisible(true);
    table.setLinesVisible(false);

    viewer.setContentProvider(contentProvider = new SessionViewContentProvider(this));
    viewer.setLabelProvider(labelProvider = new SessionViewLabelProvider(this));
    viewer.addFilter(categoryFilter = new CategoryFilter(contentProvider));
    viewer.addFilter(zoomFilter = new ZoomFilter());
    viewer.addFilter(levelFilter);
    viewer.setInput(WoodpilePlugin.getDefault().getCurrentSession());

    getSite().setSelectionProvider(viewer);
}

From source file:com.microsoft.tfs.client.common.ui.wit.form.controls.test.TestStepsControl.java

License:Open Source License

/**
 * Create the steps table.//from   w  ww. java  2s .c om
 *
 * @param composite
 *        the parent layout composite
 * @param workItem
 *        the test case work item
 *
 * @return the allocated table viewer
 */
private TableViewer createStepsTable(final Composite composite, final WorkItem workItem) {
    final TableViewer viewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION);
    GridDataBuilder.newInstance().align(SWT.FILL, SWT.FILL).grab(true, true).span(1, 1).minHeight(75)
            .applyTo(viewer.getTable());

    final Table table = viewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    final TableLayout tableLayout = new TableLayout();
    table.setLayout(tableLayout);

    tableLayout.addColumnData(new ColumnPixelData(60, true));
    final TableColumn column1 = new TableColumn(table, SWT.NONE);
    column1.setImage(TestStepUtil.imageHelper.getImage("images/common/attachment.gif")); //$NON-NLS-1$
    column1.setResizable(true);

    tableLayout.addColumnData(new ColumnWeightData(10, true));
    final TableColumn column2 = new TableColumn(table, SWT.NONE);
    column2.setText(Messages.getString("TestStepsControl.ColumnNameAction")); //$NON-NLS-1$
    column2.setResizable(true);

    tableLayout.addColumnData(new ColumnWeightData(8, true));
    final TableColumn column3 = new TableColumn(table, SWT.NONE);
    column3.setText(Messages.getString("TestStepsControl.ColumnNameExpectedResult")); //$NON-NLS-1$
    column3.setResizable(true);

    viewer.setContentProvider(new TestStepContentProvider());
    viewer.setLabelProvider(new TestStepLabelProvider());
    viewer.setInput(workItem);

    return viewer;
}

From source file:com.runwaysdk.manager.widgets.PaginatedTableView.java

License:Open Source License

private TableLayout createTableLayout(List<MdAttributeDAOIF> mdAttributes) {
    TableLayout layout = new TableLayout();

    int size = mdAttributes.size();

    for (int i = 0; i < size; i++) {
        layout.addColumnData(new ColumnPixelData(DEFAULT_COLUMN_SIZE, true));
    }//from   w w w .j av  a  2  s  . co m

    return layout;
}

From source file:com.softlanding.rse.extensions.spooledfiles.SpooledFilesTableViewer.java

License:Open Source License

private void createColumns() {
    SelectionListener headerListener = new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            // column selected - need to sort
            int column = table.indexOf((TableColumn) e.widget);
            SpooledFilesSorter oldSorter = (SpooledFilesSorter) viewer.getSorter();
            if (oldSorter != null && column == oldSorter.getColumnNumber()) {
                oldSorter.setReversed(!oldSorter.isReversed());
                viewer.refresh();//from  www  .ja va  2s.co m
            } else {
                viewer.setSorter(new SpooledFilesSorter(column));
            }
        }
    };
    TableLayout layout = new TableLayout();
    table.setLayout(layout);
    table.setHeaderVisible(true);
    for (int i = 0; i < columnHeaders.length; i++) {
        int w = ExtensionsPlugin.getDefault().getPreferenceStore().getInt(tableID + i);
        if (w != 0) {
            columnLayouts[i] = new ColumnPixelData(w, true);
        }
    }
    for (int i = 0; i < columnHeaders.length; i++) {
        layout.addColumnData(columnLayouts[i]);
        TableColumn tc = new TableColumn(table, SWT.NONE, i);
        tc.setResizable(columnLayouts[i].resizable);
        tc.setText(columnHeaders[i]);
        tc.addSelectionListener(headerListener);
    }
    table.setSize(table.computeSize(SWT.DEFAULT, SWT.DEFAULT));
}

From source file:com.vectrace.MercurialEclipse.history.MercurialHistoryPage.java

License:Open Source License

private void createTableHistory(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout0 = new GridLayout();
    layout0.marginHeight = 0;/*from   w ww  .  j  a v  a  2  s  .c  om*/
    layout0.marginWidth = 0;
    composite.setLayout(layout0);
    GridData data = new GridData(GridData.FILL_BOTH);
    data.grabExcessVerticalSpace = true;
    composite.setLayoutData(data);

    viewer = new GraphLogTableViewer(composite,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.VIRTUAL, this);
    Table changeLogTable = viewer.getTable();

    changeLogTable.setLinesVisible(true);
    changeLogTable.setHeaderVisible(true);

    GridData gridData = new GridData(GridData.FILL_BOTH);
    changeLogTable.setLayoutData(gridData);

    IPreferenceStore store = MercurialEclipsePlugin.getDefault().getPreferenceStore();
    if (layout == null) {
        layout = new TableLayout();

        // Get the user-defined column widths from the preferences.
        int[] preferredWidths = getColumnWidthsFromPrefsIfEnabled();

        // We set default widths when there's no widths in the preferences or the user is not
        // interested in having their custom widths saved.
        if (preferredWidths == null) {
            layout.addColumnData(new ColumnWeightData(7, true));
            layout.addColumnData(new ColumnWeightData(15, true));
            layout.addColumnData(new ColumnWeightData(10, true));
            layout.addColumnData(new ColumnWeightData(10, true));
            layout.addColumnData(new ColumnWeightData(12, true));
            layout.addColumnData(new ColumnWeightData(12, true));
            layout.addColumnData(new ColumnWeightData(25, true));
        } else {
            // We found column widths in the preference store. We use them.
            for (int colIdx = 0; colIdx < NUMBER_OF_COLUMNS; colIdx++) {
                layout.addColumnData(new ColumnPixelData(preferredWidths[colIdx], true));
            }
        }
    }

    changeLogTable.setLayout(layout);
    for (int i = 0; i < NUMBER_OF_COLUMNS; i++) {
        TableColumn column = new TableColumn(changeLogTable, i == 0 ? SWT.CENTER : SWT.LEFT);
        switch (i) {
        case 0:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.graph")); //$NON-NLS-1$
            break;
        case 1:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.changeset")); //$NON-NLS-1$
            break;
        case 2:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.tag")); //$NON-NLS-1$
            break;
        case 3:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.branch")); //$NON-NLS-1$
            break;
        case 4:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.user")); //$NON-NLS-1$
            break;
        case 5:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.date")); //$NON-NLS-1$
            break;
        case 6:
            column.setText(Messages.getString("MercurialHistoryPage.columnHeader.summary")); //$NON-NLS-1$
            break;
        default:
            // If this shows up in the view, then there was a programming error: please update
            // the number of columns constant.
            column.setText("ERROR!!!"); //$NON-NLS-1$
            break;
        }
        //
        // Listener to be notified of changes in the column width.
        if (store.getBoolean(PREF_HISTORY_COLUMN_PERSISTENCE)) {
            column.addControlListener(new ControlListener() {

                public void controlResized(ControlEvent e) {
                    persistColumnWidths();
                }

                public void controlMoved(ControlEvent e) {
                    // We have no interest in this: the columns aren't defined as moveable.
                }
            });
        }
    }
    viewer.setLabelProvider(new ChangeSetLabelProvider());
    viewer.setContentProvider(new ChangeLogContentProvider());
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            getCompareWithPreviousAction();
            updateActionEnablement();
            if (compareWithPrevAction.isEnabled()) {
                compareWithPrevAction.run();
            }
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (!gotoText.isVisible()) {
                return;
            }
            IStructuredSelection selection = getSelection();
            if (selection.isEmpty()) {
                return;
            }
            gotoText.setText(((MercurialRevision) selection.getFirstElement()).getChangeSet().toString());
            gotoText.selectAll();
        }
    });

    viewer.getControl().addFocusListener(new FocusAdapter() {
        @Override
        public void focusGained(FocusEvent e) {
            setSelectionProvider(viewer);
        }
    });
    contributeActions();
}

From source file:de.blizzy.backup.ErrorsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite composite = (Composite) super.createDialogArea(parent);
    ((GridLayout) composite.getLayout()).numColumns = 1;

    TableViewer viewer = new TableViewer(composite,
            SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    viewer.setContentProvider(new ErrorsContentProvider());
    viewer.setLabelProvider(new ErrorsLabelProvider(parent.getDisplay()));

    Table table = viewer.getTable();/* w  ww  .  j  a  va 2  s . c  o  m*/
    TableLayout layout = new TableLayout();
    table.setLayout(layout);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.widthHint = convertWidthInCharsToPixels(80);
    gd.heightHint = convertHeightInCharsToPixels(15);
    table.setLayoutData(gd);

    TableColumn col = new TableColumn(table, SWT.LEFT);
    col.setText(Messages.Title_Date);
    layout.addColumnData(new ColumnPixelData(convertWidthInCharsToPixels(16) + 20, true));

    col = new TableColumn(table, SWT.LEFT);
    col.setText(Messages.Title_FileOrFolder);
    layout.addColumnData(new ColumnWeightData(40, true));

    col = new TableColumn(table, SWT.LEFT);
    col.setText(Messages.Title_Error);
    layout.addColumnData(new ColumnWeightData(40, true));

    viewer.setInput(errors);

    return composite;
}

From source file:de.byteholder.geoclipse.map.DialogManageOfflineImages.java

License:Open Source License

private void createUI20PartViewer(final Composite parent) {

    final PixelConverter pixelConverter = new PixelConverter(parent);

    final TableColumnLayout tableLayout = new TableColumnLayout();
    final Composite layoutContainer = new Composite(parent, SWT.NONE);
    layoutContainer.setLayout(tableLayout);

    GridDataFactory.fillDefaults()//
            .grab(true, true).hint(SWT.DEFAULT, pixelConverter.convertHeightInCharsToPixels(13))
            .applyTo(layoutContainer);/* ww  w .ja  v  a 2 s  . com*/

    /*
     * create table
     */
    final Table table = new Table(layoutContainer, SWT.FULL_SELECTION | SWT.BORDER);

    table.setLayout(new TableLayout());
    table.setHeaderVisible(true);
    table.setLinesVisible(true);

    _partViewer = new TableViewer(table);

    /*
     * create columns
     */
    TableViewerColumn tvc;
    TableColumn tvcColumn;

    // column: map provider
    tvc = new TableViewerColumn(_partViewer, SWT.LEAD);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_OfflineArea_Column_MapProvider);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PartMP partMp = (PartMP) cell.getElement();
            cell.setText(partMp.partMp.getName());
        }
    });
    tableLayout.setColumnData(tvcColumn, new ColumnWeightData(100));

    // column: existing images
    tvc = new TableViewerColumn(_partViewer, SWT.TRAIL);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_OfflineArea_Column_ExistingImages);
    tvcColumn.setToolTipText(Messages.Dialog_OfflineArea_Column_ExistingImages_Tooltip);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PartMP partMp = (PartMP) cell.getElement();
            cell.setText(Integer.toString(partMp.existingImages));
        }
    });
    tableLayout.setColumnData(tvcColumn,
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(12), true));

    // column: missing images
    tvc = new TableViewerColumn(_partViewer, SWT.TRAIL);
    tvcColumn = tvc.getColumn();
    tvcColumn.setText(Messages.Dialog_OfflineArea_Column_MissingImages);
    tvcColumn.setToolTipText(Messages.Dialog_OfflineArea_Column_MissingImages_Tooltip);
    tvc.setLabelProvider(new CellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final PartMP partMp = (PartMP) cell.getElement();
            cell.setText(Integer.toString(partMp.missingImages));
        }
    });
    tableLayout.setColumnData(tvcColumn,
            new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(12), true));

    /*
     * create table viewer
     */

    _partViewer.setContentProvider(new PartViewerContentProvicer());

    _partViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            final StructuredSelection selection = (StructuredSelection) event.getSelection();
            if (selection != null) {
                enableControls(true);
            }
        }
    });
}