/** * Change the toolbar selection and display the tab index. * * @param selected The index of the tab to be selected */ protected void setSelectedPanel(final int selected) { int tab = selected; if(-1 == tab) { tab = 0; } String identifier = tabView.tabViewItemAtIndex(tab).identifier(); if(!this.validateTabWithIdentifier(identifier)) { tab = 0; identifier = tabView.tabViewItemAtIndex(tab).identifier(); } tabView.selectTabViewItemAtIndex(tab); NSTabViewItem page = tabView.selectedTabViewItem(); if(page == null) { page = tabView.tabViewItemAtIndex(0); } toolbar.setSelectedItemIdentifier(page.identifier()); this.initializePanel(identifier); }
@Override public NSToolbarItem toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar(final NSToolbar toolbar, final String itemIdentifier, final boolean flag) { if(!cache.containsKey(itemIdentifier)) { cache.put(itemIdentifier, NSToolbarItem.itemWithIdentifier(itemIdentifier)); } final NSToolbarItem toolbarItem = cache.get(itemIdentifier); final NSTabViewItem tab = tabView.tabViewItemAtIndex(tabView.indexOfTabViewItemWithIdentifier(itemIdentifier)); if(null == tab) { log.warn(String.format("No tab for toolbar item %s", itemIdentifier)); return null; } toolbarItem.setLabel(tab.label()); toolbarItem.setPaletteLabel(tab.label()); toolbarItem.setToolTip(tab.label()); toolbarItem.setImage(IconCacheFactory.<NSImage>get().iconNamed(String.format("%s.tiff", itemIdentifier), 32)); toolbarItem.setTarget(this.id()); toolbarItem.setAction(Foundation.selector("toolbarItemSelected:")); return toolbarItem; }