Author: dmaliarevich
Date: 2008-04-07 05:31:19 -0400 (Mon, 07 Apr 2008)
New Revision: 7374
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuGroupTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuItemTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuTemplate.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1588, nested groups and items indentation added
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuGroupTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuGroupTemplate.java 2008-04-07
08:29:45 UTC (rev 7373)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuGroupTemplate.java 2008-04-07
09:31:19 UTC (rev 7374)
@@ -78,6 +78,9 @@
private static final String WIDTH_100_PERSENTS = "width: 100%; ";
//$NON-NLS-1$
private static final String MARGIN_TOP = "margin-top: 3px; "; //$NON-NLS-1$
+ private static final String NO_SIZE_VALUE = "0"; //$NON-NLS-1$
+ private static final String DEFAULT_SIZE_VALUE = "16"; //$NON-NLS-1$
+
/*
* rich:panelMenu attributes for groups
*/
@@ -207,7 +210,7 @@
.encode(pageContext, creationData,
sourceParentElement,
(Element) child, visualDocument,
- div);
+ div, childId);
}
}
@@ -253,6 +256,23 @@
nsIDOMElement tableBodyRow = visualDocument
.createElement(HtmlComponentUtil.HTML_TAG_TR);
table.appendChild(tableBodyRow);
+
+ /*
+ * Add indentation for nested gruops
+ */
+ String[] ids = activeChildId.split(GROUP_COUNT_SEPARATOR);
+ if (ids.length > 1) {
+ for (int i = 1; i <= ids.length - 1; i++) {
+ nsIDOMElement spacerTd = visualDocument
+ .createElement(HtmlComponentUtil.HTML_TAG_TD);
+ nsIDOMElement spacerImg = visualDocument
+ .createElement(HtmlComponentUtil.HTML_TAG_IMG);
+ spacerTd.appendChild(spacerImg);
+ ComponentUtil.setImg(spacerImg, PANEL_MENU_GROUP_ICON_SPACER_PATH);
+ setDefaultImgAttributes(spacerImg);
+ tableBodyRow.appendChild(spacerTd);
+ }
+ }
nsIDOMElement column1 = visualDocument
.createElement(HtmlComponentUtil.HTML_TAG_TD);
@@ -355,6 +375,15 @@
table.setAttribute(HtmlComponentUtil.HTML_STYLE_ATTR, tableStyle);
}
+ private static void setDefaultImgAttributes(nsIDOMElement element) {
+ element.setAttribute(HtmlComponentUtil.HTML_ATR_WIDTH,
+ DEFAULT_SIZE_VALUE);
+ element.setAttribute("vspace", NO_SIZE_VALUE); //$NON-NLS-1$
+ element.setAttribute("hspace", NO_SIZE_VALUE); //$NON-NLS-1$
+ element.setAttribute(HtmlComponentUtil.HTML_ATR_HEIGHT,
+ DEFAULT_SIZE_VALUE);
+ }
+
private static final Element getRichPanelParent(Element sourceElement) {
Element parent = (Element) sourceElement.getParentNode();
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuItemTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuItemTemplate.java 2008-04-07
08:29:45 UTC (rev 7373)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuItemTemplate.java 2008-04-07
09:31:19 UTC (rev 7374)
@@ -120,7 +120,7 @@
public static VpeCreationData encode(VpePageContext pageContext,
VpeCreationData creationData, Element sourceParentElement,
Element sourceElement, nsIDOMDocument visualDocument,
- nsIDOMElement parentVisualElement) {
+ nsIDOMElement parentVisualElement, String childId) {
ComponentUtil.setCSSLink(pageContext, STYLE_PATH, COMPONENT_NAME);
@@ -158,6 +158,30 @@
nsIDOMElement tr = visualDocument
.createElement(HtmlComponentUtil.HTML_TAG_TR);
table.appendChild(tr);
+
+ /*
+ * Add indentation for nested items
+ */
+ String[] ids = childId.split(RichFacesPanelMenuGroupTemplate.GROUP_COUNT_SEPARATOR);
+ if (ids.length > 0) {
+ for (int i = 1; i <= ids.length; i++) {
+ /*
+ * Skip indentation in top menu items
+ */
+ if (EMPTY.equalsIgnoreCase(ids[0])) {
+ continue;
+ }
+ nsIDOMElement spacerTd = visualDocument
+ .createElement(HtmlComponentUtil.HTML_TAG_TD);
+ nsIDOMElement spacerImg = visualDocument
+ .createElement(HtmlComponentUtil.HTML_TAG_IMG);
+ spacerTd.appendChild(spacerImg);
+ ComponentUtil.setImg(spacerImg, IMG_SPACER_SRC);
+ setDefaultImgAttributes(spacerImg);
+ tr.appendChild(spacerTd);
+ }
+ }
+
nsIDOMElement tdNowrap = visualDocument
.createElement(HtmlComponentUtil.HTML_TAG_TD);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuTemplate.java 2008-04-07
08:29:45 UTC (rev 7373)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.richfaces/src/org/jboss/tools/jsf/vpe/richfaces/template/RichFacesPanelMenuTemplate.java 2008-04-07
09:31:19 UTC (rev 7374)
@@ -103,6 +103,7 @@
private static final String PANEL_MENU_ITEM_END = ":panelMenuItem";
//$NON-NLS-1$
private static final String TRUE = "true"; //$NON-NLS-1$
private static final String MARGIN_TOP = "margin-top: 3px; "; //$NON-NLS-1$
+ private static final String TOP_MENU_ITEM_ID = ""; //$NON-NLS-1$
private List<String> activeIds = new ArrayList<String>();
@@ -148,7 +149,7 @@
} else if (child.getNodeName().endsWith(PANEL_MENU_ITEM_END)) {
RichFacesPanelMenuItemTemplate.encode(pageContext,
vpeCreationData, sourceElement, (Element) child,
- visualDocument, div);
+ visualDocument, div, TOP_MENU_ITEM_ID);
} else {
nsIDOMElement childDiv = visualDocument
.createElement(HtmlComponentUtil.HTML_TAG_DIV);