package org.geogebra.web.html5.gui.util; import java.util.Iterator; import com.google.gwt.event.dom.client.BlurHandler; import com.google.gwt.event.dom.client.HasAllKeyHandlers; import com.google.gwt.event.dom.client.HasAllMouseHandlers; import com.google.gwt.event.dom.client.KeyDownHandler; import com.google.gwt.event.dom.client.KeyPressHandler; import com.google.gwt.event.dom.client.KeyUpHandler; import com.google.gwt.event.dom.client.MouseDownHandler; import com.google.gwt.event.dom.client.MouseMoveHandler; import com.google.gwt.event.dom.client.MouseOutHandler; import com.google.gwt.event.dom.client.MouseOverHandler; import com.google.gwt.event.dom.client.MouseUpHandler; import com.google.gwt.event.dom.client.MouseWheelHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.FocusPanel; import com.google.gwt.user.client.ui.HasWidgets; import com.google.gwt.user.client.ui.Widget; public class AdvancedFlowPanel extends Composite implements HasWidgets, HasAllKeyHandlers, HasAllMouseHandlers { private FlowPanel mainPanel; private FocusPanel focusPanel; public AdvancedFlowPanel() { mainPanel = new FlowPanel(); focusPanel = new FocusPanel(mainPanel); initWidget(focusPanel); } @Override public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) { return focusPanel.addKeyUpHandler(handler); } @Override public HandlerRegistration addKeyDownHandler(KeyDownHandler handler) { return focusPanel.addKeyDownHandler(handler); } @Override public HandlerRegistration addKeyPressHandler(KeyPressHandler handler) { return focusPanel.addKeyPressHandler(handler); } @Override public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) { return focusPanel.addMouseDownHandler(handler); } @Override public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) { return focusPanel.addMouseUpHandler(handler); } @Override public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) { return focusPanel.addMouseOutHandler(handler); } @Override public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) { return focusPanel.addMouseOverHandler(handler); } @Override public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) { return focusPanel.addMouseMoveHandler(handler); } @Override public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) { return focusPanel.addMouseWheelHandler(handler); } public HandlerRegistration addBlurHandler(BlurHandler handler) { return focusPanel.addBlurHandler(handler); } @Override public void add(Widget w) { mainPanel.add(w); } @Override public void clear() { mainPanel.clear(); } @Override public Iterator<Widget> iterator() { return mainPanel.iterator(); } @Override public boolean remove(Widget w) { return mainPanel.remove(w); } @Override public void addStyleName(String style) { mainPanel.addStyleName(style); } }