About navigatorContent in connectivity [message #479431] |
Mon, 10 August 2009 21:42  |
Eclipse User |
|
|
|
Hi all:
I'm in trouble with the overriding problem of extension
"org.eclipse.ui.navigator.navigatorContent" which its id is
"org.eclipse.datatools.connectivity.db.sqlModelContent" in plug-in
"org.eclipse.datatools.connectivity.sqm.server.ui". And its triggerPoints
contains SQLObject and IVirtualNode.
When i expand the SQLObject/Virtual Node of a specific databases, this
navigatorContent in connectivity would be triggered always and the
getChildren() method would return empty array first and then the children
would be fetched and added by another job named LoadingJob.
I want to intercept the children fetched by suppressed extension when i
override this navigatorContent extension, but I can only get empty
children because the children was added by another job.
Should a non-loading node mechanism be provided? Should the trigger policy
be reconsidered? Or there is another solution.
Thanks.
|
|
|
|
|
|
|
|
Re: About navigatorContent in connectivity [message #596279 is a reply to message #479431] |
Tue, 11 August 2009 11:44  |
Eclipse User |
|
|
|
Jue Wu wrote:
> Hi all:
>
> I'm in trouble with the overriding problem of extension
> "org.eclipse.ui.navigator.navigatorContent" which its id is
> "org.eclipse.datatools.connectivity.db.sqlModelContent" in plug-in
> "org.eclipse.datatools.connectivity.sqm.server.ui". And its
> triggerPoints contains SQLObject and IVirtualNode.
>
> When i expand the SQLObject/Virtual Node of a specific databases, this
> navigatorContent in connectivity would be triggered always and the
> getChildren() method would return empty array first and then the
> children would be fetched and added by another job named LoadingJob. I
> want to intercept the children fetched by suppressed extension when i
> override this navigatorContent extension, but I can only get empty
> children because the children was added by another job.
>
> Should a non-loading node mechanism be provided? Should the trigger
> policy be reconsidered? Or there is another solution.
> Thanks.
>
I believe we've used the IPipelinedTreeContentProvider interface in the
past to inject items into the tree at various times. You might look for
uses of that interface
( http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse. platform.doc.isv/reference/api/org/eclipse/jface/viewers/ITr eeContentProvider.html)
Sorry I can't be more help.
--Fitz
|
|
|
Re: About navigatorContent in connectivity [message #596289 is a reply to message #479583] |
Tue, 11 August 2009 22:08  |
Eclipse User |
|
|
|
Hi Brian:
I do use the IPipelinedTreeContentProvider. But, there is a UI thread to
add children in the loading node mechanism.
The loading node mechanism is returning an EmptyArray immediately and
adding a loading node to be place holder.Then the children would be
fetched by a thread -- "LoadingJob". After that, the place holder would be
removed and the children would be added by another thread --
"ClearPlaceHolderJob".
I want to group the children. Yes, i group children successfully by the
method getPipelinedChildren(Object aParent, Set theCurrentChildren) of
IPipelinedTreeContentProvider. But i can't intercept the UI thread
"ClearPlaceHolderJob" which add children to treeviewer separately.
The behavior is that there are grouped children by getPipelinedChildren()
and duplicated children added by the UI thread -- "ClearPlaceHolderJob".
|
|
|
Re: About navigatorContent in connectivity [message #596292 is a reply to message #479694] |
Wed, 12 August 2009 09:52  |
Eclipse User |
|
|
|
Jue Wu wrote:
> Hi Brian:
>
> I do use the IPipelinedTreeContentProvider. But, there is a UI thread to
> add children in the loading node mechanism.
> The loading node mechanism is returning an EmptyArray immediately and
> adding a loading node to be place holder.Then the children would be
> fetched by a thread -- "LoadingJob". After that, the place holder would
> be removed and the children would be added by another thread --
> "ClearPlaceHolderJob".
>
> I want to group the children. Yes, i group children successfully by the
> method getPipelinedChildren(Object aParent, Set theCurrentChildren) of
> IPipelinedTreeContentProvider. But i can't intercept the UI thread
> "ClearPlaceHolderJob" which add children to treeviewer separately. The
> behavior is that there are grouped children by getPipelinedChildren()
> and duplicated children added by the UI thread -- "ClearPlaceHolderJob".
>
>
I'll have to ask the folks who worked on that code to chime in here...
Larry or Loic?
|
|
|
Re: About navigatorContent in connectivity [message #596296 is a reply to message #479694] |
Wed, 12 August 2009 10:32  |
Eclipse User |
|
|
|
Jue Wu wrote:
> Hi Brian:
>
> I do use the IPipelinedTreeContentProvider. But, there is a UI thread to
> add children in the loading node mechanism.
> The loading node mechanism is returning an EmptyArray immediately and
> adding a loading node to be place holder.Then the children would be
> fetched by a thread -- "LoadingJob". After that, the place holder would
> be removed and the children would be added by another thread --
> "ClearPlaceHolderJob".
>
> I want to group the children. Yes, i group children successfully by the
> method getPipelinedChildren(Object aParent, Set theCurrentChildren) of
> IPipelinedTreeContentProvider. But i can't intercept the UI thread
> "ClearPlaceHolderJob" which add children to treeviewer separately. The
> behavior is that there are grouped children by getPipelinedChildren()
> and duplicated children added by the UI thread -- "ClearPlaceHolderJob".
>
>
Can you create a Bugzilla item for this and we'll see if we can get some
input?
|
|
|
|
Powered by
FUDForum. Page generated in 0.31875 seconds