/** * Prepares the page in the given page rec for use in this view. * * @param rec */ private void preparePage(PageRec rec) { IPageSite site = null; Integer count; if (!doesPageExist(rec.page)) { if (rec.page instanceof IPageBookViewPage) { site = ((IPageBookViewPage) rec.page).getSite(); } if (site == null) { // We will create a site for our use site = new PageSite(getViewSite()); } mapPageToSite.put(rec.page, site); rec.subActionBars = (SubActionBars) site.getActionBars(); rec.subActionBars.addPropertyChangeListener(actionBarPropListener); // for backward compability with IPage rec.page.setActionBars(rec.subActionBars); count = Integer.valueOf(0); } else { site = mapPageToSite.get(rec.page); rec.subActionBars = (SubActionBars) site.getActionBars(); count = mapPageToNumRecs.get(rec.page); } mapPageToNumRecs.put(rec.page, Integer.valueOf(count.intValue() + 1)); }