that looks pretty ugly in the email, here is the pastebin http://pastebin.com/rqgZk9D0
On Mon, Mar 14, 2011 at 5:28 PM, Gal Dolber <[email protected]> wrote: > This is what I am using, you can put anything inside the PopupButton and it > will be the popup content. > > > /** > > * How to use: > > * <j:PopupButton ui:field="settings" text="Tools ▼"> > > <g:HTMLPanel visible="false"> > > <div class="P5"><a href="#!settings">Settings</a></div> > > <div class="P5"><a href="#!logout">Logout</a></div> > > </g:HTMLPanel> > > </j:PopupButton> > > */ > > public class PopupButton extends Composite implements HasWidgets { > > > private final Button button = new Button(); > > > private Element target; > > > private boolean targetVisible = false; > > protected HandlerRegistration registration; > > > private final NativePreviewHandler handler = new NativePreviewHandler() { > > @Override > > public void onPreviewNativeEvent(NativePreviewEvent event) { > > if (event.getTypeInt() == Event.ONMOUSEDOWN) { > > Element eventTarget = event.getNativeEvent().getEventTarget() > > .cast(); > > if (!target.isOrHasChild(eventTarget)) { > > hide(); > > } > > } > > } > > }; > > public void setText(String text) { > > button.setText(text); > > } > > > public PopupButton() { > > initWidget(button); > > button.addClickHandler(new ClickHandler() { > > @Override > > public void onClick(ClickEvent event) { > > if (targetVisible) { > > targetVisible = !targetVisible; > > target.getStyle().clearDisplay(); > > registration = Event.addNativePreviewHandler(handler); > > } else { > > hide(); > > } > > } > > }); > > } > > > private void hide() { > > targetVisible = !targetVisible; > > target.getStyle().setDisplay(Display.NONE); > > if (registration != null) { > > registration.removeHandler(); > > } > > } > > > @Override > > public void add(Widget w) { > > if (target != null) { > > throw new RuntimeException("You can only add one widget"); > > } > > RootPanel.get().add(w); > > target = w.getElement(); > > hide(); > > } > > > @Override > > public void clear() { > > throw new RuntimeException(); > > } > > > @Override > > public Iterator<Widget> iterator() { > > throw new RuntimeException(); > > } > > > @Override > > public boolean remove(Widget w) { > > throw new RuntimeException(); > > } > > @Override > > protected void onLoad() { > > Scheduler.get().scheduleDeferred(new ScheduledCommand() { > > @Override > > public void execute() { > > target.getStyle().setTop(button.getOffsetHeight() + button.getAbsoluteTop(), > Unit.PX); > > target.getStyle().setLeft(button.getAbsoluteLeft(), Unit.PX); > > target.getStyle().setZIndex(10000); > > target.getStyle().setPosition(Position.ABSOLUTE); > > } > > }); > > } > > } > > On Mon, Mar 14, 2011 at 5:15 PM, Marco Gadaleta > <[email protected]>wrote: > >> ? >> >> >> On Mon, Mar 14, 2011 at 9:12 PM, Juan Pablo Gardella < >> [email protected]> wrote: >> >>> +1 >>> >>> 2011/3/14 Marco Gadaleta <[email protected]> >>> >>>> Nothing??? >>>> >>>> On Wed, Mar 9, 2011 at 1:53 PM, gadaleta.marco < >>>> [email protected]> wrote: >>>> >>>>> hello everyone, >>>>> there a way to create a button in gwt like "gmail more actions" button >>>>> without using external library? >>>>> Thx, hope you can help me. >>>>> >>>> >>>> >>>> >>>> -- >>>> Marco >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Google Web Toolkit" group. >>>> To post to this group, send email to >>>> [email protected]. >>>> To unsubscribe from this group, send email to >>>> [email protected]. >>>> For more options, visit this group at >>>> http://groups.google.com/group/google-web-toolkit?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Google Web Toolkit" group. >>> To post to this group, send email to [email protected] >>> . >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/google-web-toolkit?hl=en. >>> >> >> >> >> -- >> Marco >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google Web Toolkit" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/google-web-toolkit?hl=en. >> > > > > -- > Guit: Elegant, beautiful, modular and *production ready* gwt applications. > > http://code.google.com/p/guit/ > > > > > -- Guit: Elegant, beautiful, modular and *production ready* gwt applications. http://code.google.com/p/guit/ -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
