Ignore:
Timestamp:
05/18/11 11:18:11 (12 months ago)
Author:
jharrop
Message:

Proof of concept adding SmartArt? from a glox to a docx

Location:
trunk/docx4j/src/main/java/org/docx4j/openpackaging
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypeManager.java

    r1495 r1498  
    391391                } else if (contentType.equals(ContentTypes.VML_DRAWING)) { 
    392392                        return new VMLPart(new PartName(partName)); 
     393                } else if (contentType.equals(ContentTypes.DRAWINGML_DIAGRAM_DRAWING)) { 
     394                        return new org.docx4j.openpackaging.parts.DrawingML.DiagramDrawingPart(new PartName(partName)); 
    393395                } else if (contentType.startsWith("application/vnd.openxmlformats-officedocument.drawing")) { 
    394396                        return JaxbDmlPart.newPartForContentType(contentType, partName); 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/contenttype/ContentTypes.java

    r1495 r1498  
    166166        public final static String DRAWINGML_DIAGRAM_LAYOUT_HEADER = 
    167167                "application/vnd.openxmlformats-officedocument.drawingml.diagramLayoutHeader+xml"; 
     168 
     169        // "/word/diagrams/drawing1.xml" 
     170        public final static String DRAWINGML_DIAGRAM_DRAWING = 
     171                "application/vnd.ms-office.drawingml.diagramDrawing+xml"; 
    168172         
    169173        // embedded presentation 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DrawingML/DiagramColorsPart.java

    r1201 r1498  
    2222 
    2323 
     24import java.io.IOException; 
     25 
     26import javax.xml.bind.JAXBException; 
     27 
    2428import org.apache.log4j.Logger; 
    2529import org.docx4j.dml.diagram.CTColorTransform; 
    2630import org.docx4j.dml.diagram.CTDataModel; 
     31import org.docx4j.dml.diagram.ObjectFactory; 
    2732import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2833import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     
    5661                setRelationshipType(Namespaces.DRAWINGML_DIAGRAM_COLORS); 
    5762        } 
     63 
     64    public Object unmarshal(String filename) throws JAXBException { 
     65         
     66                java.io.InputStream is = null; 
     67                try { 
     68                        is = org.docx4j.utils.ResourceUtils.getResource( 
     69                                        "org/docx4j/openpackaging/parts/DrawingML/" + filename); 
     70                } catch (IOException e) { 
     71                        e.printStackTrace(); 
     72                }                
     73         
     74        return unmarshal( is );    // side-effect is to set jaxbElement          
     75    } 
     76     
     77    public void CreateMinimalContent(String uniqueId) { 
     78 
     79                ObjectFactory factory = new ObjectFactory();  
     80                 
     81                CTColorTransform colorsDef = factory.createCTColorTransform(); 
     82                colorsDef.setUniqueId(uniqueId); 
     83                 
     84                this.setJaxbElement(colorsDef);          
     85    } 
    5886                 
    5987} 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DrawingML/DiagramStylePart.java

    r1201 r1498  
    2222 
    2323 
     24import java.io.IOException; 
     25 
     26import javax.xml.bind.JAXBException; 
     27 
    2428import org.apache.log4j.Logger; 
     29import org.docx4j.dml.diagram.CTColorTransform; 
    2530import org.docx4j.dml.diagram.CTDataModel; 
    2631import org.docx4j.dml.diagram.CTStyleDefinition; 
     32import org.docx4j.dml.diagram.CTStyleLabel; 
     33import org.docx4j.dml.diagram.ObjectFactory; 
    2734import org.docx4j.openpackaging.exceptions.InvalidFormatException; 
    2835import org.docx4j.openpackaging.parts.JaxbXmlPart; 
     
    5764                setRelationshipType(Namespaces.DRAWINGML_DIAGRAM_STYLE); 
    5865        } 
    59                  
     66 
     67            public Object unmarshal(String filename) throws JAXBException { 
     68                 
     69                java.io.InputStream is = null; 
     70                        try { 
     71                                is = org.docx4j.utils.ResourceUtils.getResource( 
     72                                                "org/docx4j/openpackaging/parts/DrawingML/" + filename); 
     73                        } catch (IOException e) { 
     74                                e.printStackTrace(); 
     75                        }                
     76                 
     77                return unmarshal( is );    // side-effect is to set jaxbElement          
     78            } 
     79 
     80            public void CreateMinimalContent(String uniqueId) { 
     81 
     82                        ObjectFactory factory = new ObjectFactory();  
     83                         
     84                        CTStyleDefinition styleDef = factory.createCTStyleDefinition(); 
     85                        styleDef.setUniqueId(uniqueId); 
     86                         
     87                        CTStyleLabel styleLabel = factory.createCTStyleLabel(); 
     88                        styleLabel.setName("node0"); 
     89                         
     90                        styleDef.getStyleLbl().add(styleLabel); 
     91                         
     92                        this.setJaxbElement(styleDef);           
     93            } 
     94             
    6095} 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/DrawingML/JaxbDmlPart.java

    r1495 r1498  
    3535                } else if (contentType.equals(ContentTypes.DRAWINGML_DIAGRAM_STYLE)) { 
    3636                        return new org.docx4j.openpackaging.parts.DrawingML.DiagramStylePart(new PartName(partName));  
     37//              } else if (contentType.equals(ContentTypes.DRAWINGML_DIAGRAM_DRAWING)) { 
     38//                      return new org.docx4j.openpackaging.parts.DrawingML.DiagramDrawingPart(new PartName(partName)); 
    3739                } else if (contentType.equals(ContentTypes.DRAWINGML_DRAWING)) { 
    3840                        return new Drawing(new PartName(partName)); 
  • trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/relationships/Namespaces.java

    r1495 r1498  
    151151                "http://schemas.openxmlformats.org/officeDocument/2006/relationships/diagramLayoutHeader"; 
    152152 
     153        // "/word/diagrams/drawing1.xml" 
     154        public final static String DRAWINGML_DIAGRAM_DRAWING = 
     155                "http://schemas.openxmlformats.org/officeDocument/2007/relationships/diagramDrawing"; 
     156         
    153157         
    154158        // Target="ppt/presentation.xml" 
Note: See TracChangeset for help on using the changeset viewer.