You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2009/06/19 05:59:05 UTC
svn commit: r786363 - in /myfaces/trinidad/trunk/trinidad-impl/src/main:
java/org/apache/myfaces/trinidadinternal/agent/
java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/
java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ java/or...
Author: matzew
Date: Fri Jun 19 03:59:04 2009
New Revision: 786363
URL: http://svn.apache.org/viewvc?rev=786363&view=rev
Log: (empty)
Modified:
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgentImpl.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaMessageBoxRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaNavigationPaneRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BreadCrumbsRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputLabelRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelFormLayoutRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SelectRangeChoiceBarRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlConstants.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/CorePanelRadioRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/BaseLafRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/ProcessChoiceBarRenderer.java
myfaces/trinidad/trunk/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/blackberry9000.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/gecko.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/html.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/htmlBasic.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie55win.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/netfront.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/nokia_S60.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pdaGeneric.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie03.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/webkit312.xml
myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/wm6.xml
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/AgentFactoryImpl.java Fri Jun 19 03:59:04 2009
@@ -26,6 +26,7 @@
import org.apache.myfaces.trinidad.context.Agent;
import org.apache.myfaces.trinidad.logging.TrinidadLogger;
+import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlConstants;
/**
* Trinidad implementation of AgentFactory.
@@ -398,6 +399,8 @@
agentObj.setAgent(Agent.AGENT_IE);
agentObj.setAgentVersion(version);
agentObj.setPlatform(Agent.PLATFORM_PPC);
+
+ boolean narrowScreenDevice = false;
if(uaPixels != null && uaPixels.length() > 0)
{
@@ -427,12 +430,32 @@
{
agentObj.__addRequestCapability(TrinidadAgent.CAP_WIDTH,width);
agentObj.__addRequestCapability(TrinidadAgent.CAP_HEIGHT,height);
+
+ if (width.intValue() < XhtmlConstants.NARROW_SCREEN_PDA_MAX_WIDTH)
+ {
+ narrowScreenDevice = true;
+ }
}
else
{
_LOG.fine("When creating the Agent, the UA-pixels value \"{0}\" could not be parsed.", uaPixels);
}
}
+ else
+ {
+ narrowScreenDevice = true;
+ }
+
+ if (narrowScreenDevice)
+ {
+ agentObj.__addRequestCapability(TrinidadAgent.CAP_NARROW_SCREEN,
+ Boolean.TRUE);
+ }
+ else
+ {
+ agentObj.__addRequestCapability(TrinidadAgent.CAP_NARROW_SCREEN,
+ Boolean.FALSE);
+ }
}
/**
@@ -477,7 +500,11 @@
agentObj.setAgentVersion(version);
agentObj.setPlatform(Agent.PLATFORM_BLACKBERRY);
agentObj.setMakeModel(makeModel);
- }
+ // Most of BlackBerry devices' widths are more than 240px, so
+ // don't consider BlackBerry as a narrow-screen PDA.
+ agentObj.__addRequestCapability(TrinidadAgent.CAP_NARROW_SCREEN,
+ Boolean.FALSE);
+ }
/**
* returns the data for the Palm Web Pro browser request
@@ -681,6 +708,12 @@
agentObj.setAgent(Agent.AGENT_GENERICPDA);
agentObj.setPlatform(Agent.PLATFORM_GENERICPDA);
}
+ // For performance reasons, consider Opera Mobile as a generic PDA-browser
+ // so just return. It will be handle by _populateGenricPDAImpl().
+ else if (agent.indexOf("MOT-") != -1 || agent.indexOf("Nokia") != -1)
+ {
+ return;
+ }
else
{
agentObj.setType(Agent.TYPE_DESKTOP);
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgent.java Fri Jun 19 03:59:04 2009
@@ -44,7 +44,7 @@
CapabilityKey.getCapabilityKey("accessKeys", true);
static public final CapabilityKey CAP_PARTIAL_RENDERING =
- CapabilityKey.getCapabilityKey("-adfinternal-partialRendering", true);
+ CapabilityKey.getCapabilityKey("partialRendering", true);
static public final CapabilityKey CAP_DISABLED_FORM_ELEMENTS =
CapabilityKey.getCapabilityKey("-adfinternal-disabledFormElements", true);
@@ -122,7 +122,7 @@
CapabilityKey.getCapabilityKey("-adfinternal-altRendersTooltipOnImage", true);
static public final CapabilityKey CAP_SCRIPTING_SPEED =
- CapabilityKey.getCapabilityKey("-adfinternal-scriptingSpeed", true);
+ CapabilityKey.getCapabilityKey("scriptingSpeed", true);
/**
@@ -169,6 +169,12 @@
static public final CapabilityKey CAP_IS_JDEV_JAVASCRIPT_VE = CapabilityKey
.getCapabilityKey("-adfinternal-isJDevJavascriptVE", true);
+
+ // If this capability flag is true, it means that the request is from an agent
+ // that is running in a narrow-screen PDA. Trinidad optimizes its rendering
+ // for narrow-screen PDAs to reduce the overall width of the page rendered.
+ static public final CapabilityKey CAP_NARROW_SCREEN = CapabilityKey
+ .getCapabilityKey("narrowScreen", true);
//
// Values for CAP_DOM
@@ -451,7 +457,57 @@
* Name Constant for Palm Web clipping (Elaine) agent
*/
public static final String AGENT_ELAINE = "elaine";
-
+
+ /*
+ * Skin family for BlackBerry browsers whose version > 4.5
+ */
+ public static final String SKIN_BLACKBERRY = "blackberry";
+
+ /*
+ * Skin family for BlackBerry browsers whose version <=4.5
+ */
+ public static final String SKIN_BLACKBERRY_MINIMAL = "blackberryminimal";
+
+ /*
+ * Skin family for all the default mobile browsers
+ */
+ public static final String SKIN_GENERIC_PDA = "genericpda";
+
+ /*
+ * Skin family for all Safari browsers running in iPhones/iPod
+ */
+ public static final String SKIN_WEBKIT_IPHONE = "iPhonewebkit";
+
+ /*
+ * Skin family for all Safari browsers running in linux platform
+ */
+ public static final String SKIN_WEBKIT_LINUX = "linuxwebkit";
+
+ /*
+ * Skin family for all Safari browsers running in Mac platform
+ */
+ public static final String SKIN_WEBKIT_MAC = "macwebkit";
+
+ /*
+ * Skin family for all Safari browsers running in Nokia S60
+ */
+ public static final String SKIN_WEBKIT_NOKIA = "nokiawebkit";
+
+ /*
+ * Skin family for all Safari browsers running in windows platforms
+ */
+ public static final String SKIN_WEBKIT_WINDOWS = "windowswebkit";
+
+ /*
+ * Skin family for all Safari browsers running in unknown platforms
+ */
+ public static final String SKIN_WEBKIT_DEFAULT = "defaultwebkit";
+
+ /*
+ * Skin family for Windows Mobile browsers
+ */
+ public static final String SKIN_WINDOWS_MOBILE = "windowsmobile";
+
/**
* Returns the type of agent to which we're rendering. Currently,
* only web browsers are understood.
@@ -493,4 +549,12 @@
public Object getCapability(CapabilityKey key);
public Object clone();
+
+ /*
+ * @return <code>String</code> object that represents an agent's
+ * skin-family, which is based upon the agent's CSS-support.
+ * Agents with the same name can have different skin families
+ * if agents' versions or platforms are different.
+ */
+ public String getSkinFamilyType();
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgentImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgentImpl.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgentImpl.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/agent/TrinidadAgentImpl.java Fri Jun 19 03:59:04 2009
@@ -155,6 +155,15 @@
{
return _capMap.getCapability(key);
}
+
+ /*
+ * @return <code>String</code> object that represents an agent's
+ * skin-family
+ */
+ public String getSkinFamilyType()
+ {
+ return _skinFamilyType;
+ }
@Override
@@ -234,7 +243,7 @@
_major = 1;
else
_major = _getMajorVersion(getAgentVersion());
-
+ _setskinFamilyType();
_capMap = _getCapabilityMap(context);
Map<Object, Object> requestCaps = _delegate.getCapabilities();
if (requestCaps != null)
@@ -375,6 +384,69 @@
return (int) version;
}
+ /*
+ * This method determines a mobile agent's skin-family, which is based upon
+ * the agent's CSS-support. Agents with the same name can have different
+ * skin families if the agents' versions or platforms are different.
+ */
+ void _setskinFamilyType()
+ {
+ if (_os == TrinidadAgent.OS_PPC)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WINDOWS_MOBILE;
+ }
+ else if (_application == TrinidadAgent.APPLICATION_NOKIA_S60)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_NOKIA;
+ }
+ else if (_application == TrinidadAgent.APPLICATION_SAFARI)
+ {
+ if (_os == TrinidadAgent.OS_IPHONE)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_IPHONE;
+ }
+ else if (_os == TrinidadAgent.OS_LINUX)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_LINUX;
+ }
+ else if (_os == TrinidadAgent.OS_MACOS)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_MAC;
+ }
+ else if (_os == TrinidadAgent.OS_WINDOWS)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_WINDOWS;
+ }
+ else
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_WEBKIT_DEFAULT;
+ }
+ }
+ else if (_application == TrinidadAgent.APPLICATION_GENERICPDA)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_GENERIC_PDA;
+ }
+ else if (_application == TrinidadAgent.APPLICATION_BLACKBERRY)
+ {
+ // BlackBerry browsers' versions are in the format x.y.z.[...]
+ // (x,y and z are numerals). For determining the skin-family, truncate
+ // the version after the first decimal-point's immediate digit.
+ // Example, versions 4.6.0.80 and 4.1.2 will be truncated to 4.6
+ // and 4.1 respectively.
+ String version = getAgentVersion();
+ version = version.substring(0, version.indexOf(".")+2);
+
+ if (Float.parseFloat(version) > 4.5)
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_BLACKBERRY;
+ }
+ else
+ {
+ _skinFamilyType = TrinidadAgent.SKIN_BLACKBERRY_MINIMAL;
+ }
+ }
+ }
+
void __mergeCapabilities(Map<Object, Object> capabilities)
{
_capMap = _capMap.merge(capabilities);
@@ -401,6 +473,7 @@
private int _application;
private int _os;
private int _major;
+ private String _skinFamilyType;
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaMessageBoxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaMessageBoxRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaMessageBoxRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaMessageBoxRenderer.java Fri Jun 19 03:59:04 2009
@@ -52,12 +52,14 @@
{
Agent agent = arc.getAgent();
- // BlackBerry browser does not support inline style of display:none
- // and thus it is necessary to slip rendering entire element if
- // there is no message to display and rendering to BlackBerry.
+ // BlackBerry and many pda browsers don't support inline style of
+ // display:none. Thus, it is necessary to slip rendering entire
+ // element if there is no message to display.
// This method checks for the condition and returns true.
- if (agent != null && Agent.AGENT_BLACKBERRY.equals(agent.getAgentName()))
+ if (agent != null &&
+ (Agent.AGENT_BLACKBERRY.equals(agent.getAgentName()) ||
+ Agent.AGENT_GENERICPDA.equals(agent.getAgentName()) ))
{
boolean hasMessages =
FacesContext.getCurrentInstance().getMessages().hasNext();
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaNavigationPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaNavigationPaneRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaNavigationPaneRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/pda/PdaNavigationPaneRenderer.java Fri Jun 19 03:59:04 2009
@@ -156,7 +156,9 @@
toString(itemData.get("icon")),
itemData, isDisabled, isRtl);
rw.endElement("span"); // centerContent
-
+
+ boolean narrowScreen = supportsNarrowScreen(arc);
+
if (!getBooleanFromProperty(itemData.get("isLast")))
{
rw.startElement("span", null); // rightContent
@@ -170,10 +172,24 @@
renderStyleClass(context, arc,
SkinSelectors.AF_NAVIGATION_LEVEL_BUTTONS_SEPARATOR_STYLE_CLASS);
}
- rw.write("|");
+
+ // Narrow-screen PDAs don't need"|", since navigation items
+ // are rendered vertically for narrow-screen PDAs.
+ if (!narrowScreen)
+ {
+ rw.write("|");
+ }
+
rw.endElement("span"); // rightContent
}
rw.endElement("span"); // rightContent
+
+ // render vertically for narrow-screen PDAs
+ if (narrowScreen)
+ {
+ rw.startElement("br", null);
+ rw.endElement("br");
+ }
}
// Render as List
else
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BreadCrumbsRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BreadCrumbsRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BreadCrumbsRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/BreadCrumbsRenderer.java Fri Jun 19 03:59:04 2009
@@ -107,7 +107,19 @@
) throws IOException
{
- boolean isVertical = _isVertical(bean);
+ boolean isVertical;
+
+ // To reduce the breadcrumb's width, render vertically for narrow-screen
+ // PDAs.
+ if (supportsNarrowScreen(arc))
+ {
+ isVertical = true;
+ }
+ else
+ {
+ isVertical = _isVertical(bean);
+ }
+
boolean shouldRenderLastChild = shouldRenderLastChild(arc);
boolean isLastChild = false;
boolean isFirstChild = true;
@@ -418,6 +430,13 @@
RenderingContext arc
)
{
+ // In the case of narrow-screen PDAs, the number of indent spaces is
+ // reduced to decrease the overall breadcrumb's width.
+ if (supportsNarrowScreen(arc))
+ {
+ return NARROW_SCREEN_INDENT_SPACES;
+ }
+
Object propValue = arc.getSkin().getProperty(
SkinProperties.AF_BREAD_CRUMBS_INDENT_SPACES);
@@ -439,6 +458,9 @@
// # of hard spaces to use in indenting vertical breadcrumbs
private static final int _INDENT_SPACES = 10;
+ // # of hard spaces to use in indenting vertical breadcrumbs
+ // in the case of narrow-screen PDAs
+ private static final int NARROW_SCREEN_INDENT_SPACES = 3;
private static final Map<String, String> _RESOURCE_KEY_MAP;
static
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/FormRenderer.java Fri Jun 19 03:59:04 2009
@@ -330,6 +330,21 @@
formData.addNeededValue(XhtmlConstants.EVENT_PARAM);
formData.addNeededValue(XhtmlConstants.PARTIAL_TARGETS_PARAM);
formData.addNeededValue(XhtmlConstants.PARTIAL_PARAM);
+
+ // In the case of Windows-mobile(WM) browsers, store the value of
+ // the request-header field, UA-pixels, into a hidden-parameter's
+ // value attribute. WM browsers' PPRs don't contain UA-pixels in
+ // their request-headers. So during a WM browser's PPR, we need to
+ // manually (using JavaScript) set the field, UA-pixels, into
+ // the request-header with the hidden parameter's value.
+
+ Map<String, String> headerMap =
+ context.getExternalContext().getRequestHeaderMap();
+
+ _renderHiddenField(writer,
+ XhtmlConstants.WINDOWS_MOBILE_UAPIXELS,
+ headerMap.get("UA-pixels"));
+
}
else
{
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/LabelAndMessageRenderer.java Fri Jun 19 03:59:04 2009
@@ -140,6 +140,10 @@
FacesContext context,
boolean needsPanelFormLayout)
{
+ // For narrow-screen PDAs, always render the Label above fields.
+ if (supportsNarrowScreen(RenderingContext.getCurrentInstance()))
+ return false;
+
if (needsPanelFormLayout)
{
Map requestMap = context.getExternalContext().getRequestMap();
@@ -233,6 +237,10 @@
rw.endElement("div");
_renderMessageCellContents(context, rc, component, bean);
}
+
+ // In the case of narrow-screen PDAs, to reduce the component's width,
+ // End facet is always rendered below.
+ renderEndFacetForNarrowPDA(context, rc, component, true);
}
else
{
@@ -356,7 +364,11 @@
rw.endElement("tr");
}
}
-
+
+ // In the case of narrow-screen PDAs, to reduce the component's width,
+ // End facet is always rendered below.
+ renderEndFacetForNarrowPDA(context, rc, component, false);
+
if (needsTableTag)
{
rw.endElement("table");
@@ -394,6 +406,14 @@
});
String labelInlineStyle = getLabelInlineStyleKey(bean);
+
+ // In the case of narrow-screen PDAs, the Label is rendered above fields.
+ // So Label should be left aligned to be in align with fields below.
+ if (supportsNarrowScreen(rc))
+ {
+ labelInlineStyle = labelInlineStyle + ";text-align: left;";
+ }
+
rw.writeAttribute("style", labelInlineStyle, null);
String valign = getDefaultLabelValign(bean);
@@ -865,6 +885,36 @@
return styleClass;
}
+ /* This method is responsible for rendering the End facet for narrow-screen
+ * PDAs. In the case of narrow-screen PDAs, End facet is rendered after the
+ * Help facet as shown below
+ * +------+
+ * |Label |
+ * +------+
+ * |Field |
+ * +----------+
+ * |Help facet|
+ * +----------+
+ * |End facet |
+ * ------------
+ * @param context a <code>FacesContext</code>
+ * @param arc a <code>RenderingContext</code>
+ * @param component a <code>UIComponent</code> the component to render
+ * @param insideTableData a <code>boolean</code> indicates whether End
+ * Facet to be rendered is in inside a table data(<TD>)
+ * @throws IOException if there are problems in rendering contents
+ */
+
+ protected void renderEndFacetForNarrowPDA(
+ FacesContext context,
+ RenderingContext rc,
+ UIComponent component,
+ boolean insideTableData)
+ throws IOException
+ {
+ // Nothing by default. Applicable only for the
+ // components that support End facet.
+ }
// If we have mapped this style (like in panelForm),
// then return the style, otherwise return null
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/NavigationPaneRenderer.java Fri Jun 19 03:59:04 2009
@@ -302,8 +302,13 @@
FacesBean bean) throws IOException
{
String renderingHint = _getHint(bean);
- if (NavigationPaneRenderer._HINT_TABS.equals(renderingHint))
- {
+
+ // Since navigation items are rendered vertically for narrow-screen PDAs,
+ // Tab style class, which sets the navigationPane's height, is no longer
+ // applicable for narrow-screen PDAs
+ if (!supportsNarrowScreen(arc) &&
+ NavigationPaneRenderer._HINT_TABS.equals(renderingHint))
+ {
renderStyleAttributes(context, arc, bean,
SkinSelectors.AF_NAVIGATION_LEVEL_TABS_STYLE_CLASS);
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputLabelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputLabelRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputLabelRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/OutputLabelRenderer.java Fri Jun 19 03:59:04 2009
@@ -480,7 +480,8 @@
Agent agent = arc.getAgent();
if ((agent != null) &&
- Agent.AGENT_BLACKBERRY.equals(agent.getAgentName()) &&
+ (Agent.AGENT_BLACKBERRY.equals(agent.getAgentName()) ||
+ Agent.AGENT_GENERICPDA.equals(agent.getAgentName())) &&
(null == messageType || "none".equals(messageType)))
{
return false;
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelFormLayoutRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelFormLayoutRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelFormLayoutRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelFormLayoutRenderer.java Fri Jun 19 03:59:04 2009
@@ -220,7 +220,20 @@
// we really need:
int actualColumns = maxColumns;
int actualRows = rows;
- Object labelAlignment = _getLabelAlignment(bean);
+ Object labelAlignment;
+
+ // In the case of narrow-screen PDAs, the label and field are rendered
+ // vertically to reduce the overall page's width. Thus, labelAlignment
+ // is always "top" for narrow-screen PDAs.
+ if (supportsNarrowScreen(rc))
+ {
+ labelAlignment = "top";
+ }
+ else
+ {
+ labelAlignment = _getLabelAlignment(bean);
+ }
+
boolean forceSingleColumn = (nestLevel != 0);
boolean startAlignedLabels = !forceSingleColumn;
if ("start".equals(labelAlignment))
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/PanelLabelAndMessageRenderer.java Fri Jun 19 03:59:04 2009
@@ -119,7 +119,10 @@
rw.startElement("td", null);
encodeAllChildren(context, component);
rw.endElement("td");
- if (end != null)
+
+ // For narrow-screen PDAs, End facet is rendered vertically
+ // below the Help facet. So skip the End facet rendering here.
+ if (end != null && !supportsNarrowScreen(arc))
{
rw.startElement("td", null);
// =-= mcc TODO apply className for "af|panelLabelAndMessage::end-facet"
@@ -184,6 +187,59 @@
return null;
}
+ /* This method is responsible for rendering the End facet for narrow-screen
+ * PDAs. In the case of narrow-screen PDAs, End facet is rendered after the
+ * Help facet as shown below
+ * +------+
+ * |Label |
+ * +------+
+ * |Field |
+ * +----------+
+ * |Help facet|
+ * +----------+
+ * |End facet |
+ * ------------
+ * @param context a <code>FacesContext</code>
+ * @param arc a <code>RenderingContext</code>
+ * @param component a <code>UIComponent</code> the component to render
+ * @param insideTableData a <code>boolean</code> indicates whether End
+ * Facet to be rendered is in inside a table data(<TD>)
+ * @throws IOException if there are problems in rendering contents
+ */
+ @Override
+ protected void renderEndFacetForNarrowPDA(
+ FacesContext context,
+ RenderingContext arc,
+ UIComponent component,
+ boolean insideTableData)
+ throws IOException
+ {
+ if (!supportsNarrowScreen(arc))
+ return;
+
+ UIComponent end = getFacet(component, CorePanelLabelAndMessage.END_FACET);
+
+ if (end != null)
+ {
+ ResponseWriter rw = context.getResponseWriter();
+
+ if (insideTableData)
+ {
+ rw.startElement("div", null);
+ encodeChild(context, end);
+ rw.endElement("div");
+ }
+ else
+ {
+ rw.startElement("tr", null);
+ rw.startElement("td", null);
+ encodeChild(context, end);
+ rw.endElement("td");
+ rw.endElement("tr");
+ }
+ }
+ }
+
private PropertyKey _forKey;
private PropertyKey _labelInlineStyleKey;
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SelectRangeChoiceBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SelectRangeChoiceBarRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SelectRangeChoiceBarRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/SelectRangeChoiceBarRenderer.java Fri Jun 19 03:59:04 2009
@@ -491,8 +491,12 @@
writer.startElement("tr", null);
}
-
- if (showBackButton)
+
+ boolean narrowScreen = supportsNarrowScreen(arc);
+
+ // skip rendering back button for narrow-screen PDAs to reduce the
+ // overall width of selectRangeChoiceBar.
+ if (showBackButton && !narrowScreen)
{
Icon prevIcon = getIcon(arc, false, (prevOnClick != null));
@@ -567,8 +571,10 @@
validate);
writer.endElement("td");
-
- if (showNextButton)
+
+ // skip rendering back button for narrow-screen PDAs to reduce the
+ // overall width of selectRangeChoiceBar.
+ if (showNextButton && !narrowScreen)
{
_renderSpacerCell(context, arc);
@@ -728,14 +734,13 @@
+ XhtmlUtils.getEncodedParameter
(XhtmlConstants.EVENT_PARAM)
+ XhtmlConstants.GOTO_EVENT;
+
+ renderSubmitButtonNonJSBrowser(context,
+ arc,
+ XhtmlConstants.
+ NO_JS_PARAMETER_KEY_BUTTON,
+ nameAttri);
- writer.startElement("span", null);
- writer.startElement("input", null);
- writer.writeAttribute("value",XhtmlConstants.NO_JS_PARAMETER_KEY_BUTTON , null);
- writer.writeAttribute("type","submit", null);
- writer.writeAttribute("name", nameAttri, null);
- writer.endElement("input");
- writer.endElement("span");
}
else
{
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlConstants.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlConstants.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlConstants.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlConstants.java Fri Jun 19 03:59:04 2009
@@ -317,4 +317,13 @@
public static final String NON_JS_DETAIL_UNDISCLOSED_ICON = "+";
public static final String NON_JS_ASC_ICON = "v";
public static final String NON_JS_DESC_ICON = "^";
+
+ // Maximum width of a narrow-screen PDA device in pixels
+ public static final int NARROW_SCREEN_PDA_MAX_WIDTH = 240;
+
+ // The name of the hidden parameter that stores the value of the
+ // request-header, UA-pixels. This hidden paramter is rendered only
+ // for windows mobile.
+ public static final String WINDOWS_MOBILE_UAPIXELS = "uapixels";
+
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/XhtmlRenderer.java Fri Jun 19 03:59:04 2009
@@ -225,6 +225,18 @@
return !Boolean.FALSE.equals(cap);
}
+ /**
+ * Returns true if an agent is a narrow-screen PDA
+ * @param context a <code>RenderingContext</code>
+ * @return a <code>boolean</code>
+ */
+
+ public static boolean supportsNarrowScreen(RenderingContext arc)
+ {
+ Object cap = arc.getAgent().getCapabilities().get(
+ TrinidadAgent.CAP_NARROW_SCREEN);
+ return Boolean.TRUE.equals(cap);
+ }
//
@@ -959,7 +971,37 @@
}
-
+ /**
+ * This method renders an input element of type "submit". The input element's
+ * name attribute is encoded with parameter name and value pairs. Thus, it
+ * would enable Non-JavaScript browsers to include the element's name in
+ * their payLoad, if the element submits the page.
+ *
+ * @param context a <code>FacesContext</code>
+ * @param arc a <code>RenderingContext</code>
+ * @param valueAttri a <code>String</code> it is the value attribute
+ * of the submit button
+ * @param nameAttri a <code>String</code> it is the name attribute
+ * of the submit button
+ *
+ */
+ public static void renderSubmitButtonNonJSBrowser(
+ FacesContext context,
+ RenderingContext arc,
+ String valueAttri,
+ String nameAttri
+ ) throws IOException
+ {
+ ResponseWriter writer = context.getResponseWriter();
+ writer.startElement("input", null);
+ writer.writeAttribute("type", "submit", null);
+ writer.writeAttribute("value", valueAttri, null);
+ writer.writeAttribute("name", nameAttri, null);
+ renderStyleClass(context, arc,
+ SkinSelectors.AF_COMMAND_BUTTON_STYLE_CLASS);
+ writer.endElement("input");
+ }
+
//
// ATTRIBUTE HOOKS
//
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/CorePanelRadioRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/CorePanelRadioRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/CorePanelRadioRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/CorePanelRadioRenderer.java Fri Jun 19 03:59:04 2009
@@ -95,9 +95,19 @@
out.endElement("span");
out.endElement("td");
-
- // Render filler / separator between label and select control
- renderSpacerTD(out, component, getLabelControlSeparatorSize());
+
+ // render label and radio control vertically for narrow-screen PDAs
+ if (XhtmlRenderer.supportsNarrowScreen
+ (RenderingContext.getCurrentInstance()))
+ {
+ out.endElement("tr");
+ out.startElement("tr", null);
+ }
+ else
+ {
+ // Render filler / separator between label and select control
+ renderSpacerTD(out, component, getLabelControlSeparatorSize());
+ }
_renderRadioItemsInTD(context,
component,
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/html/layout/ShowOneListRendererBase.java Fri Jun 19 03:59:04 2009
@@ -135,19 +135,33 @@
throws IOException
{
writeAdditionalJS(context, component); // To spit out additional JS if any
- String alignment = _getAlignment(component);
- if (alignment == null)
+ String position;
+ String alignment;
+
+ // In the case of narrow-screen PDAs, to reduce component's width,
+ // position is always top and alignment is always left.
+ if(XhtmlRenderer.supportsNarrowScreen
+ (RenderingContext.getCurrentInstance()))
{
- alignment = _ALIGNMENT_DEFAULT_VALUE;
+ position = _POSITION_TOP;
+ alignment = _ALIGNMENT_LEFT;
}
- // No need to check for invalid value of alignment attr value as
- // it's handled below.
-
- // If the position is either null or an invalid value, default it.
- String position = _getPosition(component);
- if (! positionMap.containsKey(position))
+ else
{
- position = _POSITION_DEFAULT_VALUE;
+ alignment = _getAlignment(component);
+ if (alignment == null)
+ {
+ alignment = _ALIGNMENT_DEFAULT_VALUE;
+ }
+ // No need to check for invalid value of alignment attr value as
+ // it's handled below.
+
+ // If the position is either null or an invalid value, default it.
+ position = _getPosition(component);
+ if (! positionMap.containsKey(position))
+ {
+ position = _POSITION_DEFAULT_VALUE;
+ }
}
_LOG.finest("ShowOneListRendererBase.encodeChildren: alignment: {0}, position: {1} ",
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/BaseLafRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/BaseLafRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/BaseLafRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/BaseLafRenderer.java Fri Jun 19 03:59:04 2009
@@ -1094,6 +1094,16 @@
RequestContext.Accessibility.SCREEN_READER;
}
+ /**
+ * Returns true if a user agent is a narrow-screen PDA
+ * @param context a <code>UIXRenderingContext</code>
+ * @return a <code>boolean</code>
+ */
+ public static boolean supportsNarrowScreen(UIXRenderingContext context)
+ {
+ return getBooleanAgentCapability(context,
+ TrinidadAgent.CAP_NARROW_SCREEN);
+ }
private static final String _BASE_IMAGE_URI_PROPERTY = "baseImageURI";
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/ProcessChoiceBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/ProcessChoiceBarRenderer.java?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/ProcessChoiceBarRenderer.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/ProcessChoiceBarRenderer.java Fri Jun 19 03:59:04 2009
@@ -28,6 +28,7 @@
import org.apache.myfaces.trinidad.component.UIXProcess;
import org.apache.myfaces.trinidad.component.core.layout.CorePanelButtonBar;
+import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SkinSelectors;
import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlConstants;
import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlUtils;
import org.apache.myfaces.trinidadinternal.share.url.FormEncoder;
@@ -213,6 +214,8 @@
boolean showBackButton = backButtonIndex != ProcessUtils.NO_INDEX;
boolean showNextButton = nextButtonIndex != ProcessUtils.NO_INDEX;
+
+ boolean narrowScreenPDA = supportsNarrowScreen(context);
// bail if no buttons shown
if (!showBackButton && !showNextButton)
@@ -245,6 +248,12 @@
}
UINode backButton = null;
+ Object nonJSBackButtonText = null;
+
+ // In the case of narrow-screen PDAs, the next and previous buttons
+ // are not rendered to reduce the component's width.
+ showBackButton = showBackButton && !narrowScreenPDA;
+ showNextButton = showNextButton && !narrowScreenPDA;
// set up the back button
if (showBackButton)
@@ -287,6 +296,10 @@
null,
null));
}
+ else
+ {
+ nonJSBackButtonText = buttonTextBV;
+ }
}
UINode nextButton = null;
@@ -368,6 +381,7 @@
Integer.toString(1)});
context.setLocalProperty(_NON_JS_NEXT_BUTTON_NAME_ATTR, nameAttri);
+ context.setLocalProperty(_NON_JS_NEXT_BUTTON_TEXT, buttonTextBV);
}
}
@@ -413,11 +427,11 @@
Long.toString(selectedIndex - 1),
SIZE_PARAM,
Integer.toString(0)});
-
- _renderSubmitButtonNonJSBrowser(
- context,
- XhtmlConstants.NO_JS_PARAMETER_BACK_BUTTON,
- nameAttri );
+
+ String buttonText = ((AccessKeyBoundValue)nonJSBackButtonText)
+ .getValue(context).toString();
+
+ _renderSubmitButtonNonJSBrowser(context, buttonText, nameAttri);
}
writer.endElement("td");
@@ -519,13 +533,18 @@
_renderSpacerCell(context);
writer.startElement("td", null);
+
+ Object nextButtonText = context.getLocalProperty(
+ 0, _NON_JS_NEXT_BUTTON_TEXT, null);
+
+ String buttonText = ((AccessKeyBoundValue)nextButtonText)
+ .getValue(context).toString();
- _renderSubmitButtonNonJSBrowser(
- context,
- XhtmlConstants.NO_JS_PARAMETER_NEXT_BUTTON,
- nextButtonNameAttr );
+ _renderSubmitButtonNonJSBrowser(context, buttonText,
+ nextButtonNameAttr );
context.setLocalProperty(_NON_JS_NEXT_BUTTON_NAME_ATTR, null);
+ context.setLocalProperty(_NON_JS_NEXT_BUTTON_TEXT, null);
}
}
@@ -808,6 +827,8 @@
renderAttribute(context, "type", "submit");
renderAttribute(context, "value", valueAttri);
renderAttribute(context, "name", nameAttri);
+ renderStyleClassAttribute(context,
+ SkinSelectors.AF_COMMAND_BUTTON_STYLE_CLASS);
writer.endElement("input");
}
@@ -826,5 +847,6 @@
static private final Object _NEXT_BUTTON_KEY = new Object();
static private final Object _NEW_PATH_KEY = new Object();
static private final Object _NON_JS_NEXT_BUTTON_NAME_ATTR = new Object();
+ static private final Object _NON_JS_NEXT_BUTTON_TEXT = new Object();
}
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Core.js Fri Jun 19 03:59:04 2009
@@ -1847,7 +1847,23 @@
// WM5.
if (isPartial && _supportsPPR())
{
- TrPage.getInstance().sendPartialFormPost(form, parameters);
+ // In the case of Windows-mobile(WM) browsers, during rendering,
+ // Trinidad stores the value of the request-header field, UA-pixels,
+ // into a hidden-parameter's value attribute. WM browsers' PPRs don't
+ // contain UA-pixels in their request-headers. So during a WM browser's
+ // PPR, we need to manually set the field, UA-pixels, into the
+ // request-header with the hidden parameter's value.
+
+ if (_agent.isPIE || _agent.isWindowsMobile6)
+ {
+ var header = new Array(1);
+ header['UA-pixels'] = form.elements['uapixels'].value;
+ TrPage.getInstance().sendPartialFormPost(form, parameters, header);
+ }
+ else
+ {
+ TrPage.getInstance().sendPartialFormPost(form, parameters);
+ }
}
else
{
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/blackberry9000.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/blackberry9000.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/blackberry9000.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/blackberry9000.xml Fri Jun 19 03:59:04 2009
@@ -23,5 +23,5 @@
<capability name="accessKeys" value="true"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-imageStretch" value="true"/>
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="partialRendering" value="true"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/gecko.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/gecko.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/gecko.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/gecko.xml Fri Jun 19 03:59:04 2009
@@ -21,7 +21,7 @@
<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
<capability name="dom" value="level2"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="partialRendering" value="true"/>
<capability name="-adfinternal-imageStretch" value="true"/>
<capability name="-adfinternal-pngImage" value="true"/>
<capability name="-adfinternal-transparentPngImage" value="true"/>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/html.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/html.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/html.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/html.xml Fri Jun 19 03:59:04 2009
@@ -27,7 +27,7 @@
<capability name="-adfinternal-advancedForms" value="true"/>
<capability name="-adfinternal-target" value="true"/>
<capability name="-adfinternal-intrinsicEvents" value="true"/>
- <capability name="-adfinternal-scriptingSpeed" value="slow"/>
+ <capability name="scriptingSpeed" value="slow"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
<capability name="-adfinternal-nameIdentification" value="true"/>
<capability name="-adfinternal-advancedButtons" value="true"/>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/htmlBasic.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/htmlBasic.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/htmlBasic.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/htmlBasic.xml Fri Jun 19 03:59:04 2009
@@ -29,7 +29,7 @@
<capability name="-adfinternal-advancedForms" value="false"/>
<capability name="-adfinternal-target" value="false"/>
<capability name="-adfinternal-intrinsicEvents" value="false"/>
- <capability name="-adfinternal-scriptingSpeed" value="none"/>
+ <capability name="scriptingSpeed" value="none"/>
<capability name="-adfinternal-styleAttributes" value="none"/>
<capability name="-adfinternal-nameIdentification" value="false"/>
<capability name="-adfinternal-disabledFormElements" value="true"/>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie.xml Fri Jun 19 03:59:04 2009
@@ -19,7 +19,7 @@
-->
<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
- <capability name="-adfinternal-scriptingSpeed" value="fast"/>
+ <capability name="scriptingSpeed" value="fast"/>
<capability name="-adfinternal-pngImage" value="true"/>
<capability name="-adfinternal-transparentPngImage" value="true"/>
<capability name="-adfinternal-altRendersTooltipOnImage" value="true"/>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie55win.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie55win.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie55win.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/ie55win.xml Fri Jun 19 03:59:04 2009
@@ -19,5 +19,5 @@
-->
<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="partialRendering" value="true"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/netfront.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/netfront.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/netfront.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/netfront.xml Fri Jun 19 03:59:04 2009
@@ -25,9 +25,10 @@
<capability name="-adfinternal-intrinsicEvents" value="true"/>
<capability name="-adfinternal-disabledFormElements" value="false"/>
<capability name="-adfinternal-readonlyFormElements" value="false"/>
- <capability name="-adfinternal-scriptingSpeed" value="slow"/>
+ <capability name="scriptingSpeed" value="slow"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-valign" value="true"/>
</capabilityData>
+
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/nokia_S60.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/nokia_S60.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/nokia_S60.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/nokia_S60.xml Fri Jun 19 03:59:04 2009
@@ -19,5 +19,5 @@
-->
<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
- <capability name="-adfinternal-partialRendering" value="false"/>
+ <capability name="partialRendering" value="false"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pdaGeneric.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pdaGeneric.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pdaGeneric.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pdaGeneric.xml Fri Jun 19 03:59:04 2009
@@ -26,4 +26,5 @@
<capability name="-adfinternal-advancedButtons" value="false"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
+ <capability name="narrowScreen" value="true"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie.xml Fri Jun 19 03:59:04 2009
@@ -31,8 +31,8 @@
<capability name="-adfinternal-disabledFormElements" value="true"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
- <capability name="-adfinternal-scriptingSpeed" value="slow"/>
- <capability name="-adfinternal-partialRendering" value="false"/>
+ <capability name="scriptingSpeed" value="slow"/>
+ <capability name="partialRendering" value="false"/>
<capability name="-adfinternal-xmldom" value="true"/>
<capability name="-adfinternal-onclick-input" value="true"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie03.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie03.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie03.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/pocketie03.xml Fri Jun 19 03:59:04 2009
@@ -23,8 +23,8 @@
<capability name="-adfinternal-disabledFormElements" value="true"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
- <capability name="-adfinternal-scriptingSpeed" value="slow"/>
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="scriptingSpeed" value="slow"/>
+ <capability name="partialRendering" value="true"/>
<capability name="-adfinternal-xmldom" value="true"/>
<capability name="-adfinternal-onclick-input" value="true"/>
<capability name="-adfinternal-onclickOnImgInput" value="false"/>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/webkit312.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/webkit312.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/webkit312.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/webkit312.xml Fri Jun 19 03:59:04 2009
@@ -20,5 +20,5 @@
-->
<capabilityData xmlns="http://myfaces.apache.org/trinidad/agent/capabilities">
<capability name="accessKeys" value="true"/>
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="partialRendering" value="true"/>
</capabilityData>
Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/wm6.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/wm6.xml?rev=786363&r1=786362&r2=786363&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/wm6.xml (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/resources/META-INF/agent/wm6.xml Fri Jun 19 03:59:04 2009
@@ -23,8 +23,8 @@
<capability name="-adfinternal-disabledFormElements" value="true"/>
<capability name="-adfinternal-cssSelectors" value="multiple"/>
<capability name="-adfinternal-styleAttributes" value="external"/>
- <capability name="-adfinternal-scriptingSpeed" value="slow"/>
- <capability name="-adfinternal-partialRendering" value="true"/>
+ <capability name="scriptingSpeed" value="slow"/>
+ <capability name="partialRendering" value="true"/>
<capability name="-adfinternal-xmldom" value="true"/>
<capability name="-adfinternal-onclick-input" value="true"/>
<capability name="-adfinternal-onclickOnImgInput" value="false"/>