Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }