Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Platform - User Assistance (UA) » Context Sensitive Help Problems(Child Help Being Hidden By Parent Help and Problems Updating Help When Switching Between Low Level Composites)
Context Sensitive Help Problems [message #529756] Tue, 27 April 2010 06:50 Go to next message
No real name is currently offline No real nameFriend
Messages: 5
Registered: October 2009
Junior Member
Hi,

I am using EclipseHelp, using the IWorkbenchHelpSystem.setHelp() method and passing in a MultiPageEditorPart and a valid Context ID as parameters. One of the problems I'm having is that when I try to add a different Context ID to one of it's children, ie. The EditorPart as shown below, the EditorPart does not show up with it's own Context Sensitive help, it still uses the help associated with it's parent.

MultiPageEditorPart
--EditorPart(s)
----Composite
------TabFolder
--------Tab(s)

I am also having another problem where switching tabs does not automatically update the Context Sensitive help page. It works fine when switching between editors on the top level of the GUI, and I also ran into a problem where it would not switch correctly between EditorParts as shown above. (The only way to update the help for each EditorPart was to select a different Editor to trigger an update.) This problem however was fixed when I upgraded from Eclipse 3.4 to Eclipse 3.5.1.

However... I am now trying to do the same thing with the Tabs under a TabFolder. This unfortunately is not updating the Context Sensitive help even using Eclipse 3.5.1. I am sure that the help has been set successfully, as I can select a Tab and then switch to a different editor and the help updates. (To the help defined for that Tab, so just a step too late) It is just switching between Tabs in the same TabFolder (without switching between editors) that does not update the Context Sensitive help.
Re: Context Sensitive Help Problems [message #530774 is a reply to message #529756] Fri, 30 April 2010 19:27 Go to previous messageGo to next message
Chris Goldthorpe is currently offline Chris GoldthorpeFriend
Messages: 815
Registered: July 2009
Senior Member
No Real Name wrote on Tue, 27 April 2010 02:50
Hi,

I am using EclipseHelp, using the IWorkbenchHelpSystem.setHelp() method and passing in a MultiPageEditorPart and a valid Context ID as parameters. One of the problems I'm having is that when I try to add a different Context ID to one of it's children, ie. The EditorPart as shown below, the EditorPart does not show up with it's own Context Sensitive help, it still uses the help associated with it's parent.

MultiPageEditorPart
--EditorPart(s)
----Composite
------TabFolder
--------Tab(s)

I am also having another problem where switching tabs does not automatically update the Context Sensitive help page. It works fine when switching between editors on the top level of the GUI, and I also ran into a problem where it would not switch correctly between EditorParts as shown above. (The only way to update the help for each EditorPart was to select a different Editor to trigger an update.) This problem however was fixed when I upgraded from Eclipse 3.4 to Eclipse 3.5.1.

However... I am now trying to do the same thing with the Tabs under a TabFolder. This unfortunately is not updating the Context Sensitive help even using Eclipse 3.5.1. I am sure that the help has been set successfully, as I can select a Tab and then switch to a different editor and the help updates. (To the help defined for that Tab, so just a step too late) It is just switching between Tabs in the same TabFolder (without switching between editors) that does not update the Context Sensitive help.



If you are using the help view, which is the default for F1 help, the contents will normally only be updated when focus shifts from one view to another. If you focus on a different control without changing the view the help view does not change it's contents.
Re: Context Sensitive Help Problems [message #530960 is a reply to message #530774] Mon, 03 May 2010 08:08 Go to previous messageGo to next message
No real name is currently offline No real nameFriend
Messages: 5
Registered: October 2009
Junior Member
Chris Goldthorpe wrote on Fri, 30 April 2010 15:27

If you are using the help view, which is the default for F1 help, the contents will normally only be updated when focus shifts from one view to another. If you focus on a different control without changing the view the help view does not change it's contents.


I have already confirmed (in Eclipse 3.5.1) that changing between EditorPart objects inside an Editor (in other words changing pages using tabs all inside one Editor View) updates the Context Sensitive help. (The Context Sensitive help is shown in a view inside my application, not as a seperate window if that's any help.) So it's definitely updating the context sensitive help without switching between views. My question is... why is it only updating for those tabs, and not tabs I define lower down in the code, with my own custom TabFolder for example. Does an EditorPart count as a view for context-sensitive help in 3.5.1, strange as that sounds?

I would still like an answer for my first problem as well, regarding the child context ID not overriding the parent context ID. I originally got the idea this should work from the following, which I'm quoting from page 593 of the "eclipse Plug-ins Third Edition" textbook: (This book is only for eclipse 3.4 but even then it states it should work.)

Help contexts are inherited by child controls. In this case, a help context was assigned to the Favourites viewer control, which has no children. If you were to assign a help context to a composite, then its children will inherit the same help context unless you specifically override it by calling setHelp() on a child control.
Re: Context Sensitive Help Problems [message #535237 is a reply to message #530960] Fri, 21 May 2010 16:58 Go to previous messageGo to next message
Chris Goldthorpe is currently offline Chris GoldthorpeFriend
Messages: 815
Registered: July 2009
Senior Member
No Real Name wrote on Mon, 03 May 2010 04:08


I have already confirmed (in Eclipse 3.5.1) that changing between EditorPart objects inside an Editor (in other words changing pages using tabs all inside one Editor View) updates the Context Sensitive help. (The Context Sensitive help is shown in a view inside my application, not as a seperate window if that's any help.) So it's definitely updating the context sensitive help without switching between views. My question is... why is it only updating for those tabs, and not tabs I define lower down in the code, with my own custom TabFolder for example. Does an EditorPart count as a view for context-sensitive help in 3.5.1, strange as that sounds?



The context help page is listening for a PageChangedEvent from the workbench and it looks like a PageChangedEvent is being generated when the editor switches tabs - I put a breakpoint in org.eclipse.help.ui.internal.views.ContextHelpPart.handleAct ivation() to see what was causing the context help to change. I think that you may need to use the interface IPageChangeProvider to do the same sort of thing in your application but I'm not familiar with how it is used.
Re: Context Sensitive Help Problems [message #624127 is a reply to message #529756] Fri, 30 April 2010 19:27 Go to previous messageGo to next message
Chris Goldthorpe is currently offline Chris GoldthorpeFriend
Messages: 815
Registered: July 2009
Senior Member
No Real Name wrote on Tue, 27 April 2010 02:50
> Hi,
>
> I am using EclipseHelp, using the IWorkbenchHelpSystem.setHelp() method and passing in a MultiPageEditorPart and a valid Context ID as parameters. One of the problems I'm having is that when I try to add a different Context ID to one of it's children, ie. The EditorPart as shown below, the EditorPart does not show up with it's own Context Sensitive help, it still uses the help associated with it's parent.
>
> MultiPageEditorPart
> --EditorPart(s)
> ----Composite
> ------TabFolder
> --------Tab(s)
>
> I am also having another problem where switching tabs does not automatically update the Context Sensitive help page. It works fine when switching between editors on the top level of the GUI, and I also ran into a problem where it would not switch correctly between EditorParts as shown above. (The only way to update the help for each EditorPart was to select a different Editor to trigger an update.) This problem however was fixed when I upgraded from Eclipse 3.4 to Eclipse 3.5.1.
>
> However... I am now trying to do the same thing with the Tabs under a TabFolder. This unfortunately is not updating the Context Sensitive help even using Eclipse 3.5.1. I am sure that the help has been set successfully, as I can select a Tab and then switch to a different editor and the help updates. (To the help defined for that Tab, so just a step too late) It is just switching between Tabs in the same TabFolder (without switching between editors) that does not update the Context Sensitive help.


If you are using the help view, which is the default for F1 help, the contents will normally only be updated when focus shifts from one view to another. If you focus on a different control without changing the view the help view does not change it's contents.
Re: Context Sensitive Help Problems [message #624128 is a reply to message #624127] Mon, 03 May 2010 08:08 Go to previous messageGo to next message
No real name is currently offline No real nameFriend
Messages: 5
Registered: October 2009
Junior Member
Chris Goldthorpe wrote on Fri, 30 April 2010 15:27
> If you are using the help view, which is the default for F1 help, the contents will normally only be updated when focus shifts from one view to another. If you focus on a different control without changing the view the help view does not change it's contents.


I have already confirmed (in Eclipse 3.5.1) that changing between EditorPart objects inside an Editor (in other words changing pages using tabs all inside one Editor View) updates the Context Sensitive help. (The Context Sensitive help is shown in a view inside my application, not as a seperate window if that's any help.) So it's definitely updating the context sensitive help without switching between views. My question is... why is it only updating for those tabs, and not tabs I define lower down in the code, with my own custom TabFolder for example. Does an EditorPart count as a view for context-sensitive help in 3.5.1, strange as that sounds?

I would still like an answer for my first problem as well, regarding the child context ID not overriding the parent context ID. I originally got the idea this should work from the following, which I'm quoting from page 593 of the "eclipse Plug-ins Third Edition" textbook: (This book is only for eclipse 3.4 but even then it states it should work.)

Help contexts are inherited by child controls. In this case, a help context was assigned to the Favourites viewer control, which has no children. If you were to assign a help context to a composite, then its children will inherit the same help context unless you specifically override it by calling setHelp() on a child control.
Re: Context Sensitive Help Problems [message #624137 is a reply to message #624128] Fri, 21 May 2010 16:58 Go to previous message
Chris Goldthorpe is currently offline Chris GoldthorpeFriend
Messages: 815
Registered: July 2009
Senior Member
No Real Name wrote on Mon, 03 May 2010 04:08
> I have already confirmed (in Eclipse 3.5.1) that changing between EditorPart objects inside an Editor (in other words changing pages using tabs all inside one Editor View) updates the Context Sensitive help. (The Context Sensitive help is shown in a view inside my application, not as a seperate window if that's any help.) So it's definitely updating the context sensitive help without switching between views. My question is... why is it only updating for those tabs, and not tabs I define lower down in the code, with my own custom TabFolder for example. Does an EditorPart count as a view for context-sensitive help in 3.5.1, strange as that sounds?


The context help page is listening for a PageChangedEvent from the workbench and it looks like a PageChangedEvent is being generated when the editor switches tabs - I put a breakpoint in org.eclipse.help.ui.internal.views.ContextHelpPart.handleAct ivation() to see what was causing the context help to change. I think that you may need to use the interface IPageChangeProvider to do the same sort of thing in your application but I'm not familiar with how it is used.
Previous Topic:Huge memory consumption of Eclipse Infocenter
Next Topic:a bug of eclipse
Goto Forum:
  


Current Time: Fri Nov 28 04:35:14 GMT 2014

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

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