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

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

Introduction

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

Prototype

public Table getTable() 

Source Link

Document

Returns this table viewer's table control.

Usage

From source file:net.sourceforge.sqlexplorer.dataset.DataSetTable.java

License:Open Source License

/**
 * Create a new table element for a resultset in a given composite.
 * //from   w  w w. j  ava2 s.  c  om
 * @param composite canvas to draw table on
 * @param dataSet content of table
 * @param info text displayed in bottem left corner under table
 */
public DataSetTable(Composite parent, final DataSet dataSet, String info) throws Exception {

    final Composite composite = new Composite(parent, SWT.FILL);

    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginLeft = 0;
    layout.horizontalSpacing = 0;
    layout.verticalSpacing = 2;
    layout.marginWidth = 0;
    layout.marginHeight = 0;

    GridData gridData = new GridData(GridData.FILL_BOTH);
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = true;

    composite.setLayout(layout);
    composite.setLayoutData(gridData);

    // check column labels & types
    DataSet.Column[] columns = dataSet.getColumns();
    String[] columnLabels = new String[columns.length];
    for (int i = 0; i < columnLabels.length; i++)
        columnLabels[i] = columns[i].getCaption();

    if (columnLabels == null || columnLabels.length == 0)
        throw new Exception(Messages.getString("DataSetTable.errorInvalid"));

    // create table structure
    final TableViewer tableViewer = new TableViewer(composite,
            SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.VIRTUAL);
    final Table table = tableViewer.getTable();

    tableViewer.setColumnProperties(columnLabels);
    table.setItemCount(dataSet.getRows().length);

    // create listener for sorting
    Listener sortListener = new Listener() {
        public void handleEvent(Event e) {

            // determine new sort column and direction
            TableColumn sortColumn = table.getSortColumn();
            TableColumn currentColumn = (TableColumn) e.widget;
            int dir = table.getSortDirection();
            if (sortColumn == currentColumn) {
                dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
            } else {
                table.setSortColumn(currentColumn);
                dir = SWT.UP;
            }

            // sort the data based on column and direction
            dataSet.sort(((Integer) currentColumn.getData("orignalColumnIndex")).intValue(), dir);//$NON-NLS-1$

            // update data displayed in table
            table.setSortDirection(dir);
            table.clearAll();
        }
    };

    GridData tGridData = new GridData();
    tGridData.horizontalSpan = 2;
    tGridData.grabExcessHorizontalSpace = true;
    tGridData.grabExcessVerticalSpace = true;
    tGridData.horizontalAlignment = SWT.FILL;
    tGridData.verticalAlignment = SWT.FILL;
    table.setLayoutData(tGridData);

    GridLayout tlayout = new GridLayout();
    tlayout.numColumns = 2;
    tlayout.marginLeft = 0;
    table.setLayout(tlayout);

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

    // store dataset for use in actions
    table.setData(dataSet);

    // add all column headers to our table
    for (int i = 0; i < columns.length; i++) {
        DataSet.Column colDef = columns[i];

        // add column header
        TableColumn column = new TableColumn(table, colDef.isRightJustify() ? SWT.RIGHT : SWT.LEFT);
        column.setText(colDef.getCaption());
        column.setMoveable(true);
        column.setResizable(true);
        column.addListener(SWT.Selection, sortListener);
        column.setData("orignalColumnIndex", new Integer(i));//$NON-NLS-1$
    }

    tableViewer.setContentProvider(new DataSetTableContentProvider());
    tableViewer.setLabelProvider(new DataSetTableLabelProvider());
    tableViewer.setInput(dataSet);

    // add status bar labels
    Label infoLabel = new Label(composite, SWT.NULL);
    infoLabel.setText(info);
    infoLabel.setLayoutData(new GridData(SWT.LEFT, SWT.NULL, true, false));

    final Label positionLabel = new Label(composite, SWT.NULL);
    positionLabel.setText("");//$NON-NLS-1$
    positionLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.NULL, true, false));

    // create a TableCursor to navigate around the table
    final TableCursor cursor = new TableCursor(table, SWT.NONE);
    cursor.setBackground(table.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
    cursor.setForeground(table.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT));
    cursor.setLayout(new FillLayout());
    cursor.setVisible(false);
    cursor.addSelectionListener(new SelectionAdapter() {
        // when the TableEditor is over a cell, select the corresponding row in 
        // the table
        public void widgetSelected(SelectionEvent e) {

            table.setSelection(new TableItem[] { cursor.getRow() });
            cursor.setVisible(true);

            // update label with row/column position
            positionLabel.setText(Messages.getString("DatabaseDetailView.Tab.RowPrefix") + " "
                    + (table.indexOf(cursor.getRow()) + 1)
                    + Messages.getString("DatabaseDetailView.Tab.ColumnPrefix") + " "
                    + (cursor.getColumn() + 1)); //$NON-NLS-2$ $NON-NLS-4$          
            positionLabel.getParent().layout();
            positionLabel.redraw();

            // Show the preview
            IWorkbenchPage page = SQLExplorerPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
                    .getActivePage();
            if (page != null) {
                DataPreviewView view = (DataPreviewView) page.findView(DataPreviewView.class.getName());
                if (view != null) {
                    TableItem row = cursor.getRow();
                    int column = cursor.getColumn();
                    DataSetRow dsRow = (DataSetRow) row.getData();
                    Object obj = dsRow.getRawObjectValue(column);
                    try {
                        view.previewData(null, obj);
                    } catch (ExplorerException ex) {
                        SQLExplorerPlugin.error(ex.getMessage(), ex);
                    }
                }
            }
        }
    });

    // add resize listener for cursor, to stop cursor from
    // taking strange shapes after being table is resized
    cursor.addControlListener(new ControlAdapter() {
        public void controlResized(ControlEvent e) {
            if (cursor != null) {
                if (cursor.getRow() == null) {
                    cursor.setVisible(false);
                } else {
                    cursor.layout();
                    cursor.redraw();
                    cursor.setVisible(true);
                }
            }
        }
    });

    table.addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            Table t = (Table) e.widget;
            if (t.getItemCount() != 0) {
                cursor.setVisible(true);
            }
        }
    });

    // refresh tab on F5, copy cell on CTRL-C, etc
    KeyListener keyListener = new DataSetTableKeyListener(parent, table, cursor);
    cursor.addKeyListener(keyListener);
    table.addKeyListener(keyListener);

    // add context menu to table & cursor
    final DataSetTableActionGroup actionGroup = new DataSetTableActionGroup(table, cursor);
    MenuManager menuManager = new MenuManager("DataSetTableContextMenu");//$NON-NLS-1$
    menuManager.setRemoveAllWhenShown(true);
    Menu contextMenu = menuManager.createContextMenu(table);

    tableViewer.getControl().setMenu(contextMenu);
    cursor.setMenu(contextMenu);

    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            actionGroup.fillContextMenu(manager);
        }
    });

    tableViewer.getTable().pack();
    for (TableColumn column : tableViewer.getTable().getColumns())
        column.pack();
}

From source file:net.sourceforge.sqlexplorer.dialogs.FilterStructureDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {

    final Composite composite = (Composite) super.createDialogArea(parent);

    try {/*from  w  ww. ja  va 2 s .c o m*/

        GridLayout layout = new GridLayout();
        layout.numColumns = 2;
        layout.marginLeft = 10;
        layout.marginRight = 15;
        layout.horizontalSpacing = 0;
        layout.verticalSpacing = 5;
        layout.marginWidth = 0;
        layout.marginHeight = 5;

        GridData gridData = new GridData(GridData.FILL_BOTH);
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;

        composite.setLayout(layout);
        composite.setLayoutData(gridData);

        GridData tGridData = new GridData(GridData.FILL_HORIZONTAL);
        tGridData.horizontalSpan = 2;
        tGridData.horizontalAlignment = SWT.FILL;
        tGridData.widthHint = 280;

        GridData t2GridData = new GridData(GridData.FILL_HORIZONTAL);
        t2GridData.horizontalSpan = 2;
        t2GridData.horizontalAlignment = SWT.FILL;
        t2GridData.verticalIndent = 15;

        GridData bData = new GridData();
        bData.horizontalIndent = 10;

        // add schema text
        Label selectSchemaLabel = new Label(composite, SWT.WRAP);
        selectSchemaLabel.setLayoutData(tGridData);
        selectSchemaLabel.setText(Messages.getString("FilterStructureDialog.SelectSchema"));

        // add schema selection table
        final TableViewer schemaTable = new TableViewer(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL);
        _schemaTable = schemaTable.getTable();
        GridData tableGridData = new GridData();
        tableGridData.horizontalSpan = 2;
        tableGridData.horizontalAlignment = SWT.FILL;
        tableGridData.heightHint = 50;
        tableGridData.grabExcessHorizontalSpace = true;
        schemaTable.getControl().setLayoutData(tableGridData);
        schemaTable.setContentProvider(new TableContentProvider());
        schemaTable.setInput(_db);

        // select correct values
        TableItem[] items = _schemaTable.getItems();
        if (_schemaFilter != null && items != null) {
            for (int i = 0; i < items.length; i++) {
                for (int j = 0; j < _schemaFilter.length; j++) {
                    if (_schemaFilter[j].equalsIgnoreCase(items[i].getText())) {
                        items[i].setChecked(true);
                    }
                }
            }
        }

        // add schema selection buttons
        Button selectAllSchemas = new Button(composite, SWT.PUSH);
        selectAllSchemas.setLayoutData(bData);
        selectAllSchemas.setText(Messages.getString("FilterStructureDialog.Buttons.SelectAll"));
        selectAllSchemas.addMouseListener(new MouseAdapter() {

            public void mouseUp(MouseEvent e) {

                Table table = schemaTable.getTable();
                TableItem[] items = table.getItems();
                if (items == null) {
                    return;
                }
                for (int i = 0; i < items.length; i++) {
                    items[i].setChecked(true);
                }
            }
        });

        Button deselectAllSchemas = new Button(composite, SWT.PUSH);
        deselectAllSchemas.setText(Messages.getString("FilterStructureDialog.Buttons.DeselectAll"));
        deselectAllSchemas.addMouseListener(new MouseAdapter() {

            public void mouseUp(MouseEvent e) {

                Table table = schemaTable.getTable();
                TableItem[] items = table.getItems();
                if (items == null) {
                    return;
                }
                for (int i = 0; i < items.length; i++) {
                    items[i].setChecked(false);
                }
            }
        });

        // add folder text
        Label selectFolderLabel = new Label(composite, SWT.WRAP);
        selectFolderLabel.setLayoutData(t2GridData);
        selectFolderLabel.setText(Messages.getString("FilterStructureDialog.SelectFolder"));

        // add folder selection table
        final TableViewer folderTable = new TableViewer(composite, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL);
        _folderTable = folderTable.getTable();
        folderTable.getControl().setLayoutData(tableGridData);
        folderTable.setContentProvider(new TableContentProvider());
        if (_db.getChildNodes() != null && _db.getChildNodes().length != 0) {
            folderTable.setInput(_db.getChildNodes()[0]);
        }

        // select correct values
        items = _folderTable.getItems();
        if (_folderFilter != null && items != null) {
            for (int i = 0; i < items.length; i++) {
                for (int j = 0; j < _folderFilter.length; j++) {
                    if (_folderFilter[j].equalsIgnoreCase(items[i].getText())) {
                        items[i].setChecked(true);
                    }
                }
            }
        }

        // add folder selection buttons
        Button selectAllFolders = new Button(composite, SWT.PUSH);
        selectAllFolders.setLayoutData(bData);
        selectAllFolders.setText(Messages.getString("FilterStructureDialog.Buttons.SelectAll"));
        selectAllFolders.addMouseListener(new MouseAdapter() {

            public void mouseUp(MouseEvent e) {

                Table table = folderTable.getTable();
                TableItem[] items = table.getItems();
                if (items == null) {
                    return;
                }
                for (int i = 0; i < items.length; i++) {
                    items[i].setChecked(true);
                }
            }
        });

        Button deselectAllFolders = new Button(composite, SWT.PUSH);
        deselectAllFolders.setText(Messages.getString("FilterStructureDialog.Buttons.DeselectAll"));
        deselectAllFolders.addMouseListener(new MouseAdapter() {

            public void mouseUp(MouseEvent e) {

                Table table = folderTable.getTable();
                TableItem[] items = table.getItems();
                if (items == null) {
                    return;
                }
                for (int i = 0; i < items.length; i++) {
                    items[i].setChecked(false);
                }
            }
        });

        // add filter text
        _patternButton = new Button(composite, SWT.CHECK | SWT.WRAP);
        _patternButton.setLayoutData(t2GridData);
        _patternButton.setText(Messages.getString("FilterStructureDialog.ElementPattern"));

        final Text pattern = new Text(composite, SWT.BORDER);
        _filterText = pattern;
        GridData textData = new GridData(GridData.FILL_HORIZONTAL);
        textData.horizontalSpan = 2;
        pattern.setLayoutData(textData);
        pattern.setEnabled(_patternButton.getSelection());

        // restore values
        if (_nameFilter != null) {
            _patternButton.setSelection(true);
            pattern.setEnabled(true);
            pattern.setText(_nameFilter);
        } else {
            _patternButton.setSelection(false);
        }

        // add filter help text
        final Label filterHelpLabel = new Label(composite, SWT.WRAP);
        GridData helpData = new GridData(GridData.FILL_HORIZONTAL);
        helpData.horizontalSpan = 2;
        filterHelpLabel.setLayoutData(helpData);
        filterHelpLabel.setText(Messages.getString("FilterStructureDialog.ElementPattern.help"));
        filterHelpLabel.setEnabled(_patternButton.getSelection());

        // activate field and help when checkbox is selected
        _patternButton.addSelectionListener(new SelectionAdapter() {

            public void widgetSelected(SelectionEvent e) {

                pattern.setEnabled(((Button) e.widget).getSelection());
                filterHelpLabel.setEnabled(((Button) e.widget).getSelection());
            }

        });

        composite.addListener(SWT.RESIZE, new Listener() {

            public void handleEvent(Event event) {

                composite.layout();
                composite.redraw();
            }

        });

        return composite;

    } catch (Exception e) {
        SQLExplorerPlugin.error("Couldn't create dialog.", e);
    }

    return null;
}

From source file:net.sourceforge.tagsea.core.ui.TagSEAView.java

License:Open Source License

/**
 * @param page/*from w  w w  . ja  v  a 2s  .c o  m*/
 */
private void createWaypointsArea(SashForm form) {
    Group parent = new Group(form, SWT.FLAT);
    parent.setLayout(new FillLayout());
    fWaypointFilter = new WaypointExtensionsFilter();

    //waypointTableSash = new SashForm(parent,SWT.VERTICAL);
    waypointTableSash = new Composite(parent, SWT.VERTICAL);

    if (waypointTableSash.getVerticalBar() != null) {
        waypointTableSash.getVerticalBar().setEnabled(false);
        waypointTableSash.getVerticalBar().setVisible(false);
    }

    waypointTableSash.setLayoutData(new GridData(GridData.FILL_BOTH));
    //composite.setBackground(JFaceColors.getBannerBackground(Display.getDefault()));
    GridLayout layout = new GridLayout();
    layout.marginWidth = 3;
    layout.marginHeight = 3;
    layout.verticalSpacing = 0;
    layout.marginTop = 0;
    layout.marginBottom = 0;
    layout.marginLeft = 0;
    layout.marginRight = 0;
    layout.horizontalSpacing = 0;
    waypointTableSash.setLayout(layout);
    SimpleSubStringPatternFilter patternFilter = new SimpleSubStringPatternFilter();
    FilteredTable waypointFilteredTable = new FilteredTable(waypointTableSash,
            SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER | SWT.FLAT, patternFilter);
    waypointTableViewer = waypointFilteredTable.getViewer();
    TableViewer tableViewer = waypointTableViewer;
    //fFilteredTable.setBackground(JFaceColors.getBannerBackground(Display.getDefault()));
    tableViewer.addFilter(fWaypointFilter);
    tableViewer.setContentProvider(new WaypointTableContentProvider());
    tableViewer.setComparator(new WaypointTableColumnSorter());
    tableViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { WaypointTransfer.getInstance()/*, PluginTransfer.getInstance()*/ },
            new WaypointTableDragListener(tableViewer));
    tableViewer.addDropSupport(DND.DROP_COPY, new Transfer[] { TagNameTransfer.getInstance() },
            new WaypointTableViewDropAdapter(tableViewer));
    tableViewer.addDoubleClickListener(new WaypointTableDoubleClickListener());
    tableViewer.addSelectionChangedListener(new WaypointTableSelectionListener());
    Table table = tableViewer.getTable();
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
    table.setSortDirection(SWT.DOWN);
    for (int i = 0; i < WaypointTableColumnLabelProvider.COLUMN_LABELS.length; i++) {
        TableViewerColumn viewerColumn = new TableViewerColumn(tableViewer, SWT.FLAT);
        viewerColumn.setLabelProvider(new TagSEADelegatingStyledCellLabelProvider(
                new WaypointTableColumnLabelProvider(patternFilter, i)));
        TableColumn column = viewerColumn.getColumn();
        final int columnIndex = i;
        column.setMoveable(true);
        column.setText(WaypointTableColumnLabelProvider.COLUMN_LABELS[i]);
        column.setData(WaypointTableColumnLabelProvider.COLUMNS[i]);
        column.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                TableColumn column = (TableColumn) e.widget;
                waypointTableViewer.getTable().setSortColumn(column);
                ((WaypointTableColumnSorter) waypointTableViewer.getComparator()).setColumn(columnIndex);
                waypointTableViewer.refresh();
            }
        });
    }
    TableLayout tableLayout = new TableLayout();
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    tableLayout.addColumnData(new ColumnWeightData(25));
    table.setLayout(tableLayout);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    tableViewer.setInput(new Object());

    createWaypointTagsArea(waypointTableSash);

    MenuManager contextMenu = new MenuManager();
    contextMenu.setRemoveAllWhenShown(true);
    Menu menu = contextMenu.createContextMenu(table);
    contextMenu.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            waypointContextMenuAboutToShow(manager);
        }
    });
    table.setMenu(menu);
    table.addFocusListener(new FocusListener() {
        public void focusGained(FocusEvent e) {
            getViewSite().getActionBars().setGlobalActionHandler(ActionFactory.DELETE.getId(),
                    waypointActions.getDeleteAction());
            getViewSite().getActionBars().updateActionBars();
        }

        public void focusLost(FocusEvent e) {
        }
    });
    getViewSite().registerContextMenu(contextMenu, tableViewer);
    //waypointTableSash.setWeights(new int[] {10, 1});
}

From source file:net.sourceforge.tagsea.core.ui.waypoints.OpenWaypointDialog.java

License:Open Source License

private void createWaypointTableViewer(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridData compositeLayout = new GridData(GridData.FILL_BOTH);
    compositeLayout.heightHint = 240;// w w w.  ja  v  a 2  s  .  c  o  m
    composite.setLayoutData(compositeLayout);
    //composite.setBackground(JFaceColors.getBannerBackground(Display.getDefault()));
    GridLayout layout = new GridLayout();
    layout.marginWidth = 3;
    layout.marginHeight = 3;
    layout.verticalSpacing = 0;
    layout.marginTop = 0;
    layout.marginBottom = 0;
    layout.marginLeft = 0;
    layout.marginRight = 0;
    layout.horizontalSpacing = 0;
    composite.setLayout(layout);
    ExpressionPatternFilter patternFilter = new ExpressionPatternFilter();
    patternFilter.addExpressionFilter(new ExpressionFilter());
    patternFilter.addExpressionFilter(new TagExpressionFilter());
    ExpressionFilteredTable fFilteredTable = new ExpressionFilteredTable(composite,
            SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER, patternFilter);

    TableViewer fWaypointViewer = fFilteredTable.getViewer();
    WaypointExtensionsFilter fWaypointFilter = new WaypointExtensionsFilter();
    fWaypointViewer.addFilter(fWaypointFilter);
    fWaypointViewer.setContentProvider(new WaypointDialogContentProvider());
    fWaypointViewer.setLabelProvider(
            new TagSEADelegatingStyledCellLabelProvider(new WaypointTableColumnLabelProvider(patternFilter)));
    fWaypointViewer.setSorter(new WaypointTableSorter());
    fWaypointViewer.addDragSupport(DND.DROP_MOVE | DND.DROP_COPY,
            new Transfer[] { WaypointTransfer.getInstance()/*, PluginTransfer.getInstance()*/ },
            new WaypointTableDragListener(fWaypointViewer));
    fWaypointViewer.addDropSupport(DND.DROP_COPY, new Transfer[] { TagNameTransfer.getInstance() },
            new WaypointTableViewDropAdapter(fWaypointViewer));
    //fWaypointViewer.addSelectionChangedListener(new WaypointTableSelectionChangedListener());
    fWaypointViewer.addDoubleClickListener(new WaypointTableDoubleClickListener());
    fWaypointViewer.setSorter(new ViewerSorter());

    Table table = fWaypointViewer.getTable();
    table.setLinesVisible(true);
    fWaypointViewer.setInput(new Object());
    fWaypointViewer.addSelectionChangedListener(this);
}

From source file:net.tourbook.tour.TourTypeFilterManager.java

License:Open Source License

/**
 * write the filters from the viewer into an xml file
 * //from  w  ww .  j a v a2  s .  co m
 * @param filterViewer
 */
public static void writeXMLFilterFile(final TableViewer filterViewer) {

    BufferedWriter writer = null;

    try {

        final IPath stateLocation = Platform.getStateLocation(TourbookPlugin.getDefault().getBundle());
        final File file = stateLocation.append(MEMENTO_FILTER_LIST_FILE).toFile();

        writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); //$NON-NLS-1$

        final XMLMemento xmlMemento = getXMLMementoRoot();

        for (final TableItem tableItem : filterViewer.getTable().getItems()) {

            final Object itemData = tableItem.getData();
            if (itemData instanceof TourTypeFilter) {

                final TourTypeFilter filter = (TourTypeFilter) itemData;

                final IMemento mementoFilter = xmlMemento.createChild(MEMENTO_CHILD_FILTER);

                final int filterType = filter.getFilterType();

                mementoFilter.putInteger(TAG_FILTER_TYPE, filterType);
                mementoFilter.putString(TAG_NAME, filter.getFilterName());

                switch (filterType) {
                case TourTypeFilter.FILTER_TYPE_SYSTEM:
                    mementoFilter.putInteger(TAG_SYSTEM_ID, filter.getSystemFilterId());
                    break;

                case TourTypeFilter.FILTER_TYPE_DB:
                    mementoFilter.putString(TAG_TOUR_TYPE_ID, Long.toString(filter.getTourType().getTypeId()));
                    break;

                case TourTypeFilter.FILTER_TYPE_TOURTYPE_SET:

                    final TourTypeFilterSet filterSet = filter.getTourTypeSet();

                    final Object[] tourTypes = filterSet.getTourTypes();
                    if (tourTypes != null) {
                        for (final Object item : tourTypes) {

                            final TourType tourType = (TourType) item;
                            final IMemento mementoTourType = mementoFilter.createChild(MEMENTO_CHILD_TOURTYPE);
                            {
                                mementoTourType.putString(TAG_TOUR_TYPE_ID,
                                        Long.toString(tourType.getTypeId()));
                            }
                        }
                    }
                    break;

                default:
                    break;
                }
            }
        }

        xmlMemento.save(writer);

    } catch (final IOException e) {
        e.printStackTrace();
    } finally {
        if (writer != null) {
            try {
                writer.close();
            } catch (final IOException e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:net.tourbook.ui.views.TableViewerTourInfoToolTip.java

License:Open Source License

/**
 * Tour info tooltip for a table viewer/*from w ww  .ja  v a  2  s  .c o  m*/
 * 
 * @param tableViewer
 */
public TableViewerTourInfoToolTip(final TableViewer tableViewer) {

    super(tableViewer.getTable(), NO_RECREATE, tableViewer);
}

From source file:net.tourbook.util.ColumnManager.java

License:Open Source License

/**
 * Creates a column in a table viewer// ww w. ja v  a 2 s  . c o  m
 * 
 * @param colDef
 * @param tableViewer
 */
private void createTableColumn(final TableColumnDefinition colDef, final TableViewer tableViewer) {

    TableViewerColumn tvc;
    TableColumn tc;

    tvc = new TableViewerColumn(tableViewer, colDef.getColumnStyle());

    final CellLabelProvider cellLabelProvider = colDef.getCellLabelProvider();
    if (cellLabelProvider != null) {
        tvc.setLabelProvider(cellLabelProvider);
    }

    tvc.setEditingSupport(colDef.getEditingSupport());

    // get column widget
    tc = tvc.getColumn();

    final String columnText = colDef.getColumnText();
    if (columnText != null) {
        tc.setText(columnText);
    }

    final String columnToolTipText = colDef.getColumnToolTipText();
    if (columnToolTipText != null) {
        tc.setToolTipText(columnToolTipText);
    }

    /*
     * set column width
     */
    if (_columnLayout == null) {

        // set the column width with pixels

        tc.setWidth(getColumnWidth(colDef));

    } else {

        // use the column layout to set the width of the columns

        final ColumnLayoutData columnLayoutData = colDef.getColumnWeightData();

        if (columnLayoutData == null) {
            try {
                throw new Exception("ColumnWeightData is not set for the column: " + colDef); //$NON-NLS-1$
            } catch (final Exception e) {
                e.printStackTrace();
            }
        }

        if (columnLayoutData instanceof ColumnPixelData) {
            final ColumnPixelData columnPixelData = (ColumnPixelData) columnLayoutData;

            // overwrite the width
            columnPixelData.width = getColumnWidth(colDef);
            _columnLayout.setColumnData(tc, columnPixelData);
        } else {
            _columnLayout.setColumnData(tc, columnLayoutData);
        }
    }

    tc.setResizable(colDef.isColumnResizable());
    tc.setMoveable(colDef.isColumnMoveable());

    // keep reference to the column definition
    tc.setData(colDef);

    // keep tc ref
    colDef.setTableColumn(tc);

    // keep create index
    final int tcIndex = tableViewer.getTable().getColumnCount();
    colDef.setTableColumnIndex(tcIndex);

    // add selection listener
    final SelectionAdapter columnSelectionListener = colDef.getColumnSelectionListener();
    if (columnSelectionListener != null) {
        tc.addSelectionListener(columnSelectionListener);
    }

    // add resize/move listener
    final ControlListener columnControlListener = colDef.getColumnControlListener();
    if (columnControlListener != null) {
        tc.addControlListener(columnControlListener);
    }
}

From source file:net.yatomiya.e4.ui.viewer.TableViewerColumnManager.java

License:Open Source License

public TableViewerColumnManager(TableViewer viewer) {
    this.viewer = viewer;

    propertyListenerList = new ArrayList<>();

    dataList = new ArrayList<>();

    TableViewerEditor.create(viewer, new InternalEditStrategy(viewer), ColumnViewerEditor.DEFAULT);

    final Display display = viewer.getTable().getDisplay();
    final Listener mouseListener = new Listener() {
        @Override//from w  ww .j  ava 2  s . c  o m
        public void handleEvent(Event event) {
            if (event.widget == viewer.getTable()) {
                ViewerCell cell = viewer.getCell(new Point(event.x, event.y));
                if (cell != null) {
                    ColumnData data = dataList.get(cell.getColumnIndex());

                    boolean doRestoreSelection = false;
                    if (lastSelection != null && SelectionUtils.size(lastSelection) > 1
                            && data.editingSupport != null) {
                        for (Object e : SelectionUtils.toList(lastSelection)) {
                            if (e == cell.getElement())
                                doRestoreSelection = true;
                        }
                    }

                    if (doRestoreSelection) {
                        viewer.setSelection(lastSelection);
                    } else {
                        lastSelection = viewer.getSelection();
                    }
                }
            }
        }
    };
    display.addFilter(SWT.MouseDown, mouseListener);
    viewer.getTable().addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent event) {
            display.removeFilter(SWT.MouseDown, mouseListener);
        }
    });
}

From source file:net.zehrer.no2.ui.dialogs.AbstractEMFDialog.java

License:Open Source License

protected TableViewerColumn addNoColumn(String columnName, TableViewer viewer) {
    TableViewerColumn column = addColumn(viewer, columnName, 20);
    column.setLabelProvider(new NoColumnLabelProvider(viewer.getTable()));
    return column;
}

From source file:no.javatime.inplace.ui.views.BundleDetailsLabelProvider.java

License:Open Source License

public void createColumns(TableViewer viewer) {
    this.viewer = viewer;
    Table table = viewer.getTable();
    table.removeAll(); // rows      
    TableColumn column = new TableColumn(table, SWT.LEFT, 0);
    column.setText("Property");
    column.setAlignment(SWT.LEFT);//from   w  w  w .  ja  v  a  2s .  com
    column.setWidth(1);
    column.setResizable(true);

    TableColumn value = new TableColumn(table, SWT.LEFT, 1);
    value.setText("Value");
    value.setAlignment(SWT.LEFT);
    value.setWidth(1);
    value.setResizable(true);
    table.setHeaderVisible(true);
    table.setLinesVisible(true);
}