/******************************************************************************* * Copyright (c) 2008, 2009 EclipseSource and others. 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: * EclipseSource - initial API and implementation ******************************************************************************/ package org.eclipse.rap.examples.internal; import org.eclipse.rwt.RWT; import org.eclipse.rwt.internal.lifecycle.HtmlResponseWriter; import org.eclipse.rwt.internal.service.ContextProvider; import org.eclipse.rwt.internal.service.IServiceStateInfo; import org.eclipse.rwt.lifecycle.*; import org.eclipse.swt.widgets.Display; import org.eclipse.ui.application.*; public class ExamplesWorkbenchAdvisor extends WorkbenchAdvisor { public String getInitialWindowPerspectiveId() { return ExamplePerspective.ID; } public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( final IWorkbenchWindowConfigurer configurer ) { return new ExamplesWorkbenchWindowAdvisor( configurer ); } public void preStartup() { final Display display = Display.getCurrent(); RWT.getLifeCycle().addPhaseListener( new PhaseListener() { private static final long serialVersionUID = 1L; public void beforePhase( final PhaseEvent event ) { } public void afterPhase( final PhaseEvent event ) { if( Display.getCurrent() == display ) { String removeSplashJs = "var splashDiv = document.getElementById( \"splash\" );\n" + " if( splashDiv != null ) {\n" + " splashDiv.parentNode.removeChild( splashDiv );\n" + " }\n"; IServiceStateInfo stateInfo = ContextProvider.getStateInfo(); HtmlResponseWriter writer = stateInfo.getResponseWriter(); writer.append( removeSplashJs ); RWT.getLifeCycle().removePhaseListener( this ); } } public PhaseId getPhaseId() { return PhaseId.RENDER; } } ); } }