Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Rich Client Platform (RCP) » TableViewer display problem in Master/Detail block
TableViewer display problem in Master/Detail block [message #461052] Thu, 04 January 2007 14:04 Go to next message
Jung is currently offline JungFriend
Messages: 3
Registered: July 2009
Junior Member
Hi,

I write master/detail block in my plugin.
I want display tableviewer in detail block when item selected in
masterblock.

table create code in IDetailsPage#createContents

(in createContents)

Table table = toolkit.createTable(client, SWT.V_SCROLL);
gld = new GridData(GridData.FILL_BOTH);
gld.widthHint = 20;
gld.heightHint = 100;
table.setLayoutData(gld);

TableViewer viewer = new TableViewer(table, SWT.BORDER);
viewer.setItemCount(16);
viewer.setContentProvider(new SecurityTableContentProvider());
viewer.setLabelProvider(new SecurityTableLabelProvider());


but in runtime, exception occurred when I selected some item in master
block. I traced exception point what is viewer.setLabelProvider
BusyIndicator exception.
I think it may trying draw tableviewer when detail block is not ready.

Is there any other strategy?

Thanks in advance.

Jung.
Re: TableViewer display problem in Master/Detail block [message #461054 is a reply to message #461052] Thu, 04 January 2007 14:34 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
You you provide the complete stack trace with the exact message given?

Tom

Jung schrieb:
> Hi,
>
> I write master/detail block in my plugin.
> I want display tableviewer in detail block when item selected in
> masterblock.
>
> table create code in IDetailsPage#createContents
>
> (in createContents)
>
> Table table = toolkit.createTable(client, SWT.V_SCROLL);
> gld = new GridData(GridData.FILL_BOTH);
> gld.widthHint = 20;
> gld.heightHint = 100;
> table.setLayoutData(gld);
>
> TableViewer viewer = new TableViewer(table, SWT.BORDER);
> viewer.setItemCount(16);
> viewer.setContentProvider(new SecurityTableContentProvider());
> viewer.setLabelProvider(new SecurityTableLabelProvider());
>
>
> but in runtime, exception occurred when I selected some item in master
> block. I traced exception point what is viewer.setLabelProvider
> BusyIndicator exception.
> I think it may trying draw tableviewer when detail block is not ready.
>
> Is there any other strategy?
>
> Thanks in advance.
>
> Jung.
>
>
Re: TableViewer display problem in Master/Detail block [message #461097 is a reply to message #461054] Fri, 05 January 2007 03:03 Go to previous messageGo to next message
Jung is currently offline JungFriend
Messages: 3
Registered: July 2009
Junior Member
This is stack trace

org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
at org.eclipse.jface.util.Assert.isNotNull(Assert.java:149)
at org.eclipse.jface.util.Assert.isNotNull(Assert.java:125)
at
org.eclipse.jface.viewers.StructuredViewer.disassociate(Stru cturedViewer.java:582)
at
org.eclipse.jface.viewers.TableViewer.internalRefreshAll(Tab leViewer.java:832)
at
org.eclipse.jface.viewers.TableViewer.internalRefresh(TableV iewer.java:748)
at
org.eclipse.jface.viewers.TableViewer.internalRefresh(TableV iewer.java:737)
at
org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredV iewer.java:1264)
at
org.eclipse.jface.viewers.StructuredViewer.preservingSelecti on(StructuredViewer.java:1201)
at
org.eclipse.jface.viewers.StructuredViewer.refresh(Structure dViewer.java:1262)
at
org.eclipse.jface.viewers.StructuredViewer.refresh(Structure dViewer.java:1221)
at
org.eclipse.jface.viewers.ContentViewer.setLabelProvider(Con tentViewer.java:279)
at
org.eclipse.jface.viewers.StructuredViewer.setLabelProvider( StructuredViewer.java:1810)
at
org.eclipse.jface.viewers.TableViewer.setLabelProvider(Table Viewer.java:997)

and it is firstpart of createContents

public void createContents(Composite parent) {
TableWrapLayout layout = new TableWrapLayout();
layout.topMargin = 0;
layout.leftMargin = 5;
layout.rightMargin = 2;
layout.bottomMargin = 2;
parent.setLayout(layout);

FormToolkit toolkit = mform.getToolkit();
Section section = toolkit.createSection(parent, Section.DESCRIPTION |
Section.TITLE_BAR);
section.marginWidth = 10;
section.setText("File Detail Section");

TableWrapData td = new TableWrapData(TableWrapData.FILL,
TableWrapData.TOP);
td.grabHorizontal = true;
section.setLayoutData(td);

Composite client = toolkit.createComposite(section);
GridLayout glayout = new GridLayout();
glayout.marginWidth = glayout.marginHeight = 0;
glayout.numColumns = 2;
glayout.makeColumnsEqualWidth = true;
client.setLayout(glayout);



label = toolkit.createLabel(client, "Test Label");
GridData gld = new GridData(GridData.FILL_HORIZONTAL |
GridData.VERTICAL_ALIGN_BEGINNING);
gld.widthHint = 100;
label.setLayoutData(gld);

// table
Table table = toolkit.createTable(client, SWT.V_SCROLL);
gld = new GridData(GridData.FILL_BOTH);
gld.widthHint = 20;
gld.heightHint = 100;
table.setLayoutData(gld);

TableViewer viewer = new TableViewer(table, SWT.BORDER);
viewer.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
viewer.refresh();
viewer.setItemCount(16);
viewer.setContentProvider(new SecurityTableContentProvider());
viewer.setLabelProvider(new SecurityTableLabelProvider());
.....

thanks in advance.
Jung

Tom Schindl:
> You you provide the complete stack trace with the exact message given?
>
> Tom
>
> Jung schrieb:
>> Hi,
>>
>> I write master/detail block in my plugin.
>> I want display tableviewer in detail block when item selected in
>> masterblock.
>>
>> table create code in IDetailsPage#createContents
>>
>> (in createContents)
>>
>> Table table = toolkit.createTable(client, SWT.V_SCROLL);
>> gld = new GridData(GridData.FILL_BOTH);
>> gld.widthHint = 20;
>> gld.heightHint = 100;
>> table.setLayoutData(gld);
>>
>> TableViewer viewer = new TableViewer(table, SWT.BORDER);
>> viewer.setItemCount(16);
>> viewer.setContentProvider(new SecurityTableContentProvider());
>> viewer.setLabelProvider(new SecurityTableLabelProvider());
>>
>>
>> but in runtime, exception occurred when I selected some item in master
>> block. I traced exception point what is viewer.setLabelProvider
>> BusyIndicator exception.
>> I think it may trying draw tableviewer when detail block is not ready.
>>
>> Is there any other strategy?
>>
>> Thanks in advance.
>>
>> Jung.
>>
>>
Re: TableViewer display problem in Master/Detail block [message #461112 is a reply to message #461097] Fri, 05 January 2007 07:51 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Jung schrieb:
> This is stack trace
>

Ok. This means that JFace tries to disassociate an element item relation
where on item exists in the viewer. It has nothing to do with drawing!
For a possible reason please see below.

> org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
> at org.eclipse.jface.util.Assert.isNotNull(Assert.java:149)
> at org.eclipse.jface.util.Assert.isNotNull(Assert.java:125)
> at

[...]

>>> Table table = toolkit.createTable(client, SWT.V_SCROLL);
>>> gld = new GridData(GridData.FILL_BOTH);
>>> gld.widthHint = 20;
>>> gld.heightHint = 100;
>>> table.setLayoutData(gld);
>>>
>>> TableViewer viewer = new TableViewer(table, SWT.BORDER);

The next line is not right! You are not supposed to set the item-count
for tables who are non-virtual!

>>> viewer.setItemCount(16);
>>> viewer.setContentProvider(new SecurityTableContentProvider());
>>> viewer.setLabelProvider(new SecurityTableLabelProvider());
>>>

One more thing could you please somehow change the encoding in your
mails to e.g. Unicode when posting, currently you are using EUC-KR?

Tom
Re: TableViewer display problem in Master/Detail block [message #461124 is a reply to message #461112] Fri, 05 January 2007 10:31 Go to previous messageGo to next message
Jung is currently offline JungFriend
Messages: 3
Registered: July 2009
Junior Member
Thank you very much. :)
It works beautifully.

and sorry for put you to inconvenience in reading post.
I changed setting to UTF-8 :)

and Thank you again.

Jung.

Tom Schindl:
> Jung schrieb:
>> This is stack trace
>>
>
> Ok. This means that JFace tries to disassociate an element item relation
> where on item exists in the viewer. It has nothing to do with drawing!
> For a possible reason please see below.
>
>> org.eclipse.jface.util.Assert$AssertionFailedException: null argument;
>> at org.eclipse.jface.util.Assert.isNotNull(Assert.java:149)
>> at org.eclipse.jface.util.Assert.isNotNull(Assert.java:125)
>> at
>
> [...]
>
>>>> Table table = toolkit.createTable(client, SWT.V_SCROLL);
>>>> gld = new GridData(GridData.FILL_BOTH);
>>>> gld.widthHint = 20;
>>>> gld.heightHint = 100;
>>>> table.setLayoutData(gld);
>>>>
>>>> TableViewer viewer = new TableViewer(table, SWT.BORDER);
>
> The next line is not right! You are not supposed to set the item-count
> for tables who are non-virtual!
>
>>>> viewer.setItemCount(16);
>>>> viewer.setContentProvider(new SecurityTableContentProvider());
>>>> viewer.setLabelProvider(new SecurityTableLabelProvider());
>>>>
>
> One more thing could you please somehow change the encoding in your
> mails to e.g. Unicode when posting, currently you are using EUC-KR?
>
> Tom
Re: TableViewer display problem in Master/Detail block [message #461126 is a reply to message #461124] Fri, 05 January 2007 11:05 Go to previous message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Hi,

great this solved the problem for you.

Tom

Jung schrieb:
> Thank you very much. :)
> It works beautifully.
>
> and sorry for put you to inconvenience in reading post.
> I changed setting to UTF-8 :)
>
> and Thank you again.
>
> Jung.
Previous Topic:How to change the folder structure when exporting.
Next Topic:Related to Extension Points
Goto Forum:
  


Current Time: Tue Apr 16 21:31:51 GMT 2024

Powered by FUDForum. Page generated in 2.63223 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top