Package org.apache.poi.hslf.model.textproperties

Examples of org.apache.poi.hslf.model.textproperties.TextProp


        // First is 30 long, left aligned, normal spacing
        TextPropCollection tppa = (TextPropCollection)ps.get(0);
        tppa.updateTextSize(30);

        TextProp tp = tppa.addWithName("alignment");
        tp.setValue(0);
        tp = tppa.addWithName("linespacing");
        tp.setValue(80);

        // Second is 28 long, centre aligned and normal spacing
        TextPropCollection tppb = stpa.addParagraphTextPropCollection(28);

        tp = tppb.addWithName("linespacing");
        tp.setValue(80);

        // Third is 25 long, right aligned and normal spacing
        TextPropCollection tppc = stpa.addParagraphTextPropCollection(25);

        tp = tppc.addWithName("alignment");
        tp.setValue(2);
        tp = tppc.addWithName("linespacing");
        tp.setValue(80);

        // Forth is left aligned + normal line spacing (despite differing font)
        TextPropCollection tppd = stpa.addParagraphTextPropCollection(97);

        tp = tppd.addWithName("alignment");
        tp.setValue(0);
        tp = tppd.addWithName("linespacing");
        tp.setValue(80);


        // Now do 4 character styles
        LinkedList cs = stpa.getCharacterStyles();

        // First is 30 long, bold and font size
        TextPropCollection tpca = (TextPropCollection)cs.get(0);
        tpca.updateTextSize(30);

        tp = tpca.addWithName("font.size");
        tp.setValue(20);
        CharFlagsTextProp cftp = (CharFlagsTextProp)
            tpca.addWithName("char_flags");
        assertEquals(0, cftp.getValue());
        cftp.setSubValue(true, CharFlagsTextProp.BOLD_IDX);
        assertEquals(1, cftp.getValue());

        // Second is 28 long, blue and italic
        TextPropCollection tpcb = stpa.addCharacterTextPropCollection(28);

        tp = tpcb.addWithName("font.size");
        tp.setValue(20);
        tp = tpcb.addWithName("font.color");
        tp.setValue(0x05000000);
        cftp = (CharFlagsTextProp)tpcb.addWithName("char_flags");
        cftp.setSubValue(true, CharFlagsTextProp.ITALIC_IDX);
        assertEquals(2, cftp.getValue());

        // Third is 25 long and red
        TextPropCollection tpcc = stpa.addCharacterTextPropCollection(25);

        tp = tpcc.addWithName("font.size");
        tp.setValue(20);
        tp = tpcc.addWithName("font.color");
        tp.setValue(0xfe0033ff);

        // Fourth is 96 long, underlined and different+bigger font
        TextPropCollection tpcd = stpa.addCharacterTextPropCollection(96);

        tp = tpcd.addWithName("font.size");
        tp.setValue(24);
        tp = tpcd.addWithName("font.index");
        tp.setValue(1);
        cftp = (CharFlagsTextProp)tpcd.addWithName("char_flags");
        cftp.setSubValue(true, CharFlagsTextProp.UNDERLINE_IDX);
        assertEquals(4, cftp.getValue());

        // Fifth is 1 long, underlined and different+bigger font + red
        TextPropCollection tpce = stpa.addCharacterTextPropCollection(1);

        tp = tpce.addWithName("font.size");
        tp.setValue(24);
        tp = tpce.addWithName("font.index");
        tp.setValue(1);
        tp = tpce.addWithName("font.color");
        tp.setValue(0xfe0033ff);
        cftp = (CharFlagsTextProp)tpce.addWithName("char_flags");
        cftp.setSubValue(true, CharFlagsTextProp.UNDERLINE_IDX);
        assertEquals(4, cftp.getValue());


        // Check it's as expected
        assertEquals(4, stpa.getParagraphStyles().size());
        assertEquals(5, stpa.getCharacterStyles().size());

        // Compare in detail to b
        StyleTextPropAtom stpb = new StyleTextPropAtom(data_b,0,data_b.length);
        stpb.setParentTextSize(data_b_text_len);
        LinkedList psb = stpb.getParagraphStyles();
        LinkedList csb = stpb.getCharacterStyles();

        assertEquals(psb.size(), ps.size());
        assertEquals(csb.size(), cs.size());

        // Ensure Paragraph Character styles match
        for(int z=0; z<2; z++) {
            LinkedList lla = cs;
            LinkedList llb = csb;
            int upto = 5;
            if(z == 1) {
                lla = ps;
                llb = psb;
                upto = 4;
            }

            for(int i=0; i<upto; i++) {
                TextPropCollection ca = (TextPropCollection)lla.get(i);
                TextPropCollection cb = (TextPropCollection)llb.get(i);

                assertEquals(ca.getCharactersCovered(), cb.getCharactersCovered());
                assertEquals(ca.getTextPropList().size(), cb.getTextPropList().size());

                for(int j=0; j<ca.getTextPropList().size(); j++) {
                    TextProp tpa = (TextProp)ca.getTextPropList().get(j);
                    TextProp tpb = (TextProp)cb.getTextPropList().get(j);
                    //System.out.println("TP " + i + " " + j + " " + tpa.getName() + "\t" + tpa.getValue() );
                    assertEquals(tpa.getName(), tpb.getName());
                    assertEquals(tpa.getMask(), tpb.getMask());
                    assertEquals(tpa.getWriteMask(), tpb.getWriteMask());
                    assertEquals(tpa.getValue(), tpb.getValue());
                }

                ByteArrayOutputStream ba = new ByteArrayOutputStream();
                ByteArrayOutputStream bb = new ByteArrayOutputStream();
View Full Code Here


          for (Iterator it1 = getParagraphStyles().iterator(); it1.hasNext();) {
              TextPropCollection pr = (TextPropCollection)it1.next();
              out.append("  chars covered: " + pr.getCharactersCovered());
              out.append("  special mask flags: 0x" + HexDump.toHex(pr.getSpecialMask()) + "\n");
              for (Iterator it2 = pr.getTextPropList().iterator(); it2.hasNext(); ) {
                  TextProp p = (TextProp)it2.next();
                  out.append("    " + p.getName() + " = " + p.getValue() );
                  out.append(" (0x" + HexDump.toHex(p.getValue()) + ")\n");
              }
             
              out.append("  para bytes that would be written: \n");
             
              try {
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          pr.writeOut(baos);
          byte[] b = baos.toByteArray();
          out.append(HexDump.dump(b, 0, 0));
              } catch (Exception e ) {
                e.printStackTrace();
              }
          }
 
          out.append("Character properties\n");
          for (Iterator it1 = getCharacterStyles().iterator(); it1.hasNext();) {
              TextPropCollection pr = (TextPropCollection)it1.next();
              out.append("  chars covered: " + pr.getCharactersCovered() );
              out.append("  special mask flags: 0x" + HexDump.toHex(pr.getSpecialMask()) + "\n");
              for (Iterator it2 = pr.getTextPropList().iterator(); it2.hasNext(); ) {
                  TextProp p = (TextProp)it2.next();
                  out.append("    " + p.getName() + " = " + p.getValue() );
                  out.append(" (0x" + HexDump.toHex(p.getValue()) + ")\n");
              }
             
              out.append("  char bytes that would be written: \n");
             
              try {
View Full Code Here

    if(characterStyle == null) {
      parentRun.ensureStyleAtomPresent();
      // characterStyle will now be defined
    }
   
    TextProp tp = fetchOrAddTextProp(characterStyle, propName);
    tp.setValue(val);
  }
View Full Code Here

   * @param textPropCol The TextPropCollection to fetch from / add into
   * @param textPropName The name of the TextProp to fetch/add
   */
  private TextProp fetchOrAddTextProp(TextPropCollection textPropCol, String textPropName) {
    // Fetch / Add the TextProp
    TextProp tp = textPropCol.findByName(textPropName);
    if(tp == null) {
      tp = textPropCol.addWithName(textPropName);
    }
    return tp;
  }
View Full Code Here

   * Returns -1 if that TextProp isn't present.
   * If the TextProp isn't present, the value from the appropriate
   *  Master Sheet will apply.
   */
  private int getCharTextPropVal(String propName) {
        TextProp prop = null;
        if (characterStyle != null){
            prop = characterStyle.findByName(propName);
        }

        if (prop == null){
            Sheet sheet = parentRun.getSheet();
            int txtype = parentRun.getRunType();
            MasterSheet master = sheet.getMasterSheet();
            if (master != null)
                prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, true);
        }
    return prop == null ? -1 : prop.getValue();
  }
View Full Code Here

   * Returns -1 if that TextProp isn't present.
   * If the TextProp isn't present, the value from the appropriate
   *  Master Sheet will apply.
   */
  private int getParaTextPropVal(String propName) {
        TextProp prop = null;
        boolean hardAttribute = false;
        if (paragraphStyle != null){
            prop = paragraphStyle.findByName(propName);

            BitMaskTextProp maskProp = (BitMaskTextProp)paragraphStyle.findByName(ParagraphFlagsTextProp.NAME);
            hardAttribute = maskProp != null && maskProp.getValue() == 0;
        }
        if (prop == null && !hardAttribute){
            Sheet sheet = parentRun.getSheet();
            int txtype = parentRun.getRunType();
            MasterSheet master = sheet.getMasterSheet();
            if (master != null)
                prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, false);
        }

    return prop == null ? -1 : prop.getValue();
  }
View Full Code Here

    if(paragraphStyle == null) {
      parentRun.ensureStyleAtomPresent();
      // paragraphStyle will now be defined
    }
   
    TextProp tp = fetchOrAddTextProp(paragraphStyle, propName);
    tp.setValue(val);
  }
View Full Code Here

   * @param textPropCol The TextPropCollection to fetch from / add into
   * @param textPropName The name of the TextProp to fetch/add
   */
  private TextProp fetchOrAddTextProp(TextPropCollection textPropCol, String textPropName) {
    // Fetch / Add the TextProp
    TextProp tp = textPropCol.findByName(textPropName);
    if(tp == null) {
      tp = textPropCol.addWithName(textPropName);
    }
    return tp;
  }
View Full Code Here

   * Returns -1 if that TextProp isn't present.
   * If the TextProp isn't present, the value from the appropriate
   *  Master Sheet will apply.
   */
  private int getCharTextPropVal(String propName) {
    TextProp prop = null;
    if (characterStyle != null){
      prop = characterStyle.findByName(propName);
    }

    if (prop == null){
      Sheet sheet = parentRun.getSheet();
      int txtype = parentRun.getRunType();
      MasterSheet master = sheet.getMasterSheet();
      if (master != null)
        prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, true);
    }
    return prop == null ? -1 : prop.getValue();
  }
View Full Code Here

   * Returns -1 if that TextProp isn't present.
   * If the TextProp isn't present, the value from the appropriate
   *  Master Sheet will apply.
   */
  private int getParaTextPropVal(String propName) {
    TextProp prop = null;
    boolean hardAttribute = false;
    if (paragraphStyle != null){
      prop = paragraphStyle.findByName(propName);

      BitMaskTextProp maskProp = (BitMaskTextProp)paragraphStyle.findByName(ParagraphFlagsTextProp.NAME);
      hardAttribute = maskProp != null && maskProp.getValue() == 0;
    }
    if (prop == null && !hardAttribute){
      Sheet sheet = parentRun.getSheet();
      int txtype = parentRun.getRunType();
      MasterSheet master = sheet.getMasterSheet();
      if (master != null)
        prop = master.getStyleAttribute(txtype, getIndentLevel(), propName, false);
    }

    return prop == null ? -1 : prop.getValue();
  }
View Full Code Here

TOP

Related Classes of org.apache.poi.hslf.model.textproperties.TextProp

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.