You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2009/10/15 01:39:17 UTC

svn commit: r825344 - in /myfaces/trinidad/branches/1.2.12.2-branch: trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/ trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/ trinidad-impl/src/main/java/org/apa...

Author: jwaldman
Date: Wed Oct 14 23:39:16 2009
New Revision: 825344

URL: http://svn.apache.org/viewvc?rev=825344&view=rev
Log:
TRINIDAD-1562 Nokia's S60 web-browser not displaying show/hide icon of panelAccordion
applied changes from code review. patch from Mamallan Uthaman

Modified:
    myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
    myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java
    myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
    myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java

Modified: myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java?rev=825344&r1=825343&r2=825344&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java (original)
+++ myfaces/trinidad/branches/1.2.12.2-branch/trinidad-api/src/main/java/org/apache/myfaces/trinidad/render/CoreRenderer.java Wed Oct 14 23:39:16 2009
@@ -689,6 +689,16 @@
   {
     return (Agent.PLATFORM_GENERICPDA.equals(rc.getAgent().getPlatformName()));
   }
+  
+  /**
+   * This method returns true if a user-agent's platform is NokiaS60 
+   * @param arc - RenderingContext of a request
+   * @return boolean
+   */
+  static public boolean isNokiaS60(RenderingContext rc)
+  {
+    return (Agent.PLATFORM_NOKIA_S60.equals(rc.getAgent().getPlatformName()));
+  }
 
   static public boolean isInaccessibleMode(RenderingContext rc)
   {

Modified: myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java?rev=825344&r1=825343&r2=825344&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java (original)
+++ myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/skin/BaseDesktopSkin.java Wed Oct 14 23:39:16 2009
@@ -153,6 +153,25 @@
 
     SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME,
       new ReferenceIcon(SkinSelectors.DETAIL_UNDISCLOSED_ICON_ALIAS_NAME),
+   
+    // The Webkit browser that runs in Nokia platform doesn't support Unicode 
+    // characters that display icons, so we need to render text-icons for
+    // Nokia.
+    // Ideally, we should be able to use different disclosed/undisclosed icons 
+    // based on different platforms using the same disclosed/undisclosed 
+    // skinning-key, but we don't have such mechanism in Trinidad right now.  
+    // Hence, I have created new skinning-keys for Nokia.
+    SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60,
+      new TextIcon("[-]", 
+                   null, 
+                   SkinSelectors.HIDE_SHOW_DISCLOSED_SYMBOL_STYLE_CLASS,
+                   null), 
+                   
+    SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60,
+       new TextIcon("[+]", 
+                    null, 
+                    SkinSelectors.HIDE_SHOW_DISCLOSED_SYMBOL_STYLE_CLASS,
+                    null),  
 
     // tr:table icons
     SkinSelectors.AF_TABLE_SD_DISCLOSED_ICON_NAME,

Modified: myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java?rev=825344&r1=825343&r2=825344&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java (original)
+++ myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ShowDetailRenderer.java Wed Oct 14 23:39:16 2009
@@ -256,10 +256,29 @@
     boolean             disclosed
     )
   {
-    String iconName = (disclosed
-                       ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME
-                       : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME);
-
+    String iconName;
+    
+    // Requests from Nokia's WebKit-browsers are handled by desktop renderer.
+    // But unlike desktop browsers, Nokia's WebKit-browsers don't support icons
+    // that are encoded in Unicode.
+    // Ideally, we should be able to use different disclosed/undisclosed icons 
+    // based on different platforms using the same disclosed/undisclosed 
+    // skinning-key, but we don't have such mechanism in Trinidad right now.  
+    // Hence, I have created new skinning-keys for Nokia to render text-icons.
+    if (isNokiaS60(arc))
+    {
+      iconName = 
+           disclosed 
+           ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60
+           : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60;
+    }
+    else
+    {
+      iconName = (disclosed
+                  ? SkinSelectors.AF_SHOW_DETAIL_DISCLOSED_ICON_NAME
+                  : SkinSelectors.AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME);
+    }
+    
     return arc.getIcon(iconName);
   }
 

Modified: myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java?rev=825344&r1=825343&r2=825344&view=diff
==============================================================================
--- myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java (original)
+++ myfaces/trinidad/branches/1.2.12.2-branch/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SkinSelectors.java Wed Oct 14 23:39:16 2009
@@ -1230,6 +1230,16 @@
    public static final String AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME =
      "af|showDetail::undisclosed-icon";
 
+   // The Webkit browser that runs in Nokia platform doesn't support Unicode 
+   // characters that display icons, so we need to render text-icons for
+   // Nokia.
+   // Ideally, we should be able to use above skinning-keys and switch it to 
+   // text-icons for Nokia platform, but we don't have such mechanism in Trinidad
+   // right now. Hence, I have created new skinning-keys for Nokia.
+   public static final String AF_SHOW_DETAIL_DISCLOSED_ICON_NAME_FOR_NOKIA_S60 =
+     "af|showDetail::nokia-disclosed-icon";
+   public static final String AF_SHOW_DETAIL_UNDISCLOSED_ICON_NAME_FOR_NOKIA_S60 =
+     "af|showDetail::nokia-undisclosed-icon";
    
    //                                                                         //
    //                                                                         //