I hereby announce my small contribution to the growing list of Vaadin components: ContextHelp v0.0.1
ContextHelp makes it easy for the developer to provide context sensitive help for fields in a Vaadin application. For each field, or a Panel/Layout containing fields you can register instructions that are shown when the user presses the F1-key. The instructions can be formatted using HTML and inline CSS or CSS in your theme by specifying class-names for the elements.
Demo (click the fields to focus them and press F1)
Source
The source contains a Vaadin 6.2 compatible JAR file, for easy drag & drop deployment in your projects.
This really is version 0.0.1 and might cause volcanoes to explode or your computer to spill water all over itself. However, it probably just is ugly.
Next up is to fix bugs that are found (please report them!) and make it prettier so that you donât have to be ashamed when using ContextHelp
Hope someone finds this useful, even though it still isnât polished at all!
/Jonatan
[edit: of course itâs 6.2 and not 6.0 compatible jar]
A really polished component. This will definitively find its way to many projects⌠Would it be possible (read: easy) to implement showing help from the server-side?
First and foremost: Thanks for all the kind words, guys!
Thatâs actually next on the list of things to do and I think it will be pretty straight forward to implement. Currently there is the restriction that only one help-item can be shown at a time, however. Will this be a problem for anyone?
I just updated the ContextHelp component and
example with one new feature and a cosmetical tweak:
You can now open âhelp bubblesâ programmatically by calling ContextHelp.showHelpFor(Component);
Tweaked the positioning of the âbubblesâ when attached to complex components, such as panels
I also updated the example so that it is a little bit better at showing that the free floating bubble actually is bound to a panel and not just floating somewhere.
The source and ContextHelp-0.0.2.jar for Vaadin 6.2 is in the
SVN
Please give me a holler if you use this somewhere or find (more) bugs!
/Jonatan
I tried to use this in my project but I was unable to compile the widgetset. The error message was that it could not find the widgetset declaration file:
[ERROR]
BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO]
GWT Module org.vaadin.jonatan.contexthelp.ContexthelpApplicationWidgetset not found in project sources or resources.
I am using Vaadin 6.4.1 and Maven 2.2.1 to build, but I also tried compiling the widgetset in Eclipse and it didnât work there either. Iâve got the widgetsets for several other addons, such as animator, compiling and working so I donât think its a problem with my environment.
Iâm very sorry for the extremely late answer. Iâve been on vacation and swamped at work after that (which is no excuse).
I took a look at what might be causing the problem and I saw that the add-on package that I created put the class-files in the wrong location, causing your reported error message. This is completely my fault and Iâll try to fix the packaging as soon as possible.
In the meanwhile if you want to fix it yourself just extract the .jar and move all files and folders under build/classes to the root of the archive.
Thanks for reporting this huge mistake on my part!
Hmm, I tried making the change you suggested but it still didnât work â got the following error:
[INFO]
GWT Module org.vaadin.jonatan.contexthelp.ContexthelpApplicationWidgetset not found in project sources or resources.
So then I noticed that the MANIFEST Vaadin-Widgetsets entry was incorrect. It is org.vaadin.jonatan.contexthelp.ContexthelpApplicationWidgetset rather than org.vaadin.jonatan.contexthelp.widgetset.ContexthelpApplicationWidgetset.
So I changed that, and then the widgetset compiled successfully, but at runtime I still get the following error on screen:
Widgetset does not contain implementation for org.vaadin.jonatan.contexthelp.ContextHelp. Check its @ClientWidget mapping, widgetsets GWT module description file and re-compile your widgetset. In case you have downloaded a vaadin add-on package, you might want to refer to add-on instructions.
The @com.vaadin.ui.ClientWidget annotation in the ContextHelp class seems to be correct. Now I am at a loss.
I finally got around to this and released 0.0.4 with updated packaging. This should now work as expected.
There are a couple of really hard to smash bugs that I want to kill before moving up to a beta label for the ContextHelp add-on. Hereâs to hoping that I get them.
0.0.4 is still not working for me. The widgetset compiles fine, but when running the app vaadin still gives me the familiar:
The only difference I see between ContextHelp and all the other addons with widgetsets that I do have working is that the other addons donât have a âwidgetsetâ directory e.g. animator and imagestrip. I have no idea if that is relevant though.
Check that when compiling the widgetset that the component is really added into the compilation. Youâll see a list of found widgetsets taken into the compilation as a console dump while you compile.
Strange that itâs not working for you, it works perfectly in my test programs. Try to add the ?debug parameter to your URL and check that there is no warning about the server side and client side widget set versions, just in case the widgetset hasnât been deployed correctly.
I have an issue when using this add-on.
I have a button that shows help on another component when clicked (using the showHelpFor()-method).
This works great and after clicking the button, the help is shown on the other component as expected.
When clicking the help-bubble, the bubble disappears, as expected.
However, when, from somewhere else in the application, a requestrepaint() is performed on all components, including the ContextHelp, the bubble shows up again, which isâŚwellâŚnot expectedâŚ
How can i disable this or can you fix this in a next version?