]> source.dussan.org Git - vaadin-framework.git/commitdiff
#6107 - VTwinColSelect should provide information about logical parts to TestBench
authorArtur Signell <artur.signell@itmill.com>
Tue, 7 Dec 2010 09:43:43 +0000 (09:43 +0000)
committerArtur Signell <artur.signell@itmill.com>
Tue, 7 Dec 2010 09:43:43 +0000 (09:43 +0000)
svn changeset:16339/svn branch:6.5

src/com/vaadin/terminal/gwt/client/ui/VTwinColSelect.java

index 9369c034b723b8217f1ae5d0c2663c07035e4df7..9771e8b9face8bc34b8ff50ca405e2253832942e 100644 (file)
@@ -19,6 +19,7 @@ import com.google.gwt.event.dom.client.MouseDownEvent;
 import com.google.gwt.event.dom.client.MouseDownHandler;\r
 import com.google.gwt.event.shared.HandlerRegistration;\r
 import com.google.gwt.user.client.DOM;\r
+import com.google.gwt.user.client.Element;\r
 import com.google.gwt.user.client.ui.FlowPanel;\r
 import com.google.gwt.user.client.ui.HTML;\r
 import com.google.gwt.user.client.ui.ListBox;\r
@@ -28,7 +29,7 @@ import com.vaadin.terminal.gwt.client.UIDL;
 import com.vaadin.terminal.gwt.client.Util;\r
 \r
 public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler,\r
-        MouseDownHandler, DoubleClickHandler {\r
+        MouseDownHandler, DoubleClickHandler, SubPartAware {\r
 \r
     private static final String CLASSNAME = "v-select-twincol";\r
     public static final String ATTRIBUTE_LEFT_CAPTION = "lc";\r
@@ -586,4 +587,51 @@ public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler,
         }\r
 \r
     }\r
+\r
+    private static final String SUBPART_OPTION_SELECT = "leftSelect";\r
+    private static final String SUBPART_SELECTION_SELECT = "rightSelect";\r
+    private static final String SUBPART_LEFT_CAPTION = "leftCaption";\r
+    private static final String SUBPART_RIGHT_CAPTION = "rightCaption";\r
+    private static final String SUBPART_ADD_BUTTON = "add";\r
+    private static final String SUBPART_REMOVE_BUTTON = "remove";\r
+\r
+    public Element getSubPartElement(String subPart) {\r
+        if (SUBPART_OPTION_SELECT.equals(subPart)) {\r
+            return options.getElement();\r
+        } else if (SUBPART_SELECTION_SELECT.equals(subPart)) {\r
+            return selections.getElement();\r
+        } else if (optionsCaption != null\r
+                && SUBPART_LEFT_CAPTION.equals(subPart)) {\r
+            return optionsCaption.getElement();\r
+        } else if (selectionsCaption != null\r
+                && SUBPART_RIGHT_CAPTION.equals(subPart)) {\r
+            return selectionsCaption.getElement();\r
+        } else if (SUBPART_ADD_BUTTON.equals(subPart)) {\r
+            return add.getElement();\r
+        } else if (SUBPART_REMOVE_BUTTON.equals(subPart)) {\r
+            return remove.getElement();\r
+        }\r
+\r
+        return null;\r
+    }\r
+\r
+    public String getSubPartName(Element subElement) {\r
+        if (optionsCaption != null\r
+                && optionsCaption.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_LEFT_CAPTION;\r
+        } else if (selectionsCaption != null\r
+                && selectionsCaption.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_RIGHT_CAPTION;\r
+        } else if (options.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_OPTION_SELECT;\r
+        } else if (selections.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_SELECTION_SELECT;\r
+        } else if (add.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_ADD_BUTTON;\r
+        } else if (remove.getElement().isOrHasChild(subElement)) {\r
+            return SUBPART_REMOVE_BUTTON;\r
+        }\r
+\r
+        return null;\r
+    }\r
 }\r