You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2008/01/22 15:30:42 UTC

svn commit: r614207 - in /myfaces/tobago/trunk: core/src/main/java/org/apache/myfaces/tobago/renderkit/html/ core/src/main/java/org/apache/myfaces/tobago/taglib/decl/ sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/t...

Author: lofwyr
Date: Tue Jan 22 06:30:40 2008
New Revision: 614207

URL: http://svn.apache.org/viewvc?rev=614207&view=rev
Log:
TOBAGO-590: Drag and Drop: first steps

Added:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java   (contents, props changed)
      - copied, changed from r610790, myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java
Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
    myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java
    myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java Tue Jan 22 06:30:40 2008
@@ -719,4 +719,79 @@
     strBuilder.append("]");
     return strBuilder.toString();
   }
+  
+  public static void renderDojoDndSource(UIComponent component, TobagoResponseWriter writer, String clientId) throws IOException {
+    Object objDojoType = component.getAttributes().get("dojoType");
+    if (null != objDojoType && (objDojoType.equals("dojo.dnd.Source") || objDojoType.equals("dojo.dnd.Target"))) {
+      ComponentUtil.addOnloadCommands(component, createDojoDndType(component, clientId, String.valueOf(objDojoType)));
+    }
+  }
+  
+  public static void renderDojoDndItem(UIComponent component, TobagoResponseWriter writer, boolean addStyle) throws IOException {
+    Object objDndType = component.getAttributes().get("dndType");
+    if (objDndType != null) {
+      writer.writeAttribute("dndType", String.valueOf(objDndType), false);
+    } 
+    Object objDndData = component.getAttributes().get("dndData");
+    if (objDndData != null) {
+      writer.writeAttribute("dndData", String.valueOf(objDndData), false);
+    }     
+    if (addStyle && (null != objDndType || null != objDndData)) {
+      ComponentUtil.setStyleClasses(component, "dojoDndItem");
+    }
+  }
+
+  public static String[] createDojoDndType(UIComponent component, String clientId, String dojoType){
+    StringBuilder strBuilder = new StringBuilder();
+    strBuilder.append("new " + dojoType + "('" + clientId + "'");
+    StringBuilder parameter = new StringBuilder();
+    
+    Object objHorizontal = component.getAttributes().get("horizontal");
+    if(objHorizontal != null){
+      parameter.append("horizontal: " + String.valueOf(objHorizontal) + ",");
+    }
+    Object objCopyOnly = component.getAttributes().get("copyOnly");
+    if(objCopyOnly != null){
+      parameter.append("copyOnly: " + String.valueOf(objCopyOnly) + ",");
+    }
+    Object objSkipForm = component.getAttributes().get("skipForm");
+    if(objSkipForm != null){
+      parameter.append("skipForm: " + String.valueOf(objSkipForm) + ",");
+    }
+    Object objWithHandles = component.getAttributes().get("withHandles");
+    if(objWithHandles != null){
+      parameter.append("withHandles: " + String.valueOf(objWithHandles) + ",");
+    }
+    Object objAccept = component.getAttributes().get("accept");
+    if(objAccept != null){
+      String accept = null;
+      if(objAccept instanceof String[]){
+        String[] allowed = (String[])objAccept;
+        if (allowed.length > 1) {
+          accept = "'" + allowed[0] + "'";
+          for (int i=1; i < allowed.length; i++) {
+            accept += ",'" + allowed[i] + "'";
+          }
+        }
+      } else {
+        accept = (String)objAccept;
+      }
+      parameter.append("accept: [" + accept + "],");
+    }
+    Object objSingular = component.getAttributes().get("singular");
+    if(objSingular != null){
+      parameter.append("singular: " + String.valueOf(objSingular) + ",");
+    }
+    Object objCreator = component.getAttributes().get("creator");
+    if(objCreator != null){
+      parameter.append("creator: " + String.valueOf(objCreator) + ",");
+    }
+    if(parameter.length() > 0){
+      parameter.deleteCharAt(parameter.lastIndexOf(","));
+      strBuilder.append(",{" + parameter + "}");
+    }
+    strBuilder.append(");");
+    String[] cmd = {strBuilder.toString()}; 
+    return cmd;
+  }
 }

Copied: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java (from r610790, myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java?p2=myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java&p1=myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java&r1=610790&r2=614207&rev=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java Tue Jan 22 06:30:40 2008
@@ -20,17 +20,20 @@
 import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
 import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
 
-/*
- * User: bommel
- * Date: Jan 19, 2007
- * Time: 9:51:30 PM
- */
-public interface HasMarkup {
+public interface IsDraggable {
+
   /**
-   * Indicate markup of this component.
+   * Draggable components are the source components of the drag-and-drop feature.
+   */
+  @TagAttribute
+  @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
+  void setDraggable(String draggable);
+
+  /**
+   * Indicate draggable of this component.
    * Possible value is 'none'. But this can be overridden in the theme.
    */
   @TagAttribute
-  @UIComponentTagAttribute(defaultValue = "none")
-  void setMarkup(String markup);
+  @UIComponentTagAttribute(type = "java.lang.String[]")
+  void setDragNames(String draggable);
 }

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java (original)
+++ myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java Tue Jan 22 06:30:40 2008
@@ -143,6 +143,9 @@
 
       // div id
       writer.writeIdAttribute(id);
+      if (!isFolder) {
+        HtmlRendererUtil.renderDojoDndItem(node, writer, true);
+      }
 
       // div class (css)
       StyleClasses styleClasses = StyleClasses.ensureStyleClasses(node);
@@ -164,7 +167,7 @@
       }
       String widthString;
       if (width != null) {
-        widthString = "width: " + Integer.toString(width - 4); // fixme: 4
+        widthString = "width: " + Integer.toString(width - 22); // fixme: 4 + 18 for scrollbar
       } else {
         widthString = "100%";
       }
@@ -175,7 +178,7 @@
       }
 
       if (isFolder && menuMode) {
-        encodeMenuIcon(facesContext, writer, treeId, id, expanded);
+        encodeMenuIcon(facesContext, writer, treeId, id, expanded, node);
       }
 
       encodeIndent(facesContext, writer, menuMode, junctions);
@@ -223,12 +226,17 @@
   }
 
   private void encodeMenuIcon(
-      FacesContext facesContext, TobagoResponseWriter writer, String treeId, String id, boolean expanded)
+      FacesContext facesContext, TobagoResponseWriter writer, String treeId, String id, boolean expanded,
+      UIComponent node)
       throws IOException {
     String menuOpen = ResourceManagerUtil.getImageWithPath(facesContext, "image/treeMenuOpen.gif");
     String menuClose = ResourceManagerUtil.getImageWithPath(facesContext, "image/treeMenuClose.gif");
     String onclick = "tobagoTreeNodeToggle(this.parentNode, '" + treeId + "', null, null, '"
         + menuOpen + "', '" + menuClose + "')";
+    Object objOnclick = node.getAttributes().get("onclick");
+    if (null != objOnclick) {
+      onclick += ";" + objOnclick;
+    }
     String src = expanded ? menuOpen : menuClose;
     writer.startElement(IMG, null);
     writer.writeClassAttribute("tobago-tree-menu-icon");
@@ -371,6 +379,7 @@
     String label = (String) node.getAttributes().get(ATTR_LABEL);
     if (label == null) {
       LOG.warn("label == null");
+      label = "label";
     }
     writer.writeText(label);
     if (helper.isDisabled()) {

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java Tue Jan 22 06:30:40 2008
@@ -87,6 +87,7 @@
       writer.writeAttribute(HtmlAttributes.ONCLICK, helper.getOnclick(), true);
     }
     writer.writeStyleAttribute();
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.flush(); // force closing the start tag
 

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java Tue Jan 22 06:30:40 2008
@@ -96,6 +96,7 @@
 
     writer.startElement(HtmlConstants.TABLE, component);
     writer.writeIdAttribute(id);
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.writeAttribute(HtmlAttributes.CELLSPACING, 0);
     writer.writeAttribute(HtmlAttributes.CELLPADDING, 3);

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java Tue Jan 22 06:30:40 2008
@@ -102,8 +102,11 @@
     writer.writeAttribute(HtmlAttributes.BORDER, border, false);
     writer.writeAttributeFromComponent(HtmlAttributes.HEIGHT, ATTR_HEIGHT);
     writer.writeStyleAttribute();
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.endElement(HtmlConstants.IMG);
+
+    HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
   }
 
   private String createSrc(String src, String ext) {

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java Tue Jan 22 06:30:40 2008
@@ -24,11 +24,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import static org.apache.myfaces.tobago.TobagoConstants.*;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_PASSWORD;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_READONLY;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_REQUIRED;
 import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
-import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
 import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_ERROR;
 import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
+import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
 import org.apache.myfaces.tobago.component.ComponentUtil;
 import org.apache.myfaces.tobago.component.UIInput;
 import org.apache.myfaces.tobago.component.UIPage;
@@ -117,6 +120,7 @@
       String rendererName = HtmlRendererUtil.getRendererName(facesContext, input);
       styleClasses.removeAspectClass(rendererName, StyleClasses.Aspect.REQUIRED);
     }
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     /*if (component instanceof UIInput) {
       String onchange = HtmlUtils.generateOnchange((UIInput) component, facesContext);

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java Tue Jan 22 06:30:40 2008
@@ -82,14 +82,15 @@
 
     createClassAttribute(component);
     TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
-
+    
+    String clientId = output.getClientId(facesContext);
     writer.startElement(HtmlConstants.DIV, output);
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.writeStyleAttribute();
     writer.startElement(HtmlConstants.A, output);
     writer.writeClassAttribute();
     writer.startElement(HtmlConstants.LABEL, output);
-    String clientId = output.getClientId(facesContext);
     writer.writeIdAttribute(clientId);
     if (forValue != null) {
       writer.writeAttribute(HtmlAttributes.FOR, forValue, false);

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java Tue Jan 22 06:30:40 2008
@@ -81,6 +81,7 @@
         writer.writeAttribute(HtmlAttributes.TABINDEX, tabIndex);
       }
     }
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.writeIdAttribute(clientId);
     writer.writeNameAttribute(clientId);

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java Tue Jan 22 06:30:40 2008
@@ -88,6 +88,7 @@
 
       writer.startElement(HtmlConstants.DIV, component);
       writer.writeIdAttribute(clientId);
+      HtmlRendererUtil.renderDojoDndItem(component, writer, true);
       StyleClasses styleClasses = StyleClasses.ensureStyleClasses(component);
       if (ComponentUtil.getBooleanAttribute(component, ATTR_PAGE_MENU)) {
         styleClasses.addClass("menuBar", "page-facet"); // XXX not a standard compliant name
@@ -95,6 +96,7 @@
         writer.writeStyleAttribute();
       }
       writer.writeClassAttribute(styleClasses);
+      
 /*
 
       writer.startElement(HtmlConstants.SPAN);
@@ -106,6 +108,7 @@
       writer.endElement(HtmlConstants.SPAN);
 
 */
+      HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
       writer.endElement(HtmlConstants.DIV);
     }
     attributes.put(MENU_ACCELERATOR_KEYS, new ArrayList<String>());

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java Tue Jan 22 06:30:40 2008
@@ -54,6 +54,7 @@
       writer.startElement(HtmlConstants.SPAN, component);
       writer.writeIdAttribute(id);
       writer.writeStyleAttribute();
+      HtmlRendererUtil.renderDojoDndItem(component, writer, true);
       writer.writeClassAttribute();
       HtmlRendererUtil.renderTip(component, writer);
     }

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java Tue Jan 22 06:30:40 2008
@@ -358,6 +358,8 @@
     writer.writeJavascript("TbgTimer.startBody = new Date();");
     //}
 
+    HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
+    
     writer.startElement(HtmlConstants.FORM, page);
     writer.writeNameAttribute(
         clientId + SUBCOMPONENT_SEP + "form");

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java Tue Jan 22 06:30:40 2008
@@ -28,9 +28,9 @@
 import static org.apache.myfaces.tobago.TobagoConstants.FACET_LAYOUT;
 import static org.apache.myfaces.tobago.TobagoConstants.FACET_RELOAD;
 import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
-import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
-import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
 import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_NOT_MODIFIED;
+import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
+import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
 import org.apache.myfaces.tobago.component.ComponentUtil;
 import org.apache.myfaces.tobago.component.UIPanel;
 import org.apache.myfaces.tobago.component.UIReload;
@@ -129,8 +129,10 @@
     String clientId = component.getClientId(facesContext);
     TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
     writer.startElement(HtmlConstants.DIV, component);
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.writeIdAttribute(clientId);
+    HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
     if (TobagoConfig.getInstance(facesContext).isAjaxEnabled()) {
      // writer.writeJavascript("Tobago.addAjaxComponent(\"" + clientId + "\")");
       Integer frequency = null;

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java Tue Jan 22 06:30:40 2008
@@ -165,6 +165,8 @@
 
           writer.startElement(HtmlConstants.DIV, null);
           writer.writeIdAttribute(clientId);
+          HtmlRendererUtil.renderDojoDndItem(component, writer, false);
+          writer.writeClassAttribute("dojoDndItem");
           renderTabGroupView(facesContext, writer, component, virtualTab,
               (HtmlStyleMap) component.getAttributes().get(ATTR_STYLE),
               switchType, image1x1);
@@ -235,7 +237,6 @@
     writer.writeIdAttribute(clientId + '.' + virtualTab);
     writer.writeStyleAttribute(oStyle);
 
-
     writer.startElement(HtmlConstants.TR, null);
     writer.writeAttribute(HtmlAttributes.VALIGN, "bottom", false);
 
@@ -257,18 +258,23 @@
     // tool bar
 
     UICommand scrollLeft = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+    scrollLeft.setId(facesContext.getViewRoot().createUniqueId());
     scrollLeft.setRendererType(null);
     scrollLeft.getAttributes().put(ATTR_LABEL, "<");
     UICommand scrollRight = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+    scrollRight.setId(facesContext.getViewRoot().createUniqueId());
     scrollRight.setRendererType(null);
     scrollRight.getAttributes().put(ATTR_LABEL, ">");
     UICommand commandList = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+    commandList.setId(facesContext.getViewRoot().createUniqueId());
     commandList.setRendererType(null);
     UIMenu menu = (UIMenu) application.createComponent(UIMenu.COMPONENT_TYPE);
+    menu.setId(facesContext.getViewRoot().createUniqueId());
     menu.setRendererType(null);
     commandList.getFacets().put("menupopup", menu);
 //    commandList.getAttributes().put(ATTR_LABEL, "Direct Link");
     UIToolBar toolBar = (UIToolBar) application.createComponent(UIToolBar.COMPONENT_TYPE);
+    toolBar.setId(facesContext.getViewRoot().createUniqueId());
     toolBar.setRendererType("ToolBar");
     toolBar.setTransient(true);
     toolBar.getChildren().add(scrollLeft);
@@ -355,6 +361,7 @@
 
           // tool bar
           UIMenuCommand menuItem = (UIMenuCommand) application.createComponent(UIMenuCommand.COMPONENT_TYPE);
+          menuItem.setId(facesContext.getViewRoot().createUniqueId());
           menuItem.setRendererType("MenuCommand");
           if (onclick != null) {
             menuItem.getAttributes().put(ATTR_ONCLICK, onclick);

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java Tue Jan 22 06:30:40 2008
@@ -73,6 +73,7 @@
     if (tabIndex != null) {
       writer.writeAttribute(HtmlAttributes.TABINDEX, tabIndex);
     }
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeStyleAttribute();
     writer.writeClassAttribute();
     if (onchange != null) {

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java Tue Jan 22 06:30:40 2008
@@ -88,9 +88,12 @@
       setToolBarHeight(facesContext, uiComponent);
 
       writer.startElement(HtmlConstants.DIV, toolbar);
-      writer.writeIdAttribute(toolbar.getClientId(facesContext));
+      String clientId = toolbar.getClientId(facesContext);
+      writer.writeIdAttribute(clientId);
+      HtmlRendererUtil.renderDojoDndItem(toolbar, writer, true);
       writer.writeClassAttribute();
       writer.writeStyleAttribute();
+      HtmlRendererUtil.renderDojoDndSource(toolbar, writer, clientId);
       writer.startElement(HtmlConstants.DIV, toolbar);
       boolean right = false;
       if (toolbar instanceof UIToolBar) {

Modified: myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java (original)
+++ myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java Tue Jan 22 06:30:40 2008
@@ -24,7 +24,6 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_ICON_SIZE;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL;
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL_POSITION;
@@ -32,7 +31,9 @@
 import static org.apache.myfaces.tobago.TobagoConstants.ATTR_SUPPPRESS_TOOLBAR_CONTAINER;
 import static org.apache.myfaces.tobago.TobagoConstants.FACET_LABEL;
 import static org.apache.myfaces.tobago.TobagoConstants.FACET_TOOL_BAR;
+import static org.apache.myfaces.tobago.TobagoConstants.SUBCOMPONENT_SEP;
 import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
+import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
 import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.renderkit.BoxRendererBase;
@@ -53,7 +54,9 @@
 public class BoxRenderer extends BoxRendererBase implements AjaxRenderer {
 
   private static final Log LOG = LogFactory.getLog(BoxRenderer.class);
-
+  public static final String CONTENT_INNER = SUBCOMPONENT_SEP + "content-inner";
+  public static final String HEADER = SUBCOMPONENT_SEP + "header";
+  
   public int getFixedHeight(FacesContext facesContext, UIComponent component) {
     return super.getFixedHeight(facesContext, component);
   }
@@ -72,13 +75,14 @@
 
     String clientId = component.getClientId(facesContext);
     writer.startElement(HtmlConstants.DIV, component);
+    HtmlRendererUtil.renderDojoDndItem(component, writer, true);
     writer.writeClassAttribute();
     writer.writeIdAttribute(clientId);
     if (style != null) {
       writer.writeStyleAttribute(style);
     }
     writer.writeJavascript("Tobago.addAjaxComponent(\"" + clientId + "\")");
-
+    
     encodeBeginInner(facesContext, writer, component);
   }
 
@@ -98,13 +102,17 @@
     writer.writeClassAttribute(contentClasses);
 
     writer.startElement(HtmlConstants.DIV, component);
+    String id = component.getClientId(facesContext) + CONTENT_INNER; 
+    writer.writeIdAttribute(id);
     StyleClasses contentInnerClasses = new StyleClasses();
     contentInnerClasses.addClass("box", "content-inner");
+    contentInnerClasses.addFullQualifiedClass("dojoDndItem");
     if (component instanceof SupportsMarkup) {
       contentInnerClasses.addMarkupClass((SupportsMarkup) component, "box", "content-inner");
     }
     writer.writeClassAttribute(contentInnerClasses);
     writer.writeStyleAttribute(innerStyle);
+    HtmlRendererUtil.renderDojoDndSource(component, writer, id);
   }
 
 
@@ -118,6 +126,8 @@
       headerClasses.addMarkupClass((SupportsMarkup) component, "box", "header");
     }
     writer.writeClassAttribute(headerClasses);
+    String id = component.getClientId(facesContext) + HEADER;
+    writer.writeIdAttribute(id);
     UIComponent label = component.getFacet(FACET_LABEL);
     writer.startElement(HtmlConstants.SPAN, null);
     writer.writeClassAttribute("tobago-box-header-label");
@@ -140,9 +150,7 @@
   public void encodeEnd(FacesContext facesContext,
       UIComponent component) throws IOException {
     TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
-
     encodeEndInner(writer);
-
     writer.endElement(HtmlConstants.DIV);
   }