Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 185671 Details for
Bug 333043
[Table] Not "repainting" when changed while not visible
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
IEntryPoint to reproduce the issue
EntryPoint3.java (text/x-java), 4.57 KB, created by
Chris Fairhall
on 2010-12-21 15:57:03 EST
(
hide
)
Description:
IEntryPoint to reproduce the issue
Filename:
MIME Type:
Creator:
Chris Fairhall
Created:
2010-12-21 15:57:03 EST
Size:
4.57 KB
patch
obsolete
>package testrap; > >import java.util.Observable; > >import org.eclipse.core.databinding.observable.Realm; >import org.eclipse.core.databinding.observable.list.IListChangeListener; >import org.eclipse.core.databinding.observable.list.ListChangeEvent; >import org.eclipse.core.databinding.observable.list.WritableList; >import org.eclipse.jface.databinding.swt.SWTObservables; >import org.eclipse.jface.databinding.viewers.ObservableListContentProvider; >import org.eclipse.jface.layout.GridLayoutFactory; >import org.eclipse.jface.viewers.ArrayContentProvider; >import org.eclipse.jface.viewers.CellLabelProvider; >import org.eclipse.jface.viewers.TableViewer; >import org.eclipse.jface.viewers.TableViewerColumn; >import org.eclipse.jface.viewers.ViewerCell; >import org.eclipse.rwt.lifecycle.IEntryPoint; >import org.eclipse.swt.SWT; >import org.eclipse.swt.custom.CTabFolder; >import org.eclipse.swt.custom.CTabItem; >import org.eclipse.swt.events.SelectionAdapter; >import org.eclipse.swt.events.SelectionEvent; >import org.eclipse.swt.events.ShellAdapter; >import org.eclipse.swt.events.ShellEvent; >import org.eclipse.swt.layout.FillLayout; >import org.eclipse.swt.layout.GridData; >import org.eclipse.swt.widgets.Button; >import org.eclipse.swt.widgets.Composite; >import org.eclipse.swt.widgets.Control; >import org.eclipse.swt.widgets.Display; >import org.eclipse.swt.widgets.Shell; >import org.eclipse.swt.widgets.Table; >import org.eclipse.ui.PlatformUI; > >public class EntryPoint3 implements IEntryPoint { > private WritableList list; > private Table table; > > @Override > public int createUI() { > Display display = PlatformUI.createDisplay(); > Realm realm = SWTObservables.getRealm(display); > list = new WritableList(realm); > > list.add("item 1"); > list.add("item 2"); > > final Shell shell = new Shell(display); > shell.addShellListener(new ShellAdapter() { > public void shellClosed(ShellEvent e) { > e.display.dispose(); > } > }); > > shell.setLayout(new FillLayout()); > CTabFolder tabFolder = new CTabFolder(shell, SWT.TOP | SWT.BORDER); > > { > CTabItem item1 = new CTabItem(tabFolder, SWT.NONE); > item1.setText("Tab 1"); > > Composite c1 = new Composite(tabFolder, SWT.NONE); > item1.setControl(c1); > c1.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); > > > Button add = new Button(c1, SWT.PUSH); > add.setText("Add"); > add.addSelectionListener(new SelectionAdapter() { > public void widgetSelected(SelectionEvent e) { > list.add("Item " + Math.random()); > } > }); > > Button remove = new Button(c1, SWT.PUSH); > remove.setText("Remove"); > remove.addSelectionListener(new SelectionAdapter() { > public void widgetSelected(SelectionEvent e) { > if (!list.isEmpty()) list.remove(list.size() - 1); > } > }); > } > > { > CTabItem item2 = new CTabItem(tabFolder, SWT.NONE); > item2.setText("Tab 2"); > > Composite c2 = new Composite(tabFolder, SWT.NONE); > item2.setControl(c2); > c2.setLayout(GridLayoutFactory.fillDefaults().numColumns(3).create()); > > table = new Table(c2, SWT.BORDER | SWT.NO_SCROLL); > table.setLinesVisible(true); > table.setHeaderVisible(true); > TableViewer tableViewer = new TableViewer(table); > tableViewer.setContentProvider(new ObservableListContentProvider()); > TableViewerColumn tc1 = new TableViewerColumn(tableViewer, SWT.LEFT); > tc1.getColumn().setText("Column 1"); > tc1.getColumn().setWidth(200); > TableViewerColumn tc2 = new TableViewerColumn(tableViewer, SWT.LEFT); > tc2.getColumn().setText("Column 2"); > tc2.getColumn().setWidth(250); > tableViewer.setLabelProvider(new CellLabelProvider() { > public void update(ViewerCell cell) { > cell.setText(cell.getElement().toString()); > } > }); > tableViewer.setInput(list); > > Button add = new Button(c2, SWT.PUSH); > add.setText("Add"); > add.addSelectionListener(new SelectionAdapter() { > public void widgetSelected(SelectionEvent e) { > list.add("Item " + Math.random()); > } > }); > > Button remove = new Button(c2, SWT.PUSH); > remove.setText("Remove"); > remove.addSelectionListener(new SelectionAdapter() { > public void widgetSelected(SelectionEvent e) { > if (!list.isEmpty()) list.remove(list.size() - 1); > } > }); > > } > > list.addListChangeListener(new IListChangeListener() { > public void handleListChange(ListChangeEvent event) { > shell.layout(new Control[] {table}); > } > }); > > shell.setVisible(true); > > while (!display.isDisposed()) { > if (!display.readAndDispatch()) display.sleep(); > } > return 0; > } > >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 333043
: 185671 |
185751
|
185794
|
201285