| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation 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: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.authoring.ui.actions; |
| |
| import java.util.Properties; |
| |
| import org.eclipse.epf.authoring.ui.AuthoringUIResources; |
| import org.eclipse.jface.action.Action; |
| import org.eclipse.ui.IWorkbenchPage; |
| import org.eclipse.ui.IWorkbenchPartReference; |
| import org.eclipse.ui.IWorkbenchWindow; |
| import org.eclipse.ui.PartInitException; |
| import org.eclipse.ui.PlatformUI; |
| import org.eclipse.ui.internal.WorkbenchPage; |
| import org.eclipse.ui.internal.cheatsheets.views.CheatSheetView; |
| import org.eclipse.ui.intro.IIntroSite; |
| import org.eclipse.ui.intro.config.IIntroAction; |
| |
| /** |
| * Open cheat sheet view |
| * |
| * @author Bingxue Xu |
| * @since 1.0 |
| * |
| */ |
| public class OpenCheatsheetView extends Action implements IIntroAction { |
| |
| /** |
| * Create an instance |
| * |
| */ |
| public OpenCheatsheetView() { |
| super(AuthoringUIResources.OpenCheatsheetView_title); //$NON-NLS-1$ |
| } |
| |
| /* |
| * @see org.eclipse.ui.intro.config.IIntroAction#run(org.eclipse.ui.intro.IIntroSite, java.util.Properties) |
| */ |
| public void run(IIntroSite site, Properties params) { |
| String cheatsheet_id = params.getProperty("input"); //$NON-NLS-1$ |
| String toggle_str = params.getProperty("toggle"); //$NON-NLS-1$ |
| // System.out.println("$$$ INFO: cheatsheet id = " + cheatsheet_id); |
| |
| IWorkbenchWindow activeWindow = PlatformUI.getWorkbench() |
| .getActiveWorkbenchWindow(); |
| |
| // de-maximaize the welcome, i.e. the intro view window |
| if (toggle_str != null && toggle_str.equalsIgnoreCase("true")) { //$NON-NLS-1$ |
| toggleActiveView(); |
| } |
| |
| try { |
| // CheatSheetView obj = new CheatSheetView(); |
| activeWindow.getActivePage().showView( |
| "org.eclipse.ui.cheatsheets.views.CheatSheetView"); //$NON-NLS-1$ |
| CheatSheetView csView = (CheatSheetView) activeWindow |
| .getActivePage().getActivePart(); |
| csView.setInput(cheatsheet_id); |
| |
| } catch (PartInitException exp) { |
| // $$$ error handling here. |
| } |
| |
| } |
| |
| /** |
| * Toggle active view |
| * |
| */ |
| private void toggleActiveView() { |
| IWorkbenchWindow activeWindow = PlatformUI.getWorkbench() |
| .getActiveWorkbenchWindow(); |
| |
| // de-maximaize the welcome, i.e. the intro view window or any active |
| // view |
| IWorkbenchPage page = activeWindow.getActivePage(); |
| if (page != null) { |
| if (page instanceof WorkbenchPage) { |
| //WorkbenchPage realPage = (WorkbenchPage) page; |
| |
| IWorkbenchPartReference partRef = page.getActivePartReference(); |
| |
| if (partRef != null) { |
| ((WorkbenchPage) page).toggleZoom(partRef); |
| } |
| } |
| } |
| } |
| |
| } |