![JAR search and dependency download from the Maven repository](/logo.png)
org.eclipse.ui.cheatsheets.OpenCheatSheetAction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.eclipse.rap.ui.cheatsheets
Show all versions of org.eclipse.rap.ui.cheatsheets
The RAP Widget Toolkit Eclipse UI Cheatsheets
The newest version!
/*******************************************************************************
* Copyright (c) 2004, 2007 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 API and implementation
*******************************************************************************/
package org.eclipse.ui.cheatsheets;
import java.net.URL;
// RAP [if] Help system not supported
//import org.eclipse.help.ui.internal.views.HelpTray;
//import org.eclipse.help.ui.internal.views.IHelpPartPage;
//import org.eclipse.help.ui.internal.views.ReusableHelpPart;
import org.eclipse.jface.action.Action;
//import org.eclipse.jface.dialogs.TrayDialog;
//import org.eclipse.swt.widgets.Display;
//import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
//import org.eclipse.ui.internal.cheatsheets.registry.CheatSheetElement;
//import org.eclipse.ui.internal.cheatsheets.registry.CheatSheetRegistryReader;
//import org.eclipse.ui.internal.cheatsheets.state.DefaultStateManager;
//import org.eclipse.ui.internal.cheatsheets.views.CheatSheetHelpPart;
import org.eclipse.ui.internal.cheatsheets.views.CheatSheetView;
import org.eclipse.ui.internal.cheatsheets.views.ViewUtilities;
/**
* Action for opening a cheat sheet. The cheat sheet can be specified
* either by a cheat sheet id or by a URL of a cheat sheet content file.
*
* @since 3.0
* @noextend This class is not intended to be subclassed by clients.
*/
public final class OpenCheatSheetAction extends Action {
private String id;
private String name;
private URL url;
private String xml;
private String basePath;
/**
* Creates an action that opens the cheat sheet with the given id.
* The cheat sheet content file is located via the
* org.eclipse.ui.cheatsheets.cheatSheetContent
* extension point.
*
* @param id the cheat sheet id
* @exception IllegalArgumentException if id
* is null
*/
public OpenCheatSheetAction(String id) {
if (id == null) {
throw new IllegalArgumentException();
}
this.id = id;
}
/**
* Creates an action that opens the cheat sheet with the
* given cheat sheet content file.
*
* @param id the id to give this cheat sheet
* @param name the name to give this cheat sheet
* @param url URL of the cheat sheet content file
* @exception IllegalArgumentException if the parameters
* are null
*/
public OpenCheatSheetAction(String id, String name, URL url) {
if (id == null || name == null || url == null) {
throw new IllegalArgumentException();
}
this.id = id;
this.name = name;
this.url = url;
}
/**
* Creates an action that opens a cheat sheet using
* XML passed in as a string.
*
* @param id the id to give this cheat sheet
* @param name the name to give this cheat sheet
* @param xml the cheatsheet content in xml format
* @param baseURL is a URL which is only required if the cheat sheet is
* a composite cheat sheet which has tasks which use path parameters in which
* case the paths will be relative to baseURL. May be null
* if this is not a composite cheat sheet
* @exception IllegalArgumentException if the parameters
* are null
* @since 3.3
*/
public OpenCheatSheetAction(String id, String name, String xml, URL baseURL) {
if (id == null || name == null || xml == null) {
throw new IllegalArgumentException();
}
this.id = id;
this.name = name;
this.xml = xml;
if (baseURL !=null) {
basePath = baseURL.toExternalForm();
}
}
/* (non-javadoc)
* This action will try to launch the cheat sheet view and populate
* it with the content specified either in the URL or the content
* file specified in the cheatsheetContent extension point
* for the cheat sheet with the id passed to this action.
* @see IAction#run()
*/
public void run() {
// RAP [if] Help system not supported
// Shell shell = Display.getDefault().getActiveShell();
// // are we in a dialog that can show a cheat sheet?
// if (shell != null && !shell.isFocusControl() && shell.getData() instanceof TrayDialog) {
// TrayDialog dialog = (TrayDialog)shell.getData();
// HelpTray tray = (HelpTray)dialog.getTray();
// if (tray == null) {
// tray = new HelpTray();
// dialog.openTray(tray);
// }
// ReusableHelpPart helpPart = tray.getHelpPart();
// IHelpPartPage page = helpPart.createPage(CheatSheetHelpPart.ID, null, null);
// page.setVerticalSpacing(0);
// page.setHorizontalMargin(0);
// CheatSheetElement contentElement = CheatSheetRegistryReader.getInstance().findCheatSheet(id);
// helpPart.addPart(CheatSheetHelpPart.ID, new CheatSheetHelpPart(helpPart.getForm().getForm().getBody(), helpPart.getForm().getToolkit(), page.getToolBarManager(), contentElement, new DefaultStateManager()));
// page.addPart(CheatSheetHelpPart.ID, true);
// helpPart.addPage(page);
// helpPart.showPage(CheatSheetHelpPart.ID);
// }
// else {
CheatSheetView view = ViewUtilities.showCheatSheetView();
if (view == null) {
return;
}
// Depending on which constructor was used open the cheat sheet view from a
// URL, an XML string or based on the id
if(url != null) {
view.setInput(id, name, url);
} else if (xml != null) {
view.setInputFromXml(id, name, xml, basePath);
} else {
view.setInput(id);
}
IWorkbenchPage page = view.getSite().getWorkbenchWindow().getActivePage();
page.bringToTop(view);
// }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy