- Timestamp:
- 01/10/12 15:09:03 (5 months ago)
- Location:
- trunk/docx4j/src/main/java/org/docx4j/model/listnumbering
- Files:
-
- 1 added
- 2 edited
-
ListLevel.java (modified) (3 diffs)
-
ListNumberingDefinition.java (modified) (3 diffs)
-
NumberFormatDecimalZero.java (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/model/listnumbering/ListLevel.java
r1745 r1746 333 333 return converter.format(current).toUpperCase(); 334 334 } 335 if (numFmt.equals( NumberFormat.DECIMAL_ZERO ) ) { 336 NumberFormatDecimalZero converter = new NumberFormatDecimalZero(); 337 return converter.format(current); 338 } 335 339 336 340 log.error("Unhandled numFmt: " + numFmt.name() ); … … 338 342 } 339 343 344 public String getCurrentValueUnformatted() 345 { 346 return this.counter.getCurrentValue().toString(); 347 } 340 348 341 349 /** … … 394 402 // this.numFmt = numFmt; 395 403 // } 396 pr ivateNumberFormat getNumFmt() {404 protected NumberFormat getNumFmt() { 397 405 return numFmt; 398 406 } -
trunk/docx4j/src/main/java/org/docx4j/model/listnumbering/ListNumberingDefinition.java
r1745 r1746 93 93 import org.docx4j.XmlUtils; 94 94 import org.docx4j.wml.Lvl; 95 import org.docx4j.wml.NumberFormat; 95 96 import org.docx4j.wml.Numbering; 96 97 import org.docx4j.wml.Numbering.Num.LvlOverride.StartOverride; … … 252 253 public String GetCurrentNumberString(String level) 253 254 { 254 String formatString = this.levels.get(level).getLevelText(); 255 ListLevel controllingLvl = this.levels.get( level ); 256 257 boolean isLegal = controllingLvl.getJaxbAbstractLvl().getIsLgl() !=null 258 && controllingLvl.getJaxbAbstractLvl().getIsLgl().isVal(); 259 log.debug("isLegal: " + isLegal); 260 261 String formatString = controllingLvl.getLevelText(); 255 262 log.debug("levelText: " + formatString ); 256 263 StringBuilder result = new StringBuilder(); … … 269 276 // as it turns out, in the format String, the level is 1-based 270 277 int levelId = Integer.parseInt(formatStringLevel) - 1; 271 result.append(this.levels.get( Integer.toString(levelId) ).getCurrentValueFormatted() ); 278 ListLevel lvl = this.levels.get( Integer.toString(levelId) ); 279 if (level.equals("" + levelId) // this bit is the actual level 280 && lvl.getNumFmt().equals( NumberFormat.DECIMAL_ZERO )) { // Where this level sets <w:isLgl>, what other formats are to be respected? 281 result.append(lvl.getCurrentValueFormatted() ); 282 } else if (isLegal ) { 283 // Use normal decimal numbering 284 result.append(lvl.getCurrentValueUnformatted() ); 285 286 } else { 287 // Usual case 288 result.append(lvl.getCurrentValueFormatted() ); 289 } 272 290 i++; 273 291 }
Note: See TracChangeset
for help on using the changeset viewer.
