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
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
}\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