Community
Participate
Working Groups
Build Identifier: The TableViewer refresh does not work. A refresh will be performed if the row that needs an update is clicked. may be -> https://bugs.eclipse.org/bugs/show_bug.cgi?id=205101 needs to be reopended Reproducible: Always Steps to Reproduce: see attachment
Created attachment 172910 [details] 2 test projects
If I understand correctly, you want to update/refresh the UI (table) from the server side (Job). In this case you have to activate the UICallback first. Something like this: ------ UICallBack.activate( getClass().getSimpleName() ); new WorkbenchJob(parent.getDisplay(), "refresh Table") { .... } ----- Please reopen if disagree.
Okay, thanks ! Now it works fine. I wonder why i have never heard of UICallBack.*, is there any documentation that points out why and when it have to be used (the UICallback-APIDoc and google didn't help much) ? It make single sourcing a bit complicated. Right now it seems to me that #activate(..) must called always, if i want to run something in the UI-Thread. If yes, why isn't it done in every call of Display.syncExec(..) / .asyncExec(..) ? Should i call UICallback.deactivate() after the Job is done ? Thanks and sorry for my bad english
Hope this helps: http://wiki.eclipse.org/RAP/FAQ#How_to_update_the_UI_from_a_background_thread
The first sentence of that link is: Note: this article only applies if you are not using the Jobs API to do background work. In the provided test project the Job-API is used, so i think i dont have to use the UICallback-methods at all. The WorkbenchJob is used like in this example: http://wiki.eclipse.org/RAP/FAQ#How_to_update_the_UI_from_a_background_thread_using_Jobs.3F Maybe there is a Bug in the Job-API or the wiki is wrong.
Hi Chris, I think that this issue is the same like in this bug 274806 - reschedule the Job inside the Job, outside the request and we can't do much inside the framework. See bug 274806 comment # 16.