You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/06/05 21:02:53 UTC

svn commit: r1346536 - in /ofbiz/branches/20120329_portletWidget: framework/widget/src/org/ofbiz/widget/form/ framework/widget/src/org/ofbiz/widget/screen/ framework/widget/templates/ specialpurpose/example/data/ themes/bizznesstime/webapp/bizznesstime...

Author: erwan
Date: Tue Jun  5 19:02:52 2012
New Revision: 1346536

URL: http://svn.apache.org/viewvc?rev=1346536&view=rev
Log:
Adding OFBIZ-4889 to portlet widget branch

Added:
    ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/images/navigation.png   (with props)
Modified:
    ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
    ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java
    ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlScreenMacroLibrary.ftl
    ofbiz/branches/20120329_portletWidget/specialpurpose/example/data/ExampleDemoData.xml
    ofbiz/branches/20120329_portletWidget/themes/bizznesstime/webapp/bizznesstime/css/style.css
    ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/style.css
    ofbiz/branches/20120329_portletWidget/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
    ofbiz/branches/20120329_portletWidget/themes/flatgrey/webapp/flatgrey/maincss.css
    ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/css/style.css
    ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/bkgd_header.gif
    ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/ptrn_button_hover.gif

Modified: ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original)
+++ ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Tue Jun  5 19:02:52 2012
@@ -837,7 +837,10 @@ public class ModelForm extends ModelWidg
      */
     public void renderFormString(Appendable writer, Map<String, Object> context, FormStringRenderer formStringRenderer) throws IOException {
         //  increment the paginator, only for list and multi forms
+        Boolean PAGINATOR_AND_ACTION_DONE = null; // #Eam# screenlet navigationForm
         if ("list".equals(this.type) || "multi".equals(this.type)) {
+            Map<String, Object> globalCtx = UtilGenerics.checkMap(context.get("globalContext")); // #Eam# screenlet navigationForm
+            PAGINATOR_AND_ACTION_DONE = (Boolean) globalCtx.get("NO_PAGINATOR"); // #Eam# screenlet navigationForm
             WidgetWorker.incrementPaginatorNumber(context);
         }
 
@@ -850,7 +853,9 @@ public class ModelForm extends ModelWidg
         context.put("viewIndex", this.getViewIndex(context));
         context.put("viewSize", this.getViewSize(context));
 
-        runFormActions(context);
+        if (UtilValidate.isEmpty(PAGINATOR_AND_ACTION_DONE)) { // #Eam# screenlet navigationForm
+            runFormActions(context);
+        }  // #Eam# screenlet navigationForm
 
         // if this is a list form, don't useRequestParameters
         if ("list".equals(this.type) || "multi".equals(this.type)) {

Modified: ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java (original)
+++ ofbiz/branches/20120329_portletWidget/framework/widget/src/org/ofbiz/widget/screen/MacroScreenRenderer.java Tue Jun  5 19:02:52 2012
@@ -55,7 +55,7 @@ import org.ofbiz.widget.ModelWidget;
 import org.ofbiz.widget.WidgetContentWorker;
 import org.ofbiz.widget.WidgetDataResourceWorker;
 import org.ofbiz.widget.WidgetWorker;
-import org.ofbiz.widget.form.FormStringRenderer;
+//import org.ofbiz.widget.form.FormStringRenderer;  #Bam# PortletWidget : screenlet navigationForm
 import org.ofbiz.widget.form.MacroFormRenderer;
 import org.ofbiz.widget.form.ModelForm;
 import org.ofbiz.widget.html.HtmlScreenRenderer.ScreenletMenuRenderer;
@@ -78,7 +78,7 @@ public class MacroScreenRenderer impleme
     private String rendererName;
     private int elementId = 999;
     protected boolean widgetCommentsEnabled = false;
-    private static final String formrenderer = UtilProperties.getPropertyValue("widget", "screen.formrenderer");
+    //private static final String formrenderer = UtilProperties.getPropertyValue("widget", "screen.formrenderer"); #Bam# PortletWidget : screenlet navigationForm
 
     public MacroScreenRenderer(String name, String macroLibraryPath) throws TemplateException, IOException {
         macroLibrary = FreeMarkerWorker.getTemplate(macroLibraryPath);
@@ -625,9 +625,14 @@ public class MacroScreenRenderer impleme
                 context.put("menuStringRenderer", renderer);
                 navMenu.renderWidgetString(sb, context, this);
                 context.put("menuStringRenderer", savedRenderer);
+            // #Bam# PortletWidget screenlet navigationForm
+            /*
             } else if (navForm != null) {
                 renderScreenletPaginateMenu(sb, context, navForm);
             }
+            */
+            }
+            // #Bam# PortletWidget screenlet navigationForm
             menuString = sb.toString();
         }
 
@@ -645,11 +650,35 @@ public class MacroScreenRenderer impleme
         parameters.put("showMore", showMore);
         parameters.put("collapsed", collapsed);
         parameters.put("javaScriptEnabled", javaScriptEnabled);
+       // #Bam# PortletWidget screenlet navigationForm
+        /*
         executeMacro(writer, "renderScreenletBegin", parameters);
+        */
+        String macroName = "renderScreenletBegin";
+        if (navForm != null) {
+            Map<String, Object> paramNav = preparePaginateData(context, navForm.getModelForm(context));
+            int listSize = (Integer) paramNav.get("listSize");
+            int viewSize = (Integer) paramNav.get("viewSize");
+            if (listSize > viewSize){
+                parameters.putAll(paramNav);
+                macroName = "renderScreenletBeginWithPaginate";
+            }
+        } 
+        executeMacro(writer, macroName, parameters);
+        // #Bam# PortletWidget screenlet navigationForm
     }
 
     public void renderScreenletSubWidget(Appendable writer, Map<String, Object> context, ModelScreenWidget subWidget, ModelScreenWidget.Screenlet screenlet) throws GeneralException, IOException  {
         if (subWidget.equals(screenlet.getNavigationForm())) {
+           // #Bam# PortletWidget : screenlet navigationForm
+            Map<String, Object> globalCtx = UtilGenerics.checkMap(context.get("globalContext"));
+            globalCtx.put("NO_PAGINATOR", true);
+            MacroFormRenderer formRenderer = (MacroFormRenderer) context.get("formStringRenderer"); // in MacroScreenRenderer it should be a MacroForm
+            boolean previousRenderPagination = formRenderer.getRenderPagination();
+            formRenderer.setRenderPagination(false);
+            subWidget.renderWidgetString(writer, context, this);
+            formRenderer.setRenderPagination(previousRenderPagination);
+            /*
             HttpServletRequest request = (HttpServletRequest) context.get("request");
             HttpServletResponse response = (HttpServletResponse) context.get("response");
             if (request != null && response != null) {
@@ -667,6 +696,8 @@ public class MacroScreenRenderer impleme
                 subWidget.renderWidgetString(writer, context, this);
                 context.put("formStringRenderer", savedRenderer);
             }
+            */ 
+            // #Eam# PortletWidget : screenlet navigationForm
         } else {
             subWidget.renderWidgetString(writer, context, this);
         }
@@ -681,6 +712,12 @@ public class MacroScreenRenderer impleme
         ModelForm modelForm = form.getModelForm(context);
         modelForm.runFormActions(context);
         modelForm.preparePager(context);
+        //#Bam# portletWidget : screenlet navigationForm
+        context.put("forScreenlet", "Y");
+        MacroFormRenderer formStringRenderer = (MacroFormRenderer) context.get("formStringRenderer");
+        formStringRenderer.renderNextPrev(writer, context, modelForm);
+        //#Eam# portletWidget
+
         String targetService = modelForm.getPaginateTarget(context);
         if (targetService == null) {
             targetService = "${targetService}";
@@ -798,6 +835,226 @@ public class MacroScreenRenderer impleme
         executeMacro(writer, "renderScreenletPaginateMenu", parameters);
     }
 
+    //#Bam# portletWidget screenlet navigation Form
+    public Map<String, Object> preparePaginateData(Map<String, Object> context, ModelForm modelForm) { 
+        boolean ajaxEnabled = false; 
+        HttpServletRequest request = (HttpServletRequest) context.get("request"); 
+        HttpServletResponse response = (HttpServletResponse) context.get("response"); 
+        ServletContext ctx = (ServletContext) request.getAttribute("servletContext"); 
+        RequestHandler rh = (RequestHandler) ctx.getAttribute("_REQUEST_HANDLER_"); 
+        Map<String, Object> inputFields = UtilGenerics.checkMap(context.get("requestParameters")); 
+        Map<String, Object> queryStringMap = UtilGenerics.toMap(context.get("queryStringMap")); 
+        if (UtilValidate.isNotEmpty(queryStringMap)) { 
+            inputFields.putAll(queryStringMap); 
+        } 
+        if (modelForm.getType().equals("multi")) { 
+            inputFields = UtilHttp.removeMultiFormParameters(inputFields); 
+        } 
+        String queryString = UtilHttp.urlEncodeArgs(inputFields); 
+        List<ModelForm.UpdateArea> updateAreas = modelForm.getOnPaginateUpdateAreas(); 
+        modelForm.runFormActions(context); 
+        modelForm.preparePager(context); 
+        String targetService = modelForm.getPaginateTarget(context); 
+        if (UtilHttp.isJavaScriptEnabled(request)) { 
+            if (UtilValidate.isNotEmpty(updateAreas)) { 
+                ajaxEnabled = true; 
+            } 
+        } 
+        if (targetService == null) { 
+            targetService = "${targetService}"; 
+        } 
+ 
+        // get the parameterized pagination index and size fields 
+        int paginatorNumber = WidgetWorker.getPaginatorNumber(context); 
+        String viewIndexParam = modelForm.getMultiPaginateIndexField(context); 
+        String viewSizeParam = modelForm.getMultiPaginateSizeField(context); 
+ 
+        int viewIndex = modelForm.getViewIndex(context); 
+        int viewSize = modelForm.getViewSize(context); 
+        int listSize = modelForm.getListSize(context); 
+ 
+        int lowIndex = modelForm.getLowIndex(context); 
+        int highIndex = modelForm.getHighIndex(context); 
+        int actualPageSize = modelForm.getActualPageSize(context); 
+ 
+        // needed for the "Page" and "rows" labels 
+        Map<String, String> uiLabelMap = UtilGenerics.checkMap(context.get("uiLabelMap")); 
+        String pageLabel = ""; 
+        String commonDisplaying = ""; 
+        if (uiLabelMap == null) { 
+            Debug.logWarning("Could not find uiLabelMap in context", module); 
+        } else { 
+            pageLabel = uiLabelMap.get("CommonPage"); 
+            Map<String, Integer> messageMap = UtilMisc.toMap("lowCount", Integer.valueOf(lowIndex + 1), "highCount", Integer.valueOf(lowIndex + actualPageSize), "total", Integer.valueOf(listSize)); 
+            commonDisplaying = UtilProperties.getMessage("CommonUiLabels", "CommonDisplaying", messageMap, (Locale) context.get("locale")); 
+        } 
+ 
+        // for legacy support, the viewSizeParam is VIEW_SIZE and viewIndexParam is VIEW_INDEX when the fields are "viewSize" and "viewIndex" 
+        if (viewIndexParam.equals("viewIndex" + "_" + paginatorNumber)) viewIndexParam = "VIEW_INDEX" + "_" + paginatorNumber; 
+        if (viewSizeParam.equals("viewSize" + "_" + paginatorNumber)) viewSizeParam = "VIEW_SIZE" + "_" + paginatorNumber; 
+ 
+ 
+        // strip legacy viewIndex/viewSize params from the query string 
+        queryString = UtilHttp.stripViewParamsFromQueryString(queryString, "" + paginatorNumber); 
+ 
+        // strip parameterized index/size params from the query string 
+        HashSet<String> paramNames = new HashSet<String>(); 
+        paramNames.add(viewIndexParam); 
+        paramNames.add(viewSizeParam); 
+        queryString = UtilHttp.stripNamedParamsFromQueryString(queryString, paramNames); 
+ 
+        String anchor = ""; 
+        String paginateAnchor = modelForm.getPaginateTargetAnchor(); 
+        if (UtilValidate.isNotEmpty(paginateAnchor)) anchor = "#" + paginateAnchor; 
+ 
+        // Create separate url path String and request parameters String, 
+        // add viewIndex/viewSize parameters to request parameter String 
+        String urlPath = UtilHttp.removeQueryStringFromTarget(targetService); 
+        String prepLinkText = UtilHttp.getQueryStringFromTarget(targetService); 
+        String prepLinkSizeText; 
+ 
+        if (UtilValidate.isNotEmpty(queryString)) { 
+            queryString = UtilHttp.encodeAmpersands(queryString); 
+        } 
+         
+        if (prepLinkText == null) { 
+            prepLinkText = ""; 
+        } 
+        if (prepLinkText.indexOf("?") < 0) { 
+            prepLinkText += "?"; 
+        } else if (!prepLinkText.endsWith("?")) { 
+            prepLinkText += "&amp;"; 
+        } 
+        if (!UtilValidate.isEmpty(queryString) && !queryString.equals("null")) { 
+            prepLinkText += queryString + "&amp;"; 
+        } 
+        prepLinkSizeText = prepLinkText + viewSizeParam + "='+this.value+'" + "&amp;" + viewIndexParam + "=0"; 
+        prepLinkText += viewSizeParam + "=" + viewSize + "&amp;" + viewIndexParam + "="; 
+        if (ajaxEnabled) { 
+            // Prepare params for prototype.js 
+            prepLinkText = prepLinkText.replace("?", ""); 
+            prepLinkText = prepLinkText.replace("&amp;", "&"); 
+        } 
+        String linkText; 
+        String paginateStyle = modelForm.getPaginateStyle(); 
+        String paginateFirstStyle = modelForm.getPaginateFirstStyle(); 
+        String paginateFirstLabel = modelForm.getPaginateFirstLabel(context); 
+        String firstUrl = ""; 
+        String ajaxFirstUrl = ""; 
+        String paginatePreviousStyle = modelForm.getPaginatePreviousStyle(); 
+        String paginatePreviousLabel = modelForm.getPaginatePreviousLabel(context); 
+        String previousUrl = ""; 
+        String ajaxPreviousUrl = ""; 
+        String selectUrl = ""; 
+        String ajaxSelectUrl = ""; 
+        String paginateViewSizeLabel = modelForm.getPaginateViewSizeLabel(context); 
+        String selectSizeUrl = ""; 
+        String ajaxSelectSizeUrl = ""; 
+        String paginateNextStyle = modelForm.getPaginateNextStyle(); 
+        String paginateNextLabel = modelForm.getPaginateNextLabel(context); 
+        String nextUrl = ""; 
+        String ajaxNextUrl = ""; 
+        String paginateLastStyle = modelForm.getPaginateLastStyle(); 
+        String paginateLastLabel = modelForm.getPaginateLastLabel(context); 
+        String lastUrl = ""; 
+        String ajaxLastUrl = ""; 
+ 
+        if (viewIndex > 0) { 
+            if (ajaxEnabled) { 
+                ajaxFirstUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkText + 0 + anchor, context); 
+            } else { 
+                linkText = prepLinkText + 0 + anchor; 
+                firstUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+        if (viewIndex > 0) { 
+            if (ajaxEnabled) { 
+                ajaxPreviousUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkText + (viewIndex - 1) + anchor, context); 
+            } else { 
+                linkText = prepLinkText + (viewIndex - 1) + anchor; 
+                previousUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+        // Page select dropdown 
+        if (listSize > 0 && ajaxEnabled) { 
+            if (ajaxEnabled) { 
+                ajaxSelectUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkText + "' + this.value + '", context); 
+            } else { 
+                linkText = prepLinkText; 
+                if (linkText.startsWith("/")) { 
+                    linkText = linkText.substring(1); 
+                } 
+                selectUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+ 
+        // Next button 
+        if (highIndex < listSize) { 
+            if (ajaxEnabled) { 
+                ajaxNextUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkText + (viewIndex + 1) + anchor, context); 
+            } else { 
+                linkText = prepLinkText + (viewIndex + 1) + anchor; 
+                nextUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+ 
+        // Last button 
+        if (highIndex < listSize) { 
+            if (ajaxEnabled) { 
+                ajaxLastUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkText + (listSize / viewSize) + anchor, context); 
+            } else { 
+                linkText = prepLinkText + (listSize / viewSize) + anchor; 
+                lastUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+ 
+        // Page size select dropdown 
+        if (listSize > 0 && ajaxEnabled) { 
+            if (ajaxEnabled) { 
+                ajaxSelectSizeUrl = createAjaxParamsFromUpdateAreas(rh, request, response, updateAreas, prepLinkSizeText + anchor, context); 
+            } else { 
+                linkText = prepLinkSizeText; 
+                if (linkText.startsWith("/")) { 
+                    linkText = linkText.substring(1); 
+                } 
+                selectSizeUrl = rh.makeLink(request, response, urlPath + linkText); 
+            } 
+        } 
+ 
+        Map<String, Object> navigationData = FastMap.newInstance(); 
+        navigationData.put("paginateStyle", paginateStyle); 
+        navigationData.put("paginateFirstStyle", paginateFirstStyle); 
+        navigationData.put("viewIndex", viewIndex); 
+        navigationData.put("highIndex", highIndex); 
+        navigationData.put("listSize", listSize); 
+        navigationData.put("viewSize", viewSize); 
+        navigationData.put("ajaxEnabled", ajaxEnabled); 
+//        navigationData.put("javaScriptEnabled", Boolean.toString(ajaxEnabled)); 
+        navigationData.put("ajaxFirstUrl", ajaxFirstUrl); 
+        navigationData.put("firstUrl", firstUrl); 
+        navigationData.put("paginateFirstLabel", paginateFirstLabel); 
+        navigationData.put("paginatePreviousStyle", paginatePreviousStyle); 
+        navigationData.put("ajaxPreviousUrl", ajaxPreviousUrl); 
+        navigationData.put("previousUrl", previousUrl); 
+        navigationData.put("paginatePreviousLabel", paginatePreviousLabel); 
+        navigationData.put("pageLabel", pageLabel); 
+        navigationData.put("ajaxSelectUrl", ajaxSelectUrl); 
+        navigationData.put("selectUrl", selectUrl); 
+        navigationData.put("ajaxSelectSizeUrl", ajaxSelectSizeUrl); 
+        navigationData.put("selectSizeUrl", selectSizeUrl); 
+        navigationData.put("commonDisplaying", commonDisplaying); 
+        navigationData.put("paginateNextStyle", paginateNextStyle); 
+        navigationData.put("ajaxNextUrl", ajaxNextUrl); 
+        navigationData.put("nextUrl", nextUrl); 
+        navigationData.put("paginateNextLabel", paginateNextLabel); 
+        navigationData.put("paginateLastStyle", paginateLastStyle); 
+        navigationData.put("ajaxLastUrl", ajaxLastUrl); 
+        navigationData.put("lastUrl", lastUrl); 
+        navigationData.put("paginateLastLabel", paginateLastLabel); 
+        navigationData.put("paginateViewSizeLabel", paginateViewSizeLabel); 
+        return navigationData; 
+ 
+    } 
     /** Create an ajaxXxxx JavaScript CSV string from a list of UpdateArea objects. See 
      * <code>selectall.js</code>. 
      * @param updateAreas 

Modified: ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlScreenMacroLibrary.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlScreenMacroLibrary.ftl?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlScreenMacroLibrary.ftl (original)
+++ ofbiz/branches/20120329_portletWidget/framework/widget/templates/htmlScreenMacroLibrary.ftl Tue Jun  5 19:02:52 2012
@@ -321,6 +321,65 @@ ${menuString}
       </#if>
 </#macro>
 
+<#--#Bam# portletWidget screenlet navigation form (ajax) -->
+<#macro renderScreenletBeginWithPaginate id title collapsible saveCollapsed collapsibleAreaId expandToolTip collapseToolTip fullUrlString padded menuString showMore collapsed javaScriptEnabled paginateStyle paginateFirstStyle viewIndex highIndex listSize viewSize ajaxEnabled javaScriptEnabled ajaxFirstUrl firstUrl paginateFirstLabel paginatePreviousStyle ajaxPreviousUrl previousUrl paginatePreviousLabel pageLabel ajaxSelectUrl selectUrl ajaxSelectSizeUrl selectSizeUrl commonDisplaying paginateNextStyle ajaxNextUrl nextUrl paginateNextLabel paginateLastStyle ajaxLastUrl lastUrl paginateLastLabel paginateViewSizeLabel>
+<div class="screenlet"<#if id?has_content> id="${id}"</#if>><#rt/>
+<#if showMore>
+<div class="screenlet-title-bar-pager">
+        <ul>
+<#if title?has_content>
+            <li class="h3">${title}</li>
+</#if>
+            <li>&nbsp;</li>
+<#if listSize gt viewSize>
+            <li class="${paginateFirstStyle}<#if viewIndex gt 0>"><a href="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxFirstUrl}')<#else>${firstUrl}</#if>">${paginateFirstLabel}</a><#else>-disabled"><span>${paginateFirstLabel}</span></#if></li>
+            <li class="${paginatePreviousStyle}<#if viewIndex gt 0>"><a href="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxPreviousUrl}')<#else>${previousUrl}</#if>">${paginatePreviousLabel}</a><#else>-disabled"><span>${paginatePreviousLabel}</span></#if></li>
+     <#if listSize gt 0 && javaScriptEnabled>
+            <li class="nav-page-select">${pageLabel} 
+                <select name="page" size="1" onchange="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxSelectUrl}')<#else>location.href='${selectUrl}'+this.value;</#if>"><#rt/>
+        <#assign x=Static["java.lang.Math"].floor(listSize/viewSize)>
+        <#if listSize gt (viewIndex*viewSize)><#assign x=x+1></#if>
+        <#list 1..x as i>
+            <#if i == (viewIndex+1)><option selected="selected" value="<#else><option value="</#if>${i-1}">${i}</option>
+        </#list>
+                </select>
+            </li>
+    </#if>
+            <li class="${paginateNextStyle}<#if highIndex lt listSize>"><a href="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxNextUrl}')<#else>${nextUrl}</#if>">${paginateNextLabel}</a><#else>-disabled"><span>${paginateNextLabel}</span></#if></li>
+            <li class="${paginateLastStyle}<#if highIndex lt listSize>"><a href="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxLastUrl}')<#else>${lastUrl}</#if>">${paginateLastLabel}</a><#else>-disabled"><span>${paginateLastLabel}</span></#if></li>
+    <#if javaScriptEnabled>
+            <li class="nav-pagesize">
+                <select name="pageSize" size="1" onchange="<#if ajaxEnabled>javascript:ajaxUpdateAreas('${ajaxSelectSizeUrl}')<#else>location.href='${selectSizeUrl}';</#if>"><#rt/>
+        <#assign availPageSizes = [20, 30, 50, 100, 200]>
+        <#list availPageSizes as ps>
+                    <option <#if viewSize == ps>selected="selected" </#if> value="${ps}">${ps}</option>
+        </#list>
+                </select> ${paginateViewSizeLabel}
+            </li>
+            <li>&nbsp;</li>
+    </#if>
+</#if>
+
+<#if collapsible>
+            <li class="<#rt/>
+    <#if collapsed>
+collapsed"><a <#if javaScriptEnabled>onclick="javascript:toggleScreenlet(this, '${collapsibleAreaId}', '${saveCollapsed?string}', '${expandToolTip}', '${collapseToolTip}');"<#else>href="${fullUrlString}"</#if><#if expandToolTip?has_content> title="${expandToolTip}"</#if>
+    <#else>
+expanded nav-displaying"><a <#if javaScriptEnabled>onclick="javascript:toggleScreenlet(this, '${collapsibleAreaId}', '${saveCollapsed?string}', '${expandToolTip}', '${collapseToolTip}');"<#else>href="${fullUrlString}"</#if><#if collapseToolTip?has_content> title="${collapseToolTip}"</#if>
+    </#if>>&nbsp;</a>
+            </li>
+            <#if listSize gt viewSize>
+            <li class="nav-displaying">${commonDisplaying}</li>
+            </#if>
+</#if>
+        </ul>
+
+</div>
+<#if menuString?has_content><div class="screenlet-title-bar"><ul>${menuString}</ul></div></#if><#--#Eam# portletWidget -->
+</#if>
+<div <#if collapsibleAreaId?has_content> id="${collapsibleAreaId}" <#if collapsed> style="display: none;"</#if></#if><#if padded> class="screenlet-body"<#else> class="screenlet-body no-padding"</#if>>
+</#macro>
+<#--#Eam# portletWidget navigation form (ajax)-->
 <#--#Bam# portletWidget
 <#macro renderPortalPagePortletEnd confMode="false">
 -->

Modified: ofbiz/branches/20120329_portletWidget/specialpurpose/example/data/ExampleDemoData.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/specialpurpose/example/data/ExampleDemoData.xml?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/specialpurpose/example/data/ExampleDemoData.xml (original)
+++ ofbiz/branches/20120329_portletWidget/specialpurpose/example/data/ExampleDemoData.xml Tue Jun  5 19:02:52 2012
@@ -63,6 +63,31 @@ under the License.
     <Example exampleId="EX10" exampleName="Example 10" exampleTypeId="MADE_UP" statusId="EXST_IN_DESIGN"/>
     <Example exampleId="EX11" exampleName="Example 11" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
     <Example exampleId="EX12" exampleName="Example 12" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <!--#Bam# for screenlet navigation form -->
+    <Example exampleId="EX13" exampleName="Example 13" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX14" exampleName="Example 14" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX15" exampleName="Example 15" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX16" exampleName="Example 16" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX17" exampleName="Example 17" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX18" exampleName="Example 18" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX19" exampleName="Example 19" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX20" exampleName="Example 20" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX21" exampleName="Example 21" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX22" exampleName="Example 22" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX23" exampleName="Example 23" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX24" exampleName="Example 24" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX25" exampleName="Example 25" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX26" exampleName="Example 26" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX27" exampleName="Example 27" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX28" exampleName="Example 28" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX29" exampleName="Example 29" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX30" exampleName="Example 30" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX31" exampleName="Example 31" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX32" exampleName="Example 32" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX33" exampleName="Example 33" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX34" exampleName="Example 34" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <Example exampleId="EX35" exampleName="Example 35" exampleTypeId="INSPIRED" statusId="EXST_IN_DESIGN"/>
+    <!--#Eam# for screenlet navigation form -->
 
     <!-- example test suite -->
     <SeleniumTestSuitePath testSuiteId="EXAMPLE_TESTSUITE" testSuiteName="example_testsuite" testSuiteType="XML" testSuitePath="framework/testtools/testdef/seleniumxml/example/example_testsuite.xml" description="test suite for example component"/>

Modified: ofbiz/branches/20120329_portletWidget/themes/bizznesstime/webapp/bizznesstime/css/style.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/bizznesstime/webapp/bizznesstime/css/style.css?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/themes/bizznesstime/webapp/bizznesstime/css/style.css (original)
+++ ofbiz/branches/20120329_portletWidget/themes/bizznesstime/webapp/bizznesstime/css/style.css Tue Jun  5 19:02:52 2012
@@ -2205,3 +2205,147 @@ height: auto;
 white-space:normal;
 height: auto;
 }
+
+/* Begin addon modification portletWidget navigation form*/
+.screenlet-title-bar-pager {
+    background-color: #1c334d;
+    color: #ffffff;
+    height: 1%; /* IE fix */
+    min-height: 1.5em;
+}
+
+.screenlet-title-bar-pager .h1,
+.screenlet-title-bar-pager .h2,
+.screenlet-title-bar-pager .h3,
+.screenlet-title-bar-pager h1,
+.screenlet-title-bar-pager h2,
+.screenlet-title-bar-pager h3 {
+    background: none;
+    color: #ffffff;
+    font-weight: bold;
+    padding: 0.0em 0.5em 0.2em 3em;
+}
+
+.screenlet-title-bar-pager ul {
+    display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+    background: none;
+    float: right;
+    font-size: 1em;
+    font-weight: bold;
+    padding: 0.0em 0.5em 0.2em 0.5em;
+    margin:0;
+}
+
+.screenlet-title-bar-pager ul h1,
+.screenlet-title-bar-pager ul h2,
+.screenlet-title-bar-pager ul h3,
+.screenlet-title-bar-pager ul .h1,
+.screenlet-title-bar-pager ul .h2,
+.screenlet-title-bar-pager ul .h3 {
+    border-left: none;
+    float: left;
+    padding: 0.0em 0.5em 0.2em 0.5em;
+}
+.screenlet-title-bar-pager .h1 { font-size: 1.6em; }
+.screenlet-title-bar-pager .h2 { font-size: 1.3em; }
+.screenlet-title-bar-pager .h3,
+.screenlet-title-bar-pager .head4 {
+    font-size: 1.1em;
+}
+
+.screenlet-title-bar-pager .h3 a {
+    display: inline;
+}
+
+.screenlet-title-bar-pager ul a {
+    color: #A80000;
+    display: block;
+}
+
+
+.screenlet-title-bar-pager ul a:hover {
+    color: #ffffff;
+    text-decoration: underline;
+}
+
+.screenlet-title-bar-pager ul .disabled {
+    color: #CCCCCC;
+}
+
+.screenlet-title-bar-pager ul .collapsed,
+.screenlet-title-bar-pager ul .collapsed:hover {
+    background: url(/images/expand.gif) no-repeat center center;
+    min-height: 1.1em;
+    min-width: 1.1em;
+}
+
+.screenlet-title-bar-pager ul .expanded,
+.screenlet-title-bar-pager ul .expanded:hover {
+    background: url(/images/collapse.gif) no-repeat center center;
+    min-height: 1.1em;
+    min-width: 1.1em;
+}
+
+.screenlet-title-bar-pager ul .collapsed a,
+.screenlet-title-bar-pager ul .expanded a {
+    cursor: default;
+}
+
+.login-screenlet {
+    min-width: 25em;
+    width: 25%;
+}
+
+
+.screenlet-title-bar-pager {
+    padding:0.08em 0 3em 0;
+    clear:both;
+    display:block;
+    position:relative;
+    margin:0px 0 10px 0;
+}
+
+.screenlet-title-bar-pager ul {
+    display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+    float: left;
+    font-weight: bold;
+    line-height: 1.8em;
+    margin: 0.2em;
+}
+
+.screenlet-title-bar-pager ul li a {
+    display: block;
+    font-weight: bold;
+}
+
+.screenlet-title-bar-pager ul .nav-first,
+.screenlet-title-bar-pager ul .nav-previous,
+.screenlet-title-bar-pager ul .nav-next,
+.screenlet-title-bar-pager ul .nav-last {
+    border:2px solid #ddd;
+    color:#fff;
+    padding: 0 0.5em 0 0.5em;
+}
+
+.screenlet-title-bar-pager ul .nav-first-disabled,
+.screenlet-title-bar-pager ul .nav-previous-disabled,
+.screenlet-title-bar-pager ul .nav-next-disabled,
+.screenlet-title-bar-pager ul .nav-last-disabled {
+    border:2px solid #ddd;
+    color:#ccc;
+    padding: 0 0.5em 0 0.5em;
+}
+
+.screenlet-title-bar-pager select {
+    margin: 0;
+}
+.screenlet-title-bar-pager ul li.nav-displaying {
+float: right;
+}
+/* End addon modification portletWidget navigation form*/
\ No newline at end of file

Added: ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/images/navigation.png
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/images/navigation.png?rev=1346536&view=auto
==============================================================================
Binary file - no diff available.

Propchange: ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/images/navigation.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Modified: ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/style.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/style.css?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/style.css (original)
+++ ofbiz/branches/20120329_portletWidget/themes/bluelight/webapp/bluelight/style.css Tue Jun  5 19:02:52 2012
@@ -2756,3 +2756,111 @@ height: auto;
 white-space:normal;
 height: auto;
 }
+
+/* begin addon modification portletWidget navigation form*/
+/* additions to manage navigation-form in bluelight theme */
+.screenlet-title-bar-pager {
+background: url("/bluelight/box-head-tl.gif") no-repeat;
+color:#ffffff;
+height: 21px;
+padding:2px 0px;
+}
+
+.screenlet-title-bar-pager select{
+margin-left:10px;
+border-color: #9bc8e8 #5ea4d7 #1e8edc;
+height: 22px;
+margin-top: 0;
+}
+
+.screenlet-title-bar-pager ul {
+display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+float: left;
+line-height: 1.2em;
+margin: 0px 3px;
+font-size:11px;
+}
+
+.screenlet-title-bar-pager ul li.h3 {
+margin-right: 40px;
+}
+
+.screenlet-title-bar-pager ul li.nav-displaying {
+padding-top: 6px;
+float: right;
+}
+
+.screenlet-title-bar-pager ul li a {
+display: block;
+text-indent:-2000px;
+}
+
+.screenlet-title-bar-pager ul li span {
+visibility:hidden;
+display: block;
+}
+
+.screenlet-title-bar-pager ul .nav-first a {
+background: url(/bluelight/images/resultset_first.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-previous a {
+background: url(/bluelight/images/resultset_previous.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-next a {
+background: url(/bluelight/images/resultset_next.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-last a {
+background: url(/bluelight/images/resultset_last.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-first-disabled {
+background: url(/bluelight/images/resultset_first_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-previous-disabled {
+background: url(/bluelight/images/resultset_previous_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-next-disabled {
+background: url(/bluelight/images/resultset_next_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-last-disabled {
+background: url(/bluelight/images/resultset_last_disabled.png) no-repeat;
+}
+
+.screenlet-title-bar-pager ul .nav-first a,
+.screenlet-title-bar-pager ul .nav-previous a,
+.screenlet-title-bar-pager ul .nav-next a,
+.screenlet-title-bar-pager ul .nav-last a,
+.screenlet-title-bar-pager ul .nav-first-disabled,
+.screenlet-title-bar-pager ul .nav-previous-disabled,
+.screenlet-title-bar-pager ul .nav-next-disabled,
+.screenlet-title-bar-pager ul .nav-last-disabled {
+margin-top: 3px;
+width: 23px;
+height:23px;
+}
+
+.screenlet-title-bar-pager-pager ul .nav-pagesize {
+padding: 0 30px 0 30px;
+}
+
+.screenlet-title-bar-pager ul .collapsed,
+.screenlet-title-bar-pager ul .collapsed:hover {
+background: url(/bluelight/images/bullet_arrow_down.png) no-repeat center;
+width:32px;
+border:none;
+}
+
+.screenlet-title-bar-pager ul .expanded,
+.screenlet-title-bar-pager ul .expanded:hover {
+background: url(/bluelight/images/bullet_arrow_up.png) no-repeat center;
+width:32px;
+border:none;
+}
+
+.screenlet-title-bar-pager ul .collapsed a,
+.screenlet-title-bar-pager ul .expanded a {
+cursor: pointer;
+}
+/* End addon modification portletWidget navigation form*/

Modified: ofbiz/branches/20120329_portletWidget/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css (original)
+++ ofbiz/branches/20120329_portletWidget/themes/droppingcrumbs/webapp/droppingcrumbs/css/style.css Tue Jun  5 19:02:52 2012
@@ -2755,3 +2755,161 @@ height: auto;
 white-space:normal;
 height: auto;
 }
+
+/* begin addon modification portletWidget navigation form*/
+.screenlet-title-bar-pager {
+background-color:#0099CC;
+height: 1%; /* IE fix */
+min-height: 1.5em;
+padding-top: 1px;
+padding-bottom: 2px;
+}
+
+.screenlet-title-bar-pager .h1,
+.screenlet-title-bar-pager .h2,
+.screenlet-title-bar-pager .h3,
+.screenlet-title-bar-pager h1,
+.screenlet-title-bar-pager h2,
+.screenlet-title-bar-pager h3 {
+color: #ffffff;
+font-weight: bold;
+padding: 0.1em 0.5em 0.2em 0.5em;
+}
+
+.screenlet-title-bar-pager ul {
+display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+background-color: #0099CC;
+border-left: 0.1em solid #5f9fcf;
+color: #ffffff;
+float: right;
+font-size: 1em;
+font-weight: bold;
+padding: 0.1em 0.5em 0.2em 0.5em;
+}
+
+.screenlet-title-bar-pager ul h1,
+.screenlet-title-bar-pager ul h2,
+.screenlet-title-bar-pager ul h3,
+.screenlet-title-bar-pager ul .h1,
+.screenlet-title-bar-pager ul .h2,
+.screenlet-title-bar-pager ul .h3 {
+background-color: #0099CC;
+border-left: none;
+float: left;
+}
+
+.screenlet-title-bar-pager .h1 {
+font-size: 1.6em;
+}
+
+.screenlet-title-bar-pager .h2 {
+font-size: 1.3em;
+}
+
+.screenlet-title-bar-pager .h3,.screenlet-title-bar-pager .head4 {
+font-size: 1.1em;
+}
+
+.screenlet-title-bar-pager .h3 a {
+color: #ffff66;
+display: inline;
+}
+
+.screenlet-title-bar-pager ul a {
+color: #FFA200;
+display: block;
+}
+
+.screenlet-title-bar-pager ul a:hover {
+color: #ffffff;
+text-decoration: none;
+}
+
+.screenlet-title-bar-pager ul .disabled {
+color: #CCCCCC;
+}
+
+.screenlet-title-bar-pager ul .collapsed,
+.screenlet-title-bar-pager ul .collapsed:hover {
+background: url(/droppingcrumbs/images/bullet_arrow_down.png) no-repeat right;
+width:16px;
+border:none;
+}
+
+.screenlet-title-bar-pager ul .expanded,
+.screenlet-title-bar-pager ul .expanded:hover {
+background: url(/droppingcrumbs/images/bullet_arrow_up.png) no-repeat right;
+width:16px;
+border:none;
+}
+
+.screenlet-title-bar-pager ul .collapsed a,
+.screenlet-title-bar-pager ul .expanded a {
+cursor: pointer;
+}
+
+.screenlet-title-bar-pager {
+height: 2em;
+padding-bottom: 0.7em;
+padding-top: 0.4em;
+}
+
+.screenlet-title-bar-pager ul {
+display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+float: left;
+font-weight: bold;
+line-height: 1.8em;
+margin: 0.2em;
+}
+
+.screenlet-title-bar-pager ul li a {
+display: block;
+height: 16px;
+width: 16px;
+text-indent:2000px;
+}
+
+.screenlet-title-bar-pager ul li span {
+visibility:hidden;
+display: block;
+height: 16px;
+width: 16px;
+}
+
+.screenlet-title-bar-pager ul .nav-first a {
+background: url(/droppingcrumbs/images/resultset_first.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-previous a {
+background: url(/droppingcrumbs/images/resultset_previous.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-next a {
+background: url(/droppingcrumbs/images/resultset_next.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-last a {
+background: url(/droppingcrumbs/images/resultset_last.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-first-disabled {
+background: url(/droppingcrumbs/images/resultset_first_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-previous-disabled {
+background: url(/droppingcrumbs/images/resultset_previous_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-next-disabled {
+background: url(/droppingcrumbs/images/resultset_next_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-last-disabled {
+background: url(/droppingcrumbs/images/resultset_last_disabled.png) no-repeat;
+}
+.screenlet-title-bar-pager ul .nav-pagesize {
+padding: 0 30px 0 30px;
+}
+.screenlet-title-bar-pager ul li.nav-displaying {
+float: right;
+}
+/* End addon modification portletWidget navigation form*/

Modified: ofbiz/branches/20120329_portletWidget/themes/flatgrey/webapp/flatgrey/maincss.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/flatgrey/webapp/flatgrey/maincss.css?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/themes/flatgrey/webapp/flatgrey/maincss.css (original)
+++ ofbiz/branches/20120329_portletWidget/themes/flatgrey/webapp/flatgrey/maincss.css Tue Jun  5 19:02:52 2012
@@ -2201,3 +2201,126 @@ height: auto;
 white-space:normal;
 height: auto;
 }
+
+/*begin addon modification portletWidget navigation form*/
+.screenlet-title-bar-pager {
+background: url(images/bhead.gif) top left repeat-x;
+color: #ffffff;
+height: 1%; /* IE fix */
+min-height: 1.5em;
+padding:0.8em 0.2em;
+}
+
+.screenlet-title-bar-pager .h1,
+.screenlet-title-bar-pager .h2,
+.screenlet-title-bar-pager .h3,
+.screenlet-title-bar-pager h1,
+.screenlet-title-bar-pager h2,
+.screenlet-title-bar-pager h3 {
+background: none;
+color: #333;
+text-shadow: 1px 1px 0 #fff; /* Setting must be in px */
+}
+
+.screenlet-title-bar-pager ul {
+display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+color: #222;
+float: left;
+font-size: 1em;
+font-weight: bold;
+padding: 0.1em 0.5em 0.2em 0.5em;
+}
+
+.screenlet-title-bar-pager ul .h1,
+.screenlet-title-bar-pager ul .h2,
+.screenlet-title-bar-pager ul .h3 {
+border-left: none;
+float: left;
+}
+
+.screenlet-title-bar-pager h1,
+.screenlet-title-bar-pager .h1 {
+font-size: 1.6em;
+}
+
+.screenlet-title-bar-pager h2,
+.screenlet-title-bar-pager .h2 {
+font-size: 1.3em;
+}
+
+.screenlet-title-bar-pager h3,
+.screenlet-title-bar-pager .h3 {
+font-size: 1.1em;
+}
+
+.screenlet-title-bar-pager .h3 a {
+color: #222;
+display: inline;
+}
+
+.screenlet-title-bar-pager ul a {
+color: #222;
+display: block;
+}
+
+.screenlet-title-bar-pager ul a:visited {
+color: #222;
+}
+
+.screenlet-title-bar-pager ul a:hover {
+color: #ffffff;
+text-decoration: none;
+}
+
+.screenlet-title-bar-pager ul .disabled {
+color: #CCCCCC;
+}
+
+.screenlet-title-bar-pager ul .collapsed,
+.screenlet-title-bar-pager ul .collapsed:hover {
+background: url(/images/expand.gif) no-repeat center center;
+min-height: 1.1em;
+min-width: 1.1em;
+}
+
+.screenlet-title-bar-pager ul .expanded,
+.screenlet-title-bar-pager ul .expanded:hover {
+background: url(/images/collapse.gif) no-repeat center center;
+min-height: 1.1em;
+min-width: 1.1em;
+}
+
+.screenlet-title-bar-pager ul .collapsed a,
+.screenlet-title-bar-pager ul .expanded a {
+/* IE fix */
+cursor: default;
+}
+
+
+.screenlet-title-bar-pager ul a:hover {
+background-color: #999;
+}
+
+.screenlet-title-bar-pager ul .nav-pagesize,
+.screenlet-title-bar-pager ul .nav-page-select,
+.screenlet-title-bar-pager ul .nav-displaying {
+padding: 0 1em 0 1em;
+}
+
+.screenlet-title-bar-pager ul .nav-first-disabled,
+.screenlet-title-bar-pager ul .nav-previous-disabled,
+.screenlet-title-bar-pager ul .nav-next-disabled,
+.screenlet-title-bar-pager ul .nav-last-disabled {
+color: #D4D0C8;
+padding: 0 1em 0 1em;
+}
+
+.screenlet-title-bar-pager ul .nav-displaying {
+border-right: none;
+float :right;
+}
+
+/*end addon modification portletWidget navigation form*/
\ No newline at end of file

Modified: ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/css/style.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/css/style.css?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/css/style.css (original)
+++ ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/css/style.css Tue Jun  5 19:02:52 2012
@@ -1266,7 +1266,7 @@ display: inline; /* IE Fix */
 }
 
 .screenlet-title-bar ul li {
-border-left: 0.1em solid #BBBBBB;
+/*border-left: 0.1em solid #BBBBBB;*/
 color: #ffffff;
 float: right;
 font-size: 1em;
@@ -3143,3 +3143,130 @@ height: auto;
 white-space:normal;
 height: auto;
 }
+/* begin addon modification : portletWidget navigation form*/
+.screenlet-title-bar-pager {
+background:url(../images/bkgd_header.gif) repeat-x;
+height: 23px;
+padding:0px 0px;
+}
+
+.screenlet-title-bar-pager ul h1,
+.screenlet-title-bar-pager ul h2,
+.screenlet-title-bar-pager ul h3,
+.screenlet-title-bar-pager ul .h1,
+.screenlet-title-bar-pager ul .h2,
+.screenlet-title-bar-pager ul .h3 {
+font-weight: normal;
+border-left: none;
+font-size:12px;
+float: left;
+}
+
+.screenlet-title-bar-pager select{
+margin-left:10px;
+border:none;
+height: auto;
+margin-top: 1px;
+}
+
+.screenlet-title-bar-pager ul {
+display: inline; /* IE Fix */
+}
+
+.screenlet-title-bar-pager ul li {
+float: left;
+color : #ffffff;
+line-height: 1.8em;
+margin: 0px 0px 0px 3px;
+font-size:12px;
+}
+
+.screenlet-title-bar-pager ul li.nav-displaying {
+float: right;
+}
+
+.screenlet-title-bar-pager ul li a {
+display: block;
+text-indent:-2000px;
+}
+
+.screenlet-title-bar-pager ul li span {
+visibility:hidden;
+display: block;
+}
+
+.screenlet-title-bar-pager ul .nav-first a:hover {
+background: url(../images/navigation.png) no-repeat 0px -46px;
+}
+.screenlet-title-bar-pager ul .nav-previous a:hover {
+background: url(../images/navigation.png) no-repeat -23px -46px;
+}
+.screenlet-title-bar-pager ul .nav-next a:hover {
+background: url(../images/navigation.png) no-repeat -46px -46px;
+}
+.screenlet-title-bar-pager ul .nav-last a:hover {
+background: url(../images/navigation.png) no-repeat -69px -46px;
+}
+
+.screenlet-title-bar-pager ul .nav-first a {
+background: url(../images/navigation.png) no-repeat 0px -23px;
+}
+.screenlet-title-bar-pager ul .nav-previous a {
+background: url(../images/navigation.png) no-repeat -23px -23px;
+}
+.screenlet-title-bar-pager ul .nav-next a {
+background: url(../images/navigation.png) no-repeat -46px -23px;
+}
+.screenlet-title-bar-pager ul .nav-last a {
+background: url(../images/navigation.png) no-repeat -69px -23px;
+}
+.screenlet-title-bar-pager ul .nav-first-disabled {
+background: url(../images/navigation.png) no-repeat 0px 0px;
+}
+.screenlet-title-bar-pager ul .nav-previous-disabled {
+background: url(../images/navigation.png) no-repeat -23px 0px;
+}
+.screenlet-title-bar-pager ul .nav-next-disabled {
+background: url(../images/navigation.png) no-repeat -46px 0px;
+}
+.screenlet-title-bar-pager ul .nav-last-disabled {
+background: url(../images/navigation.png) no-repeat -69px 0px;
+}
+
+.screenlet-title-bar-pager ul .nav-first a,
+.screenlet-title-bar-pager ul .nav-previous a,
+.screenlet-title-bar-pager ul .nav-next a,
+.screenlet-title-bar-pager ul .nav-last a,
+.screenlet-title-bar-pager ul .nav-first-disabled,
+.screenlet-title-bar-pager ul .nav-previous-disabled,
+.screenlet-title-bar-pager ul .nav-next-disabled,
+.screenlet-title-bar-pager ul .nav-last-disabled {
+width: 23px;
+height:23px;
+}
+
+.screenlet-title-bar-pager-pager ul .nav-pagesize {
+padding: 0 30px 0 30px;
+}
+
+.screenlet-title-bar-pager ul .collapsed,
+.screenlet-title-bar-pager ul .collapsed:hover {
+background: url(../images/bullet_arrow_down.png) no-repeat right;
+width:16px;
+border:none;
+padding-left: 3px;
+}
+
+.screenlet-title-bar-pager ul .expanded,
+.screenlet-title-bar-pager ul .expanded:hover {
+background: url(../images/bullet_arrow_up.png) no-repeat right;
+width:16px;
+border:none;
+padding-left: 3px;
+}
+
+.screenlet-title-bar-pager ul .collapsed a,
+.screenlet-title-bar-pager ul .expanded a {
+cursor: pointer;
+}
+/* End addon modification : portletWidget navigation form*/
\ No newline at end of file

Modified: ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/bkgd_header.gif
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/bkgd_header.gif?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
Files ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/bkgd_header.gif (original) and ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/bkgd_header.gif Tue Jun  5 19:02:52 2012 differ

Modified: ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/ptrn_button_hover.gif
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/ptrn_button_hover.gif?rev=1346536&r1=1346535&r2=1346536&view=diff
==============================================================================
Files ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/ptrn_button_hover.gif (original) and ofbiz/branches/20120329_portletWidget/themes/tomahawk/webapp/tomahawk/images/ptrn_button_hover.gif Tue Jun  5 19:02:52 2012 differ