]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
fixed runtime error while reading PR_BORDER_WIDTH or PR_BORDER_STYLE
authorPeter Herweg <pherweg@apache.org>
Fri, 30 Jan 2004 10:51:53 +0000 (10:51 +0000)
committerPeter Herweg <pherweg@apache.org>
Fri, 30 Jan 2004 10:51:53 +0000 (10:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197304 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/render/rtf/TableAttributesConverter.java

index 693da979bb0fb80a0fada67e9fed9d5a4519616a..8f00f44346395675d14010c712ab909121a67b1f 100644 (file)
@@ -218,17 +218,7 @@ public class TableAttributesConverter {
         }
 
         // Border styles do not inherit from parent
-        if ((p = props.get(Constants.PR_BORDER_STYLE)) != null) {
-            log.warn("border-style not implemented. Please use border-style-left, "
-                     + "...-right, ...-top or ...-bottom");
-            /*
-            attrib.set(ITableAttributes.CELL_BORDER_LEFT,  "\\"+convertAttributetoRtf(e.getEnum()));
-            attrib.set(ITableAttributes.CELL_BORDER_RIGHT, "\\"+convertAttributetoRtf(e.getEnum()));
-            attrib.set(ITableAttributes.CELL_BORDER_BOTTOM,"\\"+convertAttributetoRtf(e.getEnum()));
-            attrib.set(ITableAttributes.CELL_BORDER_TOP,   "\\"+convertAttributetoRtf(e.getEnum()));
-            isBorderPresent=true;
-            */
-        }
+
         ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE);
         if (ep != null && ep.getEnum() != Constants.NONE) {
             attrib.set(ITableAttributes.CELL_BORDER_TOP,   "\\"
@@ -254,9 +244,19 @@ public class TableAttributesConverter {
             isBorderPresent = true;
         }
 
-        if ((p = props.get(Constants.PR_BORDER_WIDTH)) != null) {
-            ListProperty listprop = (ListProperty)p;
-            LengthProperty lengthprop = (LengthProperty)listprop.getList().get(0);
+        //Currently there is only one border width supported in each cell.  
+        p = props.get(Constants.PR_BORDER_LEFT_WIDTH);
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_RIGHT_WIDTH);
+        }
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_TOP_WIDTH);
+        }
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_BOTTOM_WIDTH);
+        }
+        if (p != null) {
+            LengthProperty lengthprop = (LengthProperty)p;
 
             Float f = new Float(lengthprop.getLength().getValue() / 1000f);
             String sValue = f.toString() + "pt";
@@ -351,26 +351,7 @@ public class TableAttributesConverter {
          * it is implemented that the border type is the value of the border
          * place.
          */
-        if ((p = props.get(Constants.PR_BORDER_STYLE)) != null) {
-            log.warn("border-style not implemented. Please use border-style-left, "
-                     + "...-right, ...-top or ...-bottom");
-/*
-            attrValue = new String(AbstractBuilder.getValue( attrs, "border-style", defAttrs ));
-            attrib.set(ITableAttributes.ROW_BORDER_LEFT,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            attrib.set(ITableAttributes.ROW_BORDER_RIGHT,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            attrib.set(ITableAttributes.ROW_BORDER_HORIZONTAL,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            attrib.set(ITableAttributes.ROW_BORDER_VERTICAL,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            attrib.set(ITableAttributes.ROW_BORDER_BOTTOM,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            attrib.set(ITableAttributes.ROW_BORDER_TOP,"\\"
-                       + BorderAttributesConverter.convertAttributetoRtf(attrValue));
-            isBorderPresent=true;
-*/
-        }
+
         ep = (EnumProperty)props.get(Constants.PR_BORDER_TOP_STYLE);
         if (ep != null && ep.getEnum() != Constants.NONE) {
             attrib.set(ITableAttributes.ROW_BORDER_TOP,       "\\"
@@ -424,9 +405,19 @@ public class TableAttributesConverter {
             isBorderPresent = true;
         }
 
-        if ((p = props.get(Constants.PR_BORDER_WIDTH)) != null) {
-            ListProperty listprop = (ListProperty)p;
-            LengthProperty lengthprop = (LengthProperty)listprop.getList().get(0);
+        //Currently there is only one border width supported in each cell.  
+        p = props.get(Constants.PR_BORDER_LEFT_WIDTH);
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_RIGHT_WIDTH);
+        }
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_TOP_WIDTH);
+        }
+        if(p == null) {
+            p = props.get(Constants.PR_BORDER_BOTTOM_WIDTH);
+        }
+        if (p != null) {
+            LengthProperty lengthprop = (LengthProperty)p;
 
             Float f = new Float(lengthprop.getLength().getValue() / 1000f);
             String sValue = f.toString() + "pt";