Goktug Gokdogan has uploaded a new change for review.

  https://gwt-review.googlesource.com/2940


Change subject: Adds FocusComposite and PanelComposite.
......................................................................

Adds FocusComposite and PanelComposite.

Change-Id: I372f9c4942c11b799eeb57870163dd999ad095cb
---
A user/src/com/google/gwt/user/client/ui/FocusComposite.java
A user/src/com/google/gwt/user/client/ui/PanelComposite.java
2 files changed, 301 insertions(+), 0 deletions(-)



diff --git a/user/src/com/google/gwt/user/client/ui/FocusComposite.java b/user/src/com/google/gwt/user/client/ui/FocusComposite.java
new file mode 100644
index 0000000..0173bb0
--- /dev/null
+++ b/user/src/com/google/gwt/user/client/ui/FocusComposite.java
@@ -0,0 +1,229 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.client.ui;
+
+import com.google.gwt.event.dom.client.BlurHandler;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
+import com.google.gwt.event.dom.client.DragEndHandler;
+import com.google.gwt.event.dom.client.DragEnterHandler;
+import com.google.gwt.event.dom.client.DragHandler;
+import com.google.gwt.event.dom.client.DragLeaveHandler;
+import com.google.gwt.event.dom.client.DragOverHandler;
+import com.google.gwt.event.dom.client.DragStartHandler;
+import com.google.gwt.event.dom.client.DropHandler;
+import com.google.gwt.event.dom.client.FocusHandler;
+import com.google.gwt.event.dom.client.GestureChangeHandler;
+import com.google.gwt.event.dom.client.GestureEndHandler;
+import com.google.gwt.event.dom.client.GestureStartHandler;
+import com.google.gwt.event.dom.client.HasAllDragAndDropHandlers;
+import com.google.gwt.event.dom.client.HasAllFocusHandlers;
+import com.google.gwt.event.dom.client.HasAllGestureHandlers;
+import com.google.gwt.event.dom.client.HasAllKeyHandlers;
+import com.google.gwt.event.dom.client.HasAllMouseHandlers;
+import com.google.gwt.event.dom.client.HasAllTouchHandlers;
+import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
+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.dom.client.TouchCancelHandler;
+import com.google.gwt.event.dom.client.TouchEndHandler;
+import com.google.gwt.event.dom.client.TouchMoveHandler;
+import com.google.gwt.event.dom.client.TouchStartHandler;
+import com.google.gwt.event.shared.HandlerRegistration;
+
+/**
+ * A {@link Composite} that wraps a {@link Focusable} widget.
+ *
+ * @param <T> type of the widget wrapped
+ */
+public class FocusComposite<T extends FocusWidget> extends Composite<T>
+ implements Focusable, HasEnabled, HasAllFocusHandlers, HasAllKeyHandlers, HasClickHandlers, + HasDoubleClickHandlers, HasAllMouseHandlers, HasAllDragAndDropHandlers, HasAllGestureHandlers,
+    HasAllTouchHandlers {
+
+  @Override
+  public int getTabIndex() {
+    return getDelegate().getTabIndex();
+  }
+
+  @Override
+  public void setAccessKey(char key) {
+    getDelegate().setAccessKey(key);
+  }
+
+  @Override
+  public void setFocus(boolean focused) {
+    getDelegate().setFocus(focused);
+  }
+
+  @Override
+  public void setTabIndex(int index) {
+    getDelegate().setTabIndex(index);
+  }
+
+  @Override
+  public HandlerRegistration addFocusHandler(FocusHandler handler) {
+    return getDelegate().addFocusHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addBlurHandler(BlurHandler handler) {
+    return getDelegate().addBlurHandler(handler);
+  }
+
+  @Override
+  public void setEnabled(boolean enabled) {
+    getDelegate().setEnabled(enabled);
+  }
+
+  @Override
+  public boolean isEnabled() {
+    return getDelegate().isEnabled();
+  }
+
+  @Override
+  public HandlerRegistration addKeyDownHandler(KeyDownHandler handler) {
+    return getDelegate().addKeyDownHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addKeyPressHandler(KeyPressHandler handler) {
+    return getDelegate().addKeyPressHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) {
+    return getDelegate().addKeyUpHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addClickHandler(ClickHandler handler) {
+    return getDelegate().addClickHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return getDelegate().addDoubleClickHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
+    return getDelegate().addMouseDownHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) {
+    return getDelegate().addMouseMoveHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
+    return getDelegate().addMouseOutHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
+    return getDelegate().addMouseOverHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
+    return getDelegate().addMouseUpHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
+    return getDelegate().addMouseWheelHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addDragHandler(DragHandler handler) {
+    return getDelegate().addDragHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addDropHandler(DropHandler handler) {
+    return getDelegate().addDropHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addDragStartHandler(DragStartHandler handler) {
+    return getDelegate().addDragStartHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addDragEndHandler(DragEndHandler handler) {
+    return getDelegate().addDragEndHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addDragEnterHandler(DragEnterHandler handler) {
+    return getDelegate().addDragEnterHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addDragLeaveHandler(DragLeaveHandler handler) {
+    return getDelegate().addDragLeaveHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addDragOverHandler(DragOverHandler handler) {
+    return getDelegate().addDragOverHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addGestureStartHandler(GestureStartHandler handler) {
+    return getDelegate().addGestureStartHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addGestureChangeHandler(GestureChangeHandler handler) {
+    return getDelegate().addGestureChangeHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addGestureEndHandler(GestureEndHandler handler) {
+    return getDelegate().addGestureEndHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addTouchCancelHandler(TouchCancelHandler handler) {
+    return getDelegate().addTouchCancelHandler(handler);
+  }
+
+  @Override
+  public HandlerRegistration addTouchEndHandler(TouchEndHandler handler) {
+    return getDelegate().addTouchEndHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addTouchMoveHandler(TouchMoveHandler handler) {
+    return getDelegate().addTouchMoveHandler(handler);
+  }
+
+  @Override
+ public HandlerRegistration addTouchStartHandler(TouchStartHandler handler) {
+    return getDelegate().addTouchStartHandler(handler);
+  }
+}
diff --git a/user/src/com/google/gwt/user/client/ui/PanelComposite.java b/user/src/com/google/gwt/user/client/ui/PanelComposite.java
new file mode 100644
index 0000000..97ba65c
--- /dev/null
+++ b/user/src/com/google/gwt/user/client/ui/PanelComposite.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.google.gwt.user.client.ui;
+
+import java.util.Iterator;
+
+/**
+ * A {@link Composite} that wraps a {@link HasWidgets} widget.
+ * <p>
+ * This class is especially useful with {@code UIBinder} as it lets this
+ * composite to be used as parent in the templates.
+ *
+ * @param <T> type of the widget wrapped
+ */
+public class PanelComposite<T extends Widget & HasWidgets> extends Composite<T>
+    implements HasWidgets.ForIsWidget {
+
+  @Override
+  public void add(Widget w) {
+    getDelegate().add(w);
+  }
+
+  @Override
+  public void add(IsWidget w) {
+    T widget = getDelegate();
+    if (widget instanceof HasWidgets.ForIsWidget) {
+ // Do not alter the behavior if add(IsWidget) implemented differently:
+      ((HasWidgets.ForIsWidget) widget).add(w);
+    } else {
+      widget.add(asWidgetOrNull(w));
+    }
+  }
+
+  @Override
+  public boolean remove(Widget w) {
+    return getDelegate().remove(w);
+  }
+
+  @Override
+  public boolean remove(IsWidget w) {
+    T widget = getDelegate();
+    if (widget instanceof HasWidgets.ForIsWidget) {
+ // Do not alter the behavior if remove(IsWidget) implemented differently:
+      return ((HasWidgets.ForIsWidget) widget).remove(w);
+    } else {
+      return widget.remove(asWidgetOrNull(w));
+    }
+  }
+
+  @Override
+  public void clear() {
+    getDelegate().clear();
+  }
+
+  @Override
+  public Iterator<Widget> iterator() {
+    return getDelegate().iterator();
+  }
+}

--
To view, visit https://gwt-review.googlesource.com/2940
To unsubscribe, visit https://gwt-review.googlesource.com/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I372f9c4942c11b799eeb57870163dd999ad095cb
Gerrit-PatchSet: 1
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: Goktug Gokdogan <[email protected]>

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to