blob: 841132b6640a8c7eba8a55477416fad17310e09f [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2002, 2006. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<LINK REL="STYLESHEET" HREF="../../../book.css" TYPE="text/css">
<title>RSE Actions API</title>
<STYLE type="text/css">
<!--
TH {
background-color: #e5e5e5
}
-->
</STYLE>
</head>
<body bgcolor="#ffffff">
<h1>RSE Actions API</h1>
<p>In Eclipse, we typically launch our dialogs and wizards and menu items from an action, which is
a class that implements the JFace <samp>IAction</samp> interface. The Remote System Explorer offers classes to
help simplify the creation of action classes, especially when used together with the RSE classes for
<a href="../dialogs/uiDialogsAPI.html">dialogs</a> and <a href="../wizards/uiWizardsAPI.html">wizards</a>.
</p>
<p>There are two ways the Remote System Explorer API set can help you when it comes to actions:
<ol>
<li>A set of base action classes from which to base your own action classes.
<li>A set of re-usable actions for specific requirements.
</ol>
</p>
<h2>RSE-Supplied Base Classes for Actions</h2>
<p>Here are the primary base classes the RSE supplies for actions, all of which are found in the
package <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/package-summary.html"org.eclipse.rse.ui.actions</A></samp>
in the plugin <samp>org.eclipse.rse.ui</samp>:</p>
<TABLE border="1">
<TBODY>
<TR>
<TH>Class</TH>
<TH>Description</TH>
</TR>
<TR>
<TD><samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html">SystemBaseAction</A></samp></TD>
<TD>This is the base action class for the other classes, and is only used directly for actions that do not
result in a dialog or wizard being presented to the user. It extends the JFace <samp>Action</samp> class,
adding to it support for properties such as the current shell and viewer and selection, as well as
overridable methods for easily enabling/disabling the action based on the selection, and a method for
setting the context help for the action. There are many other useful methods, such
as <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html#allowOnMultipleSelection(boolean)">allowOnMultipleSelection(boolean)</A></samp>
and <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html#setContextMenuGroup(java.lang.String)">setContextMenuGroup(String)</A></samp>, to
simplify when the action is enabled and where it appears in a popup menu.
</TD>
</TR>
<TR>
<TD><samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.html">SystemBaseSubMenuAction</A></samp></TD>
<TD>This base action class extends <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html">SystemBaseAction</A></samp>, and is used as the parent class when
for popup menu actions that are to cascade. A cascading menu is itself another menu, really, containing actions just like the primary
menu does. So, to create a cascading menu action, you simply subclass this class and override the method
<samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.html#populateSubMenu(org.eclipse.jface.action.IMenuManager)">populateSubMenu</A></samp>, where
you add all the actions to show in this cascading menu. And yes, one or more of those can themselves be cascading. The RSE views will
automatically call the method <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseSubMenuAction.html#getSubMenu()">getSubMenu</A></samp> when populating the initial popup menu, but your own views will need to do this.</TD>
</TR>
<TR>
<TD><samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseDialogAction.html">SystemBaseDialogAction</A></samp></TD>
<TD>This base action class extends <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html">SystemBaseAction</A></samp>, and is used when the action presents the
user with a dialog, preferably a dialog that extends the RSE
<samp><A href="../../../reference/api/org/eclipse/rse/ui/dialogs/SystemPromptDialog.html">SystemPromptDialog</A></samp> class. To use this class, subclass it and override the methods </TD>
</TR>
<TR>
<TD><samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseWizardAction.html">SystemBaseWizardAction</A></samp></TD>
<TD>This base action class extends <samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/SystemBaseAction.html">SystemBaseAction</A></samp>, and is used when the action presents the
user with a wizard, preferably a wizard that extends the RSE <samp><A href="../../../reference/api/org/eclipse/rse/ui/wizards/AbstractSystemWizard.html">AbstractSystemWizard</A></samp> class.</TD>
</TR>
</TBODY>
</TABLE>
<h2>Actions Pre-Supplied by RSE</h2>
<p>You may find some of the actions supplied by the RSE to be immediately re-usable in your own code, saving some
development and test effort.
All these actions can be found in package
<samp><A href="../../../reference/api/org/eclipse/rse/ui/actions/package-summary.html">org.eclipse.rse.ui.actions</A></samp>.
Further, you can find many useful actions related to the selection of remote files or folders, in package
<samp><A href="../../../reference/api/org/eclipse/rse/files/ui/actions/package-summary.html">org.eclipse.rse.files.ui.actions</A></samp>.
</p>
<P><BR></P>
</body>
</html>