/******************************************************************************* * Copyright (c) 2002-2006 Innoopract Informationssysteme GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Innoopract Informationssysteme GmbH - initial API and implementation ******************************************************************************/ package com.w4t.dhtml.menuitemkit; import java.io.IOException; import org.eclipse.rwt.internal.lifecycle.HtmlResponseWriter; import org.eclipse.rwt.internal.util.HTML; import com.w4t.*; import com.w4t.dhtml.MenuItem; import com.w4t.dhtml.menustyle.MenuItemEnabledStyle; import com.w4t.util.image.*; /** <p>The renderer for org.eclipse.rap.dhtml.MenuItem on Netscape Navigator 6 * and higher without javascript support.</p> */ public class MenuItemRenderer_Mozilla1_6up_Noscript extends MenuItemRenderer { public void processAction( final WebComponent component ) { ProcessActionUtil.processActionPerformedNoScript( component ); } void renderActiveItem( final MenuItem menuItem ) throws IOException { try { String imageName = retrieveImageName( menuItem ); if( ImageCache.getInstance().isStandardSubmitterImage( imageName ) ) { createLabeledDefaultSubmitter( menuItem ); } else { createActionSubmitter( menuItem, imageName ); } } catch( Exception e ) { System.out.println( "\nException creating submitter image:\n" + e ); createLabeledDefaultSubmitter( menuItem ); } } void renderInactiveItem( final MenuItem menuItem ) throws IOException { HtmlResponseWriter out = getResponseWriter(); out.startElement( HTML.A, null ); out.writeAttribute( HTML.TITLE, MenuItemUtil.getTitle( menuItem ), null ); out.writeAttribute( HTML.CLASS, "menuItem", null ); String style = MenuItemUtil.getMIDStyle( menuItem ).toString(); out.writeAttribute( HTML.STYLE, style, null ); out.writeText( MenuItemUtil.getLabel( menuItem ), null ); out.endElement( HTML.A ); } private String retrieveImageName( final MenuItem menuItem ) { MenuItemEnabledStyle style = MenuItemUtil.getMIEStyle( menuItem ); ImageDescriptor imgDesc = ImageDescriptorFactory.create( MenuItemUtil.getLabel( menuItem ), style.getColor(), style.getBgColor(), style.getFontFamily(), style.getFontSize(), style.getFontWeight(), style.getFontStyle() ); return ImageCache.getInstance().getImageName( imgDesc ); } private void createLabeledDefaultSubmitter( final MenuItem menuItem ) throws IOException { HtmlResponseWriter out = getResponseWriter(); out.startElement( HTML.A, null ); out.writeText( MenuItemUtil.getLabel( menuItem ), null ); out.writeNBSP(); RenderUtil.writeActionSubmitter( menuItem.getUniqueID() ); out.endElement( HTML.A ); } private void createActionSubmitter( final MenuItem menuItem, final String imageName ) throws IOException { RenderUtil.writeActionSubmitter( imageName, menuItem.getUniqueID(), MenuItemUtil.getLabel( menuItem ), "menuItem" ); } }