Author: dmaliarevich
Date: 2009-04-02 12:20:23 -0400 (Thu, 02 Apr 2009)
New Revision: 14466
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/src/org/jboss/tools/jsf/vpe/seam/template/SeamLinkTemplate.java
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfCommandLinkTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfOutputTextTemplate.java
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/templates/vpe-templates-seam.xml
Log:
https://jira.jboss.org/jira/browse/JBIDE-3690, vpe-text class was added to span elements
to avoid custom style declaration influences, some seam templates were added.
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF 2009-04-02 16:20:16
UTC (rev 14465)
+++ trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/META-INF/MANIFEST.MF 2009-04-02 16:20:23
UTC (rev 14466)
@@ -18,6 +18,7 @@
Eclipse-LazyStart: true
Export-Package: org.jboss.tools.jsf.vpe.jsf.template,
org.jboss.tools.jsf.vpe.jsf.template.selectitem,
+ org.jboss.tools.jsf.vpe.jsf.template.util,
org.jboss.tools.jsf.vpe.jsf.template.util.model
Bundle-Localization: plugin
Import-Package: org.jboss.tools.jst.web.tld
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfCommandLinkTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfCommandLinkTemplate.java 2009-04-02
16:20:16 UTC (rev 14465)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfCommandLinkTemplate.java 2009-04-02
16:20:23 UTC (rev 14466)
@@ -16,6 +16,7 @@
import org.jboss.tools.vpe.editor.template.VpeCreationData;
import org.jboss.tools.vpe.editor.template.VpeTemplateManager;
import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
import org.w3c.dom.Element;
@@ -45,9 +46,9 @@
boolean hasParentForm = hasParentForm(pageContext, element);
if (!hasParentForm) {
- parentElement = visualDocument.createElement(HTML.TAG_SPAN);
- } else if (disabled){
- parentElement = visualDocument.createElement(HTML.TAG_SPAN);
+ parentElement = VisualDomUtil.createBorderlessContainer(visualDocument);
+ } else if (disabled) {
+ parentElement = VisualDomUtil.createBorderlessContainer(visualDocument);
} else {
parentElement = visualDocument.createElement(HTML.TAG_A);
}
@@ -57,8 +58,8 @@
VpeCreationData creationData;
if (!hasParentForm) {
- nsIDOMElement topSpan = visualDocument.createElement(HTML.TAG_SPAN);
- nsIDOMElement noteSpan = visualDocument.createElement(HTML.TAG_SPAN);
+ nsIDOMElement topSpan = VisualDomUtil.createBorderlessContainer(visualDocument);
+ nsIDOMElement noteSpan = VisualDomUtil.createBorderlessContainer(visualDocument);
noteSpan.appendChild(visualDocument.createTextNode(OUTSIDE_FORM_TEXT));
topSpan.appendChild(parentElement);
topSpan.appendChild(noteSpan);
Modified:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfOutputTextTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfOutputTextTemplate.java 2009-04-02
16:20:16 UTC (rev 14465)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.jsf/src/org/jboss/tools/jsf/vpe/jsf/template/JsfOutputTextTemplate.java 2009-04-02
16:20:23 UTC (rev 14466)
@@ -13,6 +13,7 @@
import org.jboss.tools.vpe.editor.context.VpePageContext;
import org.jboss.tools.vpe.editor.template.VpeCreationData;
import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
import org.mozilla.interfaces.nsIDOMDocument;
import org.mozilla.interfaces.nsIDOMElement;
import org.mozilla.interfaces.nsIDOMNode;
@@ -39,7 +40,7 @@
Element element = (Element) sourceNode;
// create span element
- nsIDOMElement span = visualDocument.createElement(HTML.TAG_SPAN);
+ nsIDOMElement span = VisualDomUtil.createBorderlessContainer(visualDocument);
// creation data
VpeCreationData creationData = new VpeCreationData(span);
Added:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/src/org/jboss/tools/jsf/vpe/seam/template/SeamLinkTemplate.java
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/src/org/jboss/tools/jsf/vpe/seam/template/SeamLinkTemplate.java
(rev 0)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/src/org/jboss/tools/jsf/vpe/seam/template/SeamLinkTemplate.java 2009-04-02
16:20:23 UTC (rev 14466)
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.vpe.seam.template;
+
+import org.jboss.tools.jsf.vpe.jsf.template.util.ComponentUtil;
+import org.jboss.tools.vpe.editor.context.VpePageContext;
+import org.jboss.tools.vpe.editor.template.VpeChildrenInfo;
+import org.jboss.tools.vpe.editor.template.VpeCreationData;
+import org.jboss.tools.vpe.editor.util.HTML;
+import org.jboss.tools.vpe.editor.util.VisualDomUtil;
+import org.jboss.tools.jsf.vpe.jsf.template.AbstractOutputJsfTemplate;
+import org.mozilla.interfaces.nsIDOMDocument;
+import org.mozilla.interfaces.nsIDOMElement;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * Template for s:link tag
+ *
+ * @author dmaliarevich
+ *
+ */
+public class SeamLinkTemplate extends AbstractOutputJsfTemplate {
+
+ public VpeCreationData create(VpePageContext pageContext, Node sourceNode,
+ nsIDOMDocument visualDocument) {
+
+ Element element = (Element) sourceNode;
+ nsIDOMElement parentElement;
+
+ boolean disabled = ComponentUtil.string2boolean(ComponentUtil
+ .getAttribute(element, HTML.ATTR_DISABLED));
+ String value = ComponentUtil.getAttribute(element, HTML.ATTR_VALUE);
+ if (disabled){
+ parentElement = VisualDomUtil.createBorderlessContainer(visualDocument);
+ } else {
+ parentElement = visualDocument.createElement(HTML.TAG_A);
+ }
+
+ /*
+ * copy attributes
+ */
+ copyOutputJsfAttributes(parentElement, element);
+
+ VpeCreationData creationData;
+ creationData = new VpeCreationData(parentElement);
+
+ VpeChildrenInfo linkInfo = new VpeChildrenInfo(parentElement);
+ creationData.addChildrenInfo(linkInfo);
+
+ for (Node child : ComponentUtil.getChildren(element)) {
+ linkInfo.addSourceChild(child);
+ }
+ if (ComponentUtil.isNotBlank(value)) {
+ parentElement.appendChild(visualDocument.createTextNode(value));
+ }
+ return creationData;
+
+ }
+
+ @Override
+ public boolean recreateAtAttrChange(VpePageContext pageContext,
+ Element sourceElement, nsIDOMDocument visualDocument,
+ nsIDOMElement visualNode, Object data, String name, String value) {
+ return true;
+ }
+
+}
Property changes on:
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/src/org/jboss/tools/jsf/vpe/seam/template/SeamLinkTemplate.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Modified: trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/templates/vpe-templates-seam.xml
===================================================================
---
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/templates/vpe-templates-seam.xml 2009-04-02
16:20:16 UTC (rev 14465)
+++
trunk/jsf/plugins/org.jboss.tools.jsf.vpe.seam/templates/vpe-templates-seam.xml 2009-04-02
16:20:23 UTC (rev 14466)
@@ -4,58 +4,84 @@
<vpe:template-taglib
uri="http://jboss.com/products/seam/taglib"
prefix="s" />
- <vpe:tag name="s:button" case-sensitive="yes">
- <vpe:if test="not(attrpresent('image'))">
- <vpe:if test="@type=''">
- <vpe:template children="no" modify="no">
- <input type="submit"
value="{iif(@value='',' ',jsfvalue(@value))}"
class="{@styleClass}" style="{@style}"
title="{tagstring()}"/>
- <vpe:resize>
- <vpe:width width-attr="style.width" />
- <vpe:height height-attr="style.height" />
- </vpe:resize>
- <vpe:dnd>
- <vpe:drag start-enable="yes"/>
- </vpe:dnd>
- <vpe:textFormatting use-default-formats="yes">
- </vpe:textFormatting>
- </vpe:template>
- </vpe:if>
- <vpe:if
test="(@type='button')|(@type='reset')|(@type='submit')">
- <vpe:template children="no" modify="no">
- <input type="{@type}"
value="{jsfvalue(@value)}" class="{@styleClass}"
style="{@style}" title="{tagstring()}"/>
- <vpe:resize>
- <vpe:width width-attr="style.width" />
- <vpe:height height-attr="style.height" />
- </vpe:resize>
- <vpe:dnd>
- <vpe:drag start-enable="yes"/>
- </vpe:dnd>
- <vpe:textFormatting use-default-formats="yes">
- </vpe:textFormatting>
- </vpe:template>
- </vpe:if>
- </vpe:if>
- <vpe:if test="attrpresent('image')">
- <vpe:template children="no" modify="no">
- <input type="image" src="{src(@image)}"
class="{@styleClass}" style="{@style}"
title="{tagstring()}"/>
- <vpe:resize>
- <vpe:width width-attr="style.width" />
- <vpe:height height-attr="style.height" />
- </vpe:resize>
- <vpe:textFormatting use-default-formats="yes">
- </vpe:textFormatting>
- </vpe:template>
- </vpe:if>
- </vpe:tag>
+ <vpe:tag name="s:button" case-sensitive="yes">
+ <!-- This is a very big if-statement.
+ Its goal is to add support of 'disabled property'
+ DO NOT FORGET TO EDIT 'ELSE' PART IN FUTURE MODIFICATIONS -->
+ <vpe:if test="(@disabled='true')">
+ <vpe:if test="not(attrpresent('image'))">
+ <vpe:template children="no" modify="no">
+ <input type="button" value="{iif(@value='','
',jsfvalue(@value))}"
+ class="{@styleClass}" style="{@style}"
+ title="{tagstring()}" dir="{@dir}"
+ disabled='disabled'/>
+ <vpe:resize>
+ <vpe:width width-attr="style.width" />
+ <vpe:height height-attr="style.height" />
+ </vpe:resize>
+ <vpe:dnd>
+ <vpe:drag start-enable="yes" />
+ </vpe:dnd>
+ <vpe:textFormatting use-default-formats="yes">
+ </vpe:textFormatting>
+ </vpe:template>
+ </vpe:if>
+ <vpe:if test="attrpresent('image')">
+ <vpe:template children="no" modify="no">
+ <input type="image" src="{src(@image)}"
+ class="{@styleClass}" style="{@style}"
title="{tagstring()}"
+ disabled='disabled'/>
+ <vpe:resize>
+ <vpe:width width-attr="style.width" />
+ <vpe:height height-attr="style.height" />
+ </vpe:resize>
+ <vpe:textFormatting use-default-formats="yes">
+ </vpe:textFormatting>
+ </vpe:template>
+ </vpe:if>
+ </vpe:if>
+ <!--else-->
+ <vpe:if test="not(attrpresent('image'))">
+ <vpe:template children="no" modify="no">
+ <input type="button" value="{iif(@value='','
',jsfvalue(@value))}"
+ class="{@styleClass}" style="{@style}"
+ title="{tagstring()}" dir="{@dir}"/>
+ <vpe:resize>
+ <vpe:width width-attr="style.width" />
+ <vpe:height height-attr="style.height" />
+ </vpe:resize>
+ <vpe:dnd>
+ <vpe:drag start-enable="yes" />
+ </vpe:dnd>
+ <vpe:textFormatting use-default-formats="yes">
+ </vpe:textFormatting>
+ </vpe:template>
+ </vpe:if>
+ <vpe:if test="attrpresent('image')">
+ <vpe:template children="no" modify="no">
+ <input type="image" src="{src(@image)}"
+ class="{@styleClass}" style="{@style}"
title="{tagstring()}" />
+ <vpe:resize>
+ <vpe:width width-attr="style.width" />
+ <vpe:height height-attr="style.height" />
+ </vpe:resize>
+ <vpe:textFormatting use-default-formats="yes">
+ </vpe:textFormatting>
+ </vpe:template>
+ </vpe:if>
+ <!--end-of-else-->
+ </vpe:tag>
<vpe:tag name="s:cache" case-sensitive="yes">
<vpe:template children="yes" modify="yes">
- <div />
+ <span class="vpe-text"/>
</vpe:template>
</vpe:tag>
<vpe:tag name="s:conversationId" case-sensitive="yes">
- <vpe:template children="no" modify="no" />
+ <vpe:template children="yes" modify="yes" >
+ <span class="vpe-text"/>
+ </vpe:template>
</vpe:tag>
<vpe:tag name="s:conversationPropagation"
case-sensitive="yes">
@@ -85,8 +111,10 @@
</vpe:template>
</vpe:tag>
- <vpe:tag name="s:defaultAction">
- <vpe:template children="no" modify="no" />
+ <vpe:tag name="s:defaultAction" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes" >
+ <span class="vpe-text"/>
+ </vpe:template>
</vpe:tag>
<vpe:tag name="s:enumItem" case-sensitive="yes">
@@ -135,11 +163,7 @@
<vpe:tag name="s:fileUpload" case-sensitive="yes">
<vpe:template children="no" modify="no">
- <div class="{@styleClass}" onclick="{@onclick}"
- rendered="{@rendered}" title="{tagstring()}">
- <vpe:value expr="{jsfvalue(@value)}" />
- <input type="file" style="{@style}" />
- </div>
+ <input type="file" style="{@style}"
class="{@styleClass}" title="{tagstring()}"/>
<vpe:dnd>
<vpe:drag start-enable="yes" />
<vpe:drop container="no" />
@@ -156,13 +180,12 @@
<vpe:tag name="s:formattedText" case-sensitive="yes">
<vpe:template children="yes" modify="yes"
class="org.jboss.tools.jsf.vpe.seam.template.SeamFormattedTextTemplate">
-
</vpe:template>
</vpe:tag>
<vpe:tag name="s:fragment" case-sensitive="yes">
- <vpe:template children="yes" modify="no" >
- <div style="{iif(@rendered='true',' ','display:
none;')}"/>
+ <vpe:template children="yes" modify="yes" >
+ <span class="vpe-text"/>
</vpe:template>
</vpe:tag>
@@ -209,14 +232,37 @@
</vpe:template>
</vpe:tag>
- <vpe:tag name="s:link" case-sensitive="yes">
- <vpe:template children="yes" modify="yes">
- <span class="{@styleClass}"
- style="color:blue;text-decoration:underline;{@style}"
- title="{tagstring()}">
- <vpe:value expr="{@value}" />
- </span>
- </vpe:template>
+ <vpe:tag name="s:link" case-sensitive="yes">
+ <vpe:template children="yes" modify="yes"
+ class="org.jboss.tools.jsf.vpe.seam.template.SeamLinkTemplate">
+ <vpe:dnd>
+ <vpe:drag start-enable="yes" />
+ <vpe:drop container="yes">
+ <vpe:container-child tag-name="outputText" />
+ </vpe:drop>
+ </vpe:dnd>
+ <vpe:textFormatting>
+ <vpe:format type="BoldFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ <vpe:format type="ItalicFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ <vpe:format type="FontNameFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ <vpe:format type="FontSizeFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ <vpe:format type="BackgroundColorFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ <vpe:format type="ForegroundColorFormat">
+ <vpe:formatAttribute type="style" />
+ </vpe:format>
+ </vpe:textFormatting>
+ <vpe:pseudoContent />
+ </vpe:template>
</vpe:tag>
<vpe:tag name="s:message" case-sensitive="yes">
@@ -235,7 +281,8 @@
</vpe:tag>
<vpe:tag name="s:remote" case-sensitive="yes">
- <vpe:template children="no" modify="no" />
+ <vpe:template children="yes" modify="yes" />
+ <span class="vpe-text"/>
</vpe:tag>
<vpe:tag name="s:selectDate" case-sensitive="yes">
@@ -311,6 +358,17 @@
</vpe:tag>
<vpe:tag name="s:validateAll" case-sensitive="yes">
- <vpe:template children="no" modify="no" />
- </vpe:tag>
+ <vpe:template children="yes" modify="yes">
+ <span class="vpe-text"/>
+ </vpe:template>
+ </vpe:tag>
+
+ <vpe:tag name="s:validateFormattedText"
case-sensitive="yes">
+ <vpe:template children="no" modify="no"/>
+ </vpe:tag>
+
+ <vpe:tag name="s:taskId" case-sensitive="yes">
+ <vpe:template children="no" modify="no"/>
+ </vpe:tag>
+
</vpe:templates>