Is there a component like the StackPanel or DecoratedStackPanel that has the ability of showing more than one panel in the stack at a time? Id like to have the option of expanding all or collapsing any number of the panels I want.
Ok, since I got no answer, this is what has worked for me. Google doesn't make it real easy to extend existing panels to add or modify functionality, so what I did was I downloaded the source, copied StackPanel.java
, DecoratorPanel.java
and DecoratedStackPanel.java
into a package in my gwt project.
The main change I really needed to do was to change the behavior of the showStack(int index)
in the StackPanel.java
class from
public void showStack(int index) {
if ((index >= getWidgetCount()) || (index < 0) || (index == visibleStack)) {
return;
}
if (visibleStack >= 0) {
setStackVisible(visibleStack, false);
}
visibleStack = index;
setStackVisible(visibleStack, true); }
to something like this:
public void showStack(int index) {
if ((index >= getWidgetCount()) || index < 0) {
return;
}
visibleStack = index;
setStackVisible(visibleStack, !getWidget(visibleStack).isVisible());
}
I'm sure it's possible to clean this up a bit, but this did the trick.
The reason the other classes need to be copied over to the same package is because StackPanel.java
references some of their methods that only have package visibility.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With