Vaadin Accordion question

Greetings friends,

I am new to this forum but I started using Vaadin two weeks ago to develop a project.

My use case could be fulfilled by either the Vaadin Accordion component or the Henri Paul “Drawer” component. But the Accordion runs short of completely fulfilling my requirements:
I want to be able to close all the Accordion tabs

one tab is always left open
, which defeats the purpose of using the Accordion to save space.

Henri Paul “Drawer” is what I really need, but for the past two (very valuable) days, I have been struggling with it. All I am getting is:

“Widgetset does not contain implementation for…Drawer”

I have read the various threads dealing with the Drawer and tried out the suggestions, but to no avail; and for this reason, I have decided to drop it. So my questions are:

  1. Can the Accordion be made to close all its tabs and not leave one always open?
    2.Would you know of something that works like Henri Paul “Drawer” but is stable enough use in a serious project?

Thanks.

Hi,

That message usually means that you aren’t using the correct widget set and fixing this will be much easier than extending Accordion. The message means that you aren’t using a widget set where the Drawer component has been included. This usually happens if you either forget to compile a new widget set, or the new widget set is not in use for one reason or another.

Make sure that you have followed the instructions at
http://vaadin.com/directory/help/using-vaadin-add-ons
. That link contains instructions for Eclipse and Netbeans. If you use neither, the Netbeans instructions are a good starting point.

HTH,
/Jonatan

Hi Jonatan Kronqvist,

Thanks for your response and suggestion. With regard to the “Henrik Drawer” I have done the following:

  1. Copy drawer-1.1.10.jar to my web project under WEB-INF/lib folder.
  2. Recompile the project in Eclipse (Helios).
  3. Use the Drawer class in my code which had previously been tested and working.
  4. Did a http://localhost:8080/myWeb/myWebApplicationServlet.
  5. Got the following exception:

[b]
Widgetset does not contain implementation for org.vaadin.henrik.drawer.Drawer. 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. Unrendered UIDL:
org.vaadin.henrik.drawer.Drawer(NO CLIENT IMPLEMENTATION FOUND)

[/b]
I don’t know what else I could do to get the Drawer working.

Thanks

Benjamin,

I may be misunderstanding your explanation of your attempts, but it seems to me you still need to compile your widgetset. I too am new to Vaadin and had this problem not long ago.

You have stated that you compiled your project, but you also need to compile your widgetset if you haven’t since you added the addon.

In Helios, which I am using, there should be a button on the toolbar near the top that is for this specific purpose. Mine looks like a gear with a tiny Vaadin symbol overlayed.

I hope this helps,

J

Thanks Jay B,

My mistake at step #2, I should have said: “compile the Drawer widgetset”, which is exactly what I have done successfully. And yes, I used the aforementioned button on Helios, and I can also confirm that I am using the latest vaadin plugin.

Could you take a look at my steps again bearing in mind that step #2 is compile Drawer widgetset, and let me know if I am missing some additional step(s).

Do I need to add something to my web.xml? Or create some file?

Thank again

Hmmm… Too bad it isn’t the simple solution I guess.

To my knowledge, no.

Unfortunately, I haven’t tried the Drawer addon specifically so I don’t know of any issues, or tricks in using it. Your steps look good to me.

Perhaps you could post your code, or a short test case that shows how you are using it, and I (or more likely someone with more Vaadin experience) could spot the issue.

Here’s hoping you figure it out,

J

I have found the problem: my beloved (apache) velocity was overriding my web.xml every time it generates my code, leaving me without the following widgetset entry (which is added to the web.xml when it compiles the widgetset):
[b]

widgetset com.xxxx.xxx.web.view.widgetset.XxxWebWidgetset

[/b]
So ifyou are having this problem, check your web.xml to make sure you have this entry.

Damn! Almost 12 man-hours to find a solution to this minor problem.