List of usage examples for org.eclipse.jface.viewers ILazyContentProvider ILazyContentProvider
ILazyContentProvider
From source file:com.bdaum.zoom.ui.internal.dialogs.AbstractSelectExhibitDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite area = (Composite) super.createDialogArea(parent); GridLayout layout = (GridLayout) area.getLayout(); layout.marginWidth = 1;/*from ww w .ja v a 2 s .c om*/ layout.marginHeight = 1; viewer = new TableViewer(area, SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.VIRTUAL); viewer.getControl().setLayoutData(new GridData(200, 350)); viewer.setContentProvider(new ILazyContentProvider() { public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public void updateElement(int index) { viewer.replace(exhibits.get(index), index); } }); viewer.setLabelProvider(new ColumnLabelProvider() { private Map<String, Image> thMap = new HashMap<String, Image>(); @Override public String getText(Object element) { return AbstractSelectExhibitDialog.this.getText(element); } @Override public Font getFont(Object element) { return AbstractSelectExhibitDialog.this.getFont(element); } @Override public Image getImage(Object element) { String assetID = AbstractSelectExhibitDialog.this.getAssetId(element); if (assetID == null) return null; Image image = thMap.get(assetID); if (image == null) { ICore core = Core.getCore(); AssetImpl asset = core.getDbManager().obtainAsset(assetID); if (asset != null) { image = core.getImageCache().getImage(asset); if (image != null) { Rectangle bounds = image.getBounds(); double scale = ImageUtilities.computeScale(bounds.width, bounds.height, ICONWIDTH, ICONWIDTH); int newWidth = (int) (bounds.width * scale + 0.5d); int newHeight = (int) (bounds.height * scale + 0.5d); Image thumbnail = new Image(image.getDevice(), ICONWIDTH, ICONWIDTH); GC gc = new GC(thumbnail); try { if (advanced) { gc.setAntialias(SWT.ON); gc.setInterpolation(SWT.HIGH); } gc.setBackground(getShell().getDisplay().getSystemColor(SWT.COLOR_GRAY)); gc.fillRectangle(0, 0, ICONWIDTH, ICONWIDTH); gc.drawImage(image, 0, 0, bounds.width, bounds.height, (ICONWIDTH - newWidth) / 2, (ICONWIDTH - newHeight) / 2, newWidth, newHeight); image = thumbnail; } finally { gc.dispose(); } thMap.put(assetID, image); } } } return image; } @Override public void dispose() { for (Image image : thMap.values()) image.dispose(); thMap.clear(); super.dispose(); } }); viewer.setInput(exhibits); viewer.setItemCount(exhibits.size()); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { processSelection(); } }); viewer.getControl().addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { if (e.character == '\r') processSelection(); } }); viewer.getControl().addFocusListener(new FocusListener() { @Override public void focusLost(FocusEvent e) { if (focusGained) cancelPressed(); } @Override public void focusGained(FocusEvent e) { focusGained = true; } }); viewer.getTable().pack(); return area; }
From source file:com.bdaum.zoom.ui.internal.views.TableView.java
License:Open Source License
private void createGallery(Composite parent, boolean recreate) { gallery = new TableViewer(parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); PlatformUI.getWorkbench().getHelpSystem().setHelp(gallery.getControl(), HelpContextIds.TABLE_VIEW); themeChanged();//from ww w .j ava 2 s.c o m gallery.setContentProvider(new ILazyContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public void updateElement(int index) { IAssetProvider assetProvider = getAssetProvider(); if (assetProvider != null) { Asset asset = assetProvider.getAsset(index); if (asset != null) { synchronized (gallery) { gallery.replace(asset, index); } } } } }); final Table table = gallery.getTable(); if (!recreate) setAppStarting(table); table.setLinesVisible(true); table.setHeaderVisible(true); // Construct columns List<String> props = new ArrayList<String>(); imageColumn = new TableViewerColumn(gallery, SWT.NONE); TableColumn icolumn = imageColumn.getColumn(); icolumn.setWidth(thumbsize); icolumn.setResizable(false); icolumn.setText(Messages.getString("TableView.configure")); //$NON-NLS-1$ imageColumn.setLabelProvider(new ThumbnailLabelProvider()); icolumn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ConfigureColumnsDialog dialog = new ConfigureColumnsDialog(getSite().getShell()); dialog.create(); dialog.getShell().setLocation(gallery.getControl().toDisplay(e.x, e.y)); dialog.open(); } }); props.add("$"); //$NON-NLS-1$ QueryField scoreField = QueryField.SCORE; scoreColumn = createColumn(table, scoreField, Messages.getString("TableView.score"), 50, //$NON-NLS-1$ new MetaDataLabelProvider(scoreField)); props.add(scoreField.getKey()); StringTokenizer st = new StringTokenizer( UiActivator.getDefault().getPreferenceStore().getString(PreferenceConstants.TABLECOLUMNS), "\n"); //$NON-NLS-1$ displayedFields.clear(); while (st.hasMoreTokens()) { String id = st.nextToken(); QueryField qfield = QueryField.findQueryField(id); if (qfield != null) { displayedFields.add(qfield); createColumn(table, qfield, qfield.getLabel(), 120, new MetaDataLabelProvider(qfield)); props.add(id); } } gallery.setColumnProperties(props.toArray(new String[props.size()])); gallery.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (refreshing <= 0) { stopAudio(); selection = doGetAssetSelection(); fireSelection(); } } }); ZColumnViewerToolTipSupport.enableFor(gallery); addKeyListener(); addGestureListener(gallery.getTable()); addExplanationListener(false); addDragDropSupport(); hookContextMenu(); hookDoubleClickAction(); }
From source file:gr.scharf.workingsets.internal.RegExWorkingSetPage.java
License:Open Source License
public void createTableViewer(Composite parent) { Table table = new Table(parent, SWT.VIRTUAL | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER); TableLayout layout = new TableLayout(); table.setLayout(layout);//from w w w .j av a2 s . c o m table.setHeaderVisible(true); this.fPreviewTableViewer = new TableViewer(table); GridData data = new GridData(GridData.FILL_BOTH); data.minimumHeight = 300; this.fPreviewTableViewer.getTable().setLayoutData(data); fComparator = new ResourceComparator(); createTableViewerColumn("Name", 200, 0); createTableViewerColumn("Path", 400, 1); this.fPreviewTableViewer.setLabelProvider(new ITableLabelProvider() { public Image getColumnImage(Object element, int columnIndex) { if (columnIndex == 1) return null; IWorkbenchAdapter adapter = (IWorkbenchAdapter) ((IAdaptable) element) .getAdapter(IWorkbenchAdapter.class); if (adapter == null) { return null; } ImageDescriptor descriptor = adapter.getImageDescriptor(element); if (descriptor == null) { return null; } Image image = (Image) descriptor.createResource(Display.getCurrent()); return image; } public String getColumnText(Object element, int columnIndex) { IResource resource = (IResource) element; if (columnIndex == 1) return resource.getFullPath().toPortableString(); return resource.getName(); } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }); this.fPreviewTableViewer.setContentProvider(new ILazyContentProvider() { @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } @Override public void dispose() { } @Override public void updateElement(int index) { fPreviewTableViewer.replace(fResources[index], index); } }); this.fPreviewTableViewer.setInput(this.fResources); }
From source file:org.eclipse.eavp.viz.service.geometry.properties.ShapeSection.java
License:Open Source License
@Override public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) { // Set the parent to a FormLayout so that it will resize with the view parent.getParent().setLayout(new FormLayout()); FormData parentData = new FormData(); parentData.top = new FormAttachment(0); parentData.left = new FormAttachment(0); parentData.right = new FormAttachment(100); parentData.bottom = new FormAttachment(100); parent.setLayoutData(parentData);/*from ww w . j a va 2s . c o m*/ parent.setLayout(new FormLayout()); // Get the system's white color Color white = Display.getCurrent().getSystemColor(SWT.COLOR_WHITE); // Create a group for the IRenderElement's INode's data, taking up the // left half of the screen. Group dataGroup = createGroup(parent, "Data", 0, 0, 50, 100); // A composite to hold the nameLabel and nameText, located in the upper // left corner Composite nameComp = new Composite(dataGroup, SWT.NONE); FormData nameData = new FormData(); nameData.top = new FormAttachment(0, 5); nameData.left = new FormAttachment(0, 5); nameData.right = new FormAttachment(25); nameComp.setLayoutData(nameData); nameComp.setLayout(new GridLayout(2, false)); nameComp.setBackground(white); // A label reading "Name:" Label nameLabel = new Label(nameComp, SWT.CENTER); nameLabel.setText("Name:"); nameLabel.setBackground(white); // A text box in which the INode's name will be displayed and can be // edited. nameText = new Text(nameComp, SWT.BORDER); nameText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); nameText.addListener(SWT.DefaultSelection, new Listener() { @Override public void handleEvent(Event event) { // Set the INode's name to the textbox's value source.getBase().setName(nameText.getText()); nameText.selectAll(); } }); nameText.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent event) { // Select all the text in the Text widget nameText.selectAll(); } @Override public void focusLost(FocusEvent event) { // Set the INode's name to the textbox's value source.getBase().setName(nameText.getText()); } }); // A composite to hold the idLabel and idText, located to the right of // nameComp Composite idComp = new Composite(dataGroup, SWT.NONE); FormData idData = new FormData(); idData.top = new FormAttachment(0, 5); idData.left = new FormAttachment(nameComp, 5, 0); idData.right = new FormAttachment(35); idComp.setLayoutData(idData); idComp.setLayout(new GridLayout(2, false)); idComp.setBackground(white); // A label containing the text "ID:" Label idLabel = new Label(idComp, SWT.NONE); idLabel.setText("ID:"); idLabel.setBackground(white); // A text box in which the INode's ID will be displayed and can be // edited. idText = new Text(idComp, SWT.BORDER); idText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); idText.addListener(SWT.DefaultSelection, new Listener() { @Override public void handleEvent(Event event) { // Set the INode's ID to the textbox's value source.getBase().setId(Long.valueOf(idText.getText())); idText.selectAll(); } }); idText.addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent event) { // Select all the text in the Text widget idText.selectAll(); } @Override public void focusLost(FocusEvent event) { // Set the INode's ID to the textbox's value source.getBase().setId(Long.valueOf(idText.getText())); } }); // A group containing the three coordinates of the shape's center, along // with labels for them Group centerGroup = createGroup(dataGroup, "Center", null, null, idComp, 0, null, 70, null, null); centerGroup.setLayout(new GridLayout(3, true)); // Coordinate labels Label labelX = new Label(centerGroup, SWT.NONE); labelX.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); labelX.setBackground(white); labelX.setText("X"); Label labelY = new Label(centerGroup, SWT.NONE); labelY.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); labelY.setText("Y"); labelY.setBackground(white); Label labelZ = new Label(centerGroup, SWT.NONE); labelZ.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); labelZ.setText("Z"); labelZ.setBackground(white); // The three spinners that will control translation for the center point for (int i = 0; i < 3; i++) { translateSpinners[i] = new RealSpinner(centerGroup); translateSpinners[i].getControl().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); translateSpinners[i].getControl().setBackground(white); translateSpinners[i].setBounds(-1.0e6, 1.0e6); } // A group to display the INode's properties, located below the // centerGroup Group meshPropertiesGroup = createGroup(dataGroup, "Mesh Properties", centerGroup, 0, null, 0, null, 100, null, null); meshPropertiesGroup.setLayout(new RowLayout()); // Create property widgets to display any properties the shape has. propertyWidgets = new ArrayList<TransformationPropertyWidget>(); for (int i = 0; i < NUM_PROPERTIES; i++) { // Create a child composite to hold the widget Composite widgetComp = new Composite(meshPropertiesGroup, SWT.NONE); widgetComp.setLayout(new GridLayout(2, false)); widgetComp.setBackground(white); // Create the widget and add it to the list propertyWidgets.add(new TransformationPropertyWidget(widgetComp)); } // Empty the old list of property spinners propertySpinners.clear(); // A group that will contain the table of triangle data, located below // the meshPropertiesGroup Group meshDataGroup = createGroup(dataGroup, "Triangle Mesh Data", meshPropertiesGroup, 0, null, 0, null, 100, null, 100); meshDataGroup.setLayout(new GridLayout(2, false)); // A table which will display the nine coordinates that define each // triangle, in the order XYZ for each of the three vertices in turn. // This table should fit inside the screen, displaying the full table // only with a scrollbar and only load those values currently visible triangleTable = new TableViewer(meshDataGroup, SWT.FULL_SELECTION | SWT.VIRTUAL | SWT.BORDER); GridData tableData = new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1); tableData.heightHint = 90; triangleTable.getTable().setLayoutData(tableData); triangleTable.getTable().setHeaderVisible(true); // Create the formatter that will set the coordinates' // strings DecimalFormat formatter = new DecimalFormat("#.########"); formatter.setRoundingMode(RoundingMode.DOWN); //Create the X column for the first vertex TableViewerColumn col1X = new TableViewerColumn(triangleTable, SWT.NONE); col1X.getColumn().setText("X1"); col1X.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(0).getX()); } }); col1X.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(0).getX()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(0).setX(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col1Y = new TableViewerColumn(triangleTable, SWT.NONE); col1Y.getColumn().setText("Y1"); col1Y.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(0).getY()); } }); col1Y.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(0).getY()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(0).setY(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col1Z = new TableViewerColumn(triangleTable, SWT.NONE); col1Z.getColumn().setText("Z1"); col1Z.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(0).getZ()); } }); col1Z.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(0).getZ()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(0).setZ(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col2X = new TableViewerColumn(triangleTable, SWT.NONE); col2X.getColumn().setText("X2"); col2X.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(1).getX()); } }); col2X.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(1).getX()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(1).setX(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col2Y = new TableViewerColumn(triangleTable, SWT.NONE); col2Y.getColumn().setText("Y2"); col2Y.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(1).getY()); } }); col2Y.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(1).getY()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(1).setY(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col2Z = new TableViewerColumn(triangleTable, SWT.NONE); col2Z.getColumn().setText("Z2"); col2Z.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(1).getZ()); } }); col2Z.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(1).getZ()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(1).setZ(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col3X = new TableViewerColumn(triangleTable, SWT.NONE); col3X.getColumn().setText("X3"); col3X.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(2).getX()); } }); col3X.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(2).getX()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(2).setX(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col3Y = new TableViewerColumn(triangleTable, SWT.NONE); col3Y.getColumn().setText("Y3"); col3Y.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(2).getY()); } }); col3Y.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(2).getY()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(2).setY(Double.valueOf((String) value)); triangleTable.update(element, null); } }); TableViewerColumn col3Z = new TableViewerColumn(triangleTable, SWT.NONE); col3Z.getColumn().setText("Z3"); col3Z.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object triangle) { //Each cell will display the value of the corresponding vertex's coordinate return formatter.format(((Triangle) triangle).getVertices().get(2).getZ()); } }); col3Z.setEditingSupport(new TriangleTableEditingSupport(triangleTable) { @Override protected Object getValue(Object element) { //Display the full value of the cell for editing purposes return String.valueOf(((Triangle) element).getVertices().get(2).getZ()); } @Override protected void setValue(Object element, Object value) { //Set the value to the coordinate. ((Triangle) element).getVertices().get(2).setZ(Double.valueOf((String) value)); triangleTable.update(element, null); } }); //Set the table to lazily load the list of triangles triangleTable.setContentProvider(new ILazyContentProvider() { //All the triangles belonging to the source shape private List<Triangle> triangles; public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { triangles = (List<Triangle>) newInput; } @Override public void updateElement(int index) { triangleTable.replace(triangles.get(index), index); } }); //Save the columns to the list triangleTableColumns = new ArrayList<TableViewerColumn>(); triangleTableColumns.add(col1X); triangleTableColumns.add(col1Y); triangleTableColumns.add(col1Z); triangleTableColumns.add(col2X); triangleTableColumns.add(col2Y); triangleTableColumns.add(col2Z); triangleTableColumns.add(col3X); triangleTableColumns.add(col3Y); triangleTableColumns.add(col3Z); //Set up the triangle table to load dynamically triangleTable.setUseHashlookup(true); //Set the table to be empty initially triangleTable.setInput(new ArrayList<Triangle>()); triangleTable.setItemCount(0); // A display group taking up the right half of the view. This group will // display the properties of the IRenderElement, which control how the // data is displayed. displayGroup = createGroup(parent, "Display", 0, 50, 100, 100); // Set the initial shape createListeners(); refresh(); }
From source file:org.eclipse.jface.tests.viewers.interactive.LazyDeferredVirtualTableView.java
License:Open Source License
@Override protected IContentProvider getContentProvider() { return new ILazyContentProvider() { int rangeStart = -1; int rangeEnd = -1; UIJob updateJob = new UIJob("Update") { @Override// w w w .ja v a2s . c om public IStatus runInUIThread(IProgressMonitor monitor) { if (viewer.getControl().isDisposed()) { return Status.CANCEL_STATUS; } int rangeLength = rangeEnd - rangeStart; for (int i = 0; i <= rangeLength; i++) { int index = i + rangeStart; viewer.replace("Element " + index, index); } return Status.OK_STATUS; } }; @Override public void updateElement(int index) { int begin = Math.max(0, index - 50); int end = Math.min(begin + 50, 9999); // Initial case if (rangeStart == -1 || rangeEnd == -1) { rangeStart = begin; rangeEnd = end; updateJob.schedule(1000); return; } // Are we in the range already being worked on? if (index >= rangeStart && index <= rangeEnd) { return; } // Are we outside of the old range? if (begin > rangeEnd || end < rangeStart) { viewer.getTable().clear(rangeStart, rangeEnd); rangeStart = begin; rangeEnd = end; updateJob.schedule(1000); return; } // Shift if it is before if (begin < rangeStart) { rangeStart = begin; int oldEnd = rangeEnd; rangeEnd = end; viewer.getTable().clear(end + 1, oldEnd); updateJob.schedule(1000); return; } // Shift if it is after if (end > rangeEnd) { rangeEnd = end; int oldStart = rangeStart; rangeStart = begin; viewer.getTable().clear(oldStart, rangeStart - 1); updateJob.schedule(1000); return; } } @Override public void dispose() { // Do Nothing } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // Do nothing. } }; }
From source file:org.eclipse.jface.tests.viewers.interactive.LazyVirtualTableView.java
License:Open Source License
@Override protected IContentProvider getContentProvider() { return new ILazyContentProvider() { @Override//from www . j av a2 s .com public void updateElement(int index) { viewer.replace(elements.get(index), index); } @Override public void dispose() { // Do Nothing } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // Do nothing. } }; }
From source file:org.eclipse.pde.nls.internal.ui.editor.LocalizationEditor.java
License:Open Source License
private void createTableViewer() { table = new Table(tableComposite, SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.MULTI); tableViewer = new TableViewer(table); table.setHeaderVisible(true);/*from ww w . j a v a 2 s .c om*/ toolkit.adapt(table); toolkit.paintBordersFor(table); toolkit.adapt(table, true, true); tableViewer.setContentProvider(new ILazyContentProvider() { public void updateElement(int index) { tableViewer.replace(entryList.getKey(index), index); } public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { new EditEntryAction().run(); } }); }