/** if id can be resolved then simply return a word, otherwise return a resolvable area */ private InlineArea getPageNumberCitationLastInlineArea(LayoutManager parentLM) { TextArea text = null; int level = getBidiLevel(); if (!getPSLM().associateLayoutManagerID(fobj.getRefId())) { text = new UnresolvedPageNumber(fobj.getRefId(), font, UnresolvedPageNumber.LAST); getPSLM().addUnresolvedArea(fobj.getRefId(), (Resolvable) text); String str = "MMM"; // reserve three spaces for page number int width = getStringWidth(str); text.setBidiLevel(level); text.setIPD(width); resolved = false; } else { PageViewport page = getPSLM().getLastPVWithID(fobj.getRefId()); String str = page.getPageNumberString(); // get page string from parent, build area text = new TextArea(); int width = getStringWidth(str); text.setBidiLevel(level); text.addWord(str, 0, level); text.setIPD(width); resolved = true; } updateTextAreaTraits(text); return text; }
/** if id can be resolved then simply return a word, otherwise return a resolvable area */ private InlineArea getPageNumberCitationInlineArea() { final PageViewport page = getPSLM().getFirstPVWithID(this.fobj.getRefId()); TextArea text = null; if (page != null) { final String str = page.getPageNumberString(); // get page string from parent, build area text = new TextArea(); final int width = getStringWidth(str); text.addWord(str, 0); text.setIPD(width); this.resolved = true; } else { this.resolved = false; text = new UnresolvedPageNumber(this.fobj.getRefId(), this.font); final String str = "MMM"; // reserve three spaces for page number final int width = getStringWidth(str); text.setIPD(width); } updateTextAreaTraits(text); return text; }