| Home >> All >> javax >> ide >> menu >> [ spi Javadoc ] |
Source code: javax/ide/menu/spi/ToolbarsVisitor.java
1 package javax.ide.menu.spi; 2 3 import java.util.logging.Level; 4 5 import javax.ide.extension.ElementName; 6 import javax.ide.extension.ElementStartContext; 7 import javax.ide.extension.ElementVisitor; 8 import javax.ide.extension.ExtensionHook; 9 10 11 final class ToolbarsVisitor extends ElementVisitor 12 { 13 private static final ElementName TOOLBAR = element( "toolbar" ); 14 15 private final static ElementName element( String name ) 16 { 17 return new ElementName( ExtensionHook.MANIFEST_XMLNS, name ); 18 } 19 20 private final ElementVisitor _toolbarHandler = new ToolbarHandler(); 21 22 public void start( ElementStartContext context ) 23 { 24 context.registerChildVisitor( TOOLBAR, _toolbarHandler ); 25 } 26 27 private class ToolbarHandler extends ElementVisitor 28 { 29 private final ElementVisitor _sectionHandler = new SectionVisitor(); 30 31 public void start( ElementStartContext context ) 32 { 33 String id = context.getAttributeValue( "id" ); 34 if ( id == null || (id = id.trim()).length() == 0 ) 35 { 36 log( context, Level.SEVERE, "Missing required attribute 'id'." ); 37 return; 38 } 39 40 MenuModel model = 41 (MenuModel) context.getScopeData().get( MenuHook.KEY_MENU_MODEL ); 42 43 Toolbar toolbar = model.findOrCreateToolbar( id ); 44 context.getScopeData().put( MenuHook.KEY_SECTION_CONTAINER, toolbar ); 45 context.registerChildVisitor( SectionVisitor.SECTION, _sectionHandler ); 46 } 47 } 48 49 50 }