List of usage examples for org.eclipse.jface.viewers TableViewer getTable
public Table getTable()
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); }