private LevelTuple buildTuple(int i, ListLevel listLevel) { boolean isLegal = false; int start = 1; int restart = -1; String lvlText = "%" + i + "."; String numFmt = "decimal"; start = listLevel.getStartAt(); restart = listLevel.getRestart(); isLegal = listLevel.isLegalNumbering(); numFmt = convertToNewNumFormat(listLevel.getNumberFormat()); lvlText = convertToNewNumberText(listLevel.getNumberText(), listLevel.getLevelNumberingPlaceholderOffsets()); return new LevelTuple(start, restart, lvlText, numFmt, isLegal); }
paragraph.getIlvl() ); if ( listLevel.getNumberText() == null ) return EMPTY; char[] xst = listLevel.getNumberText().toCharArray(); for ( char element : xst ) int num = numLevel.getStartAt(); bulletBuffer.append( NumberFormatter.getNumber( num, listLevel.getNumberFormat() ) ); numLevel.setStartAt( numLevel.getStartAt() + 1 ); byte follow = listLevel.getTypeOfCharFollowingTheNumber(); switch ( follow )
System.out.print("\tgetNumberText: \"" + level.getNumberText() + "\"" ); System.out.println("\tgetNumberFormat: " + level.getNumberFormat() ); } else { System.out.println();
/** * An MSONFC, as specified in [MS-OSHARED] section 2.2.1.3, that specifies * the format of the level numbers that replace the placeholders for this * level in the xst fields of the LVLs in this list. This value MUST not be * equal to 0x08, 0x09, 0x0F, or 0x13. If this is equal to 0xFF or 0x17, * this level does not have a number sequence and therefore has no number * formatting. If this is equal to 0x17, the level uses bullets. */ public int getNumberFormat( char level ) { return getLVL( level ).getNumberFormat(); }
public String getNumberText( char level ) { return getLVL( level ).getNumberText(); }
protected void dumpParagraphLevels( ListTables listTables, ParagraphProperties paragraph ) { if ( paragraph.getIlfo() != 0 ) { final ListFormatOverride listFormatOverride = listTables .getOverride( paragraph.getIlfo() ); System.out.println( "PAP's LFO: " + listFormatOverride ); final ListLevel listLevel = listTables.getLevel( listFormatOverride.getLsid(), paragraph.getIlvl() ); System.out.println( "PAP's ListLevel: " + listLevel ); if ( listLevel.getGrpprlPapx() != null ) { System.out.println( "PAP's ListLevel PAPX:" ); dumpSprms( new SprmIterator( listLevel.getGrpprlPapx(), 0 ), "* " ); } if ( listLevel.getGrpprlPapx() != null ) { System.out.println( "PAP's ListLevel CHPX:" ); dumpSprms( new SprmIterator( listLevel.getGrpprlChpx(), 0 ), "* " ); } } }
public ListTables( byte[] tableStream, final int lstOffset, final int fcPlfLfo, final int lcbPlfLfo ) { /* * The PlfLst structure contains the list formatting information for the * document. -- Page 425 of 621. [MS-DOC] -- v20110315 Word (.doc) * Binary File Format */ int offset = lstOffset; int cLst = LittleEndian.getShort( tableStream, offset ); offset += LittleEndian.SHORT_SIZE; int levelOffset = offset + ( cLst * LSTF.getSize() ); for ( int x = 0; x < cLst; x++ ) { ListData lst = new ListData( tableStream, offset ); _listMap.put( Integer.valueOf( lst.getLsid() ), lst ); offset += LSTF.getSize(); int num = lst.numLevels(); for ( int y = 0; y < num; y++ ) { ListLevel lvl = new ListLevel(); levelOffset += lvl.read( tableStream, levelOffset ); lst.setLevel( y, lvl ); } } this._plfLfo = new PlfLfo( tableStream, fcPlfLfo, lcbPlfLfo ); }
public int getStartAt( char level ) { if ( isStartAtOverriden( level ) ) { return _lfoData.getRgLfoLvl()[level].getIStartAt(); } return getLVL( level ).getStartAt(); }
public int getSizeInBytes() { return _lvl == null ? LFOLVLBase.getSize() : LFOLVLBase.getSize() + _lvl.getSizeInBytes(); }
public ListData( int listID, boolean numbered ) { _lstf = new LSTF(); _lstf.setLsid( listID ); _lstf.setRgistdPara( new short[9] ); Arrays.fill( _lstf.getRgistdPara(), (short) StyleSheet.NIL_STYLE ); _levels = new ListLevel[9]; for ( int x = 0; x < _levels.length; x++ ) { _levels[x] = new ListLevel( x, numbered ); } }
public boolean equals( Object obj ) { if (!(obj instanceof ListFormatOverrideLevel)) return false; ListFormatOverrideLevel lfolvl = (ListFormatOverrideLevel) obj; boolean lvlEquality = false; if ( _lvl != null ) { lvlEquality = _lvl.equals( lfolvl._lvl ); } else { lvlEquality = lfolvl._lvl == null; } return lvlEquality && lfolvl._base.equals( _base ); }
listFormatOverride.getLsid(), properties.getIlvl() ); if ( listLevel.getGrpprlPapx() != null ) properties, listLevel.getGrpprlPapx(), 0 );
protected void dumpParagraphLevels( ListTables listTables, ParagraphProperties paragraph ) { if ( paragraph.getIlfo() != 0 ) { final LFO lfo = listTables.getLfo( paragraph.getIlfo() ); System.out.println( "PAP's LFO: " + lfo ); final LFOData lfoData = listTables.getLfoData( paragraph.getIlfo() ); System.out.println( "PAP's LFOData: " + lfoData ); if ( lfo != null ) { final ListLevel listLevel = listTables.getLevel( lfo.getLsid(), paragraph.getIlvl() ); System.out.println( "PAP's ListLevel: " + listLevel ); if ( listLevel.getGrpprlPapx() != null ) { System.out.println( "PAP's ListLevel PAPX:" ); dumpSprms( new SprmIterator( listLevel.getGrpprlPapx(), 0 ), "* " ); } if ( listLevel.getGrpprlPapx() != null ) { System.out.println( "PAP's ListLevel CHPX:" ); dumpSprms( new SprmIterator( listLevel.getGrpprlChpx(), 0 ), "* " ); } } } }
public int getSizeInBytes() { return _lvl == null ? LFOLVLBase.getSize() : LFOLVLBase.getSize() + _lvl.getSizeInBytes(); }
public ListFormatOverrideLevel( byte[] buf, int offset ) { _base = new LFOLVLBase( buf, offset ); offset += LFOLVLBase.getSize(); if ( _base.isFFormatting() ) { _lvl = new ListLevel( buf, offset ); } }
public boolean equals( Object obj ) { if ( obj == null ) { return false; } ListFormatOverrideLevel lfolvl = (ListFormatOverrideLevel) obj; boolean lvlEquality = false; if ( _lvl != null ) { lvlEquality = _lvl.equals( lfolvl._lvl ); } else { lvlEquality = lfolvl._lvl == null; } return lvlEquality && lfolvl._base.equals( _base ); }
properties.getIlvl() ); if ( listLevel != null && listLevel.getGrpprlPapx() != null ) properties, listLevel.getGrpprlPapx(), 0 );
private LevelTuple buildTuple(int i, ListLevel listLevel) { boolean isLegal = false; int start = 1; int restart = -1; String lvlText = "%" + i + "."; String numFmt = "decimal"; start = listLevel.getStartAt(); restart = listLevel.getRestart(); isLegal = listLevel.isLegalNumbering(); numFmt = convertToNewNumFormat(listLevel.getNumberFormat()); lvlText = convertToNewNumberText(listLevel.getNumberText(), listLevel.getLevelNumberingPlaceholderOffsets()); return new LevelTuple(start, restart, lvlText, numFmt, isLegal); }
public byte[] toByteArray() { byte[] buf = IOUtils.safelyAllocate(getSizeInBytes(), MAX_RECORD_LENGTH); int offset = 0; _lvlf.setCbGrpprlChpx( (short) _grpprlChpx.length ); _lvlf.setCbGrpprlPapx( (short) _grpprlPapx.length ); _lvlf.serialize( buf, offset ); offset += LVLF.getSize(); System.arraycopy( _grpprlPapx, 0, buf, offset, _grpprlPapx.length ); offset += _grpprlPapx.length; System.arraycopy( _grpprlChpx, 0, buf, offset, _grpprlChpx.length ); offset += _grpprlChpx.length; _xst.serialize( buf, offset ); offset += _xst.getSize(); return buf; }