/******************************************************************************* * Copyright (c) 2005-2009, G. Weirich and Elexis * 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: * G. Weirich - initial implementation * *******************************************************************************/ package ch.elexis.core.application.advisors; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPreferenceConstants; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.application.ActionBarAdvisor; import org.eclipse.ui.application.IActionBarConfigurer; import org.eclipse.ui.application.IWorkbenchWindowConfigurer; import org.eclipse.ui.application.WorkbenchWindowAdvisor; import ch.elexis.core.constants.Preferences; import ch.elexis.core.data.activator.CoreHub; import ch.elexis.core.ui.Hub; import ch.elexis.core.ui.actions.ScannerEvents; /** * Hier können Funktionen aufgerufen werden, die unmittelbar vor dem öffnen des Hauptfensters * erfolgen sollen. Im Wesentlichen werden hier die Menue und Toolbars gesetzt */ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer){ super(configurer); } public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer){ return new ApplicationActionBarAdvisor(configurer); } /** * Diese Methode wird jeweils unmittelbar vor dem öffnen des Anwendungsfensters ausgeführt. */ public void preWindowOpen(){ IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); // configurer.setInitialSize(new Point(900, 700)); configurer.setShowCoolBar(true); configurer.setShowStatusLine(true); configurer.setShowProgressIndicator(true); configurer.setTitle(Hub.APPLICATION_NAME + " " + CoreHub.readElexisBuildVersion()); configurer.setShowFastViewBars(true); if (CoreHub.localCfg.get(Preferences.SHOWPERSPECTIVESELECTOR, Boolean.toString(false)) .equals(Boolean.toString(true))) { configurer.setShowPerspectiveBar(true); } else { configurer.setShowPerspectiveBar(false); } // Wir wollen die schicken runden Tabs von Eclipse 3.x PlatformUI.getPreferenceStore().setValue( IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false); // Aber die Animationen sind eher nervend, nicht? PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.ENABLE_ANIMATIONS, false); } @Override public void postWindowOpen(){ } @Override public boolean preWindowShellClose(){ return true; } @Override public void createWindowContents(Shell shell){ super.createWindowContents(shell); ScannerEvents.addListenerToDisplay(shell.getDisplay()); } }