Cette leçon vous guide étape par étape pour créer une classe CustomMainActionGroup. Cette classe émule la fonctionnalité de la classe MainActionGroup de CARMA par défaut. Cependant, au lieu d'utiliser la classe OpenActionGroup, la classe CustomMainActionGroup que vous allez créer utilisera la classe CustomOpenActionGroup que vous avez créée.
Pour créer la classe CustomMainActionGroup :
private NewMenuActionGroup _newMenuActionGroup; private NavigationActionGroup _navigationActionMenu; private OpenActionGroup _openActionGroup; private ConnectionActionGroup _connectionActionGroup; private DisplayActionGroup _displayActionGroup; private PropertyDialogAction _propertyAction;
protected void makeActions()
{
_newMenuActionGroup = new NewMenuActionGroup();
_navigationActionMenu = new NavigationActionGroup(getBrowser());
_openActionGroup = new CustomOpenActionGroup();
_connectionActionGroup = new ConnectionActionGroup(getBrowser());
_displayActionGroup = new DisplayActionGroup(getBrowser());
_propertyAction = new PropertyDialogAction(getBrowser().getViewSite(), getViewer());
}
public void fillContextMenu(IMenuManager menu)
{
ActionContext myContext = new ActionContext(getViewer().getSelection());
_newMenuActionGroup.getContext();
_newMenuActionGroup.setContext(myContext);
_newMenuActionGroup.fillContextMenu(menu);
_navigationActionMenu.setContext(myContext);
_navigationActionMenu.fillContextMenu(menu);
menu.add(new Separator("open"));
_openActionGroup.setContext(myContext);
_openActionGroup.fillContextMenu(menu);
menu.add(new Separator("refractor"));
menu.add(new Separator("connect"));
_connectionActionGroup.setContext(myContext);
_connectionActionGroup.fillContextMenu(menu);
_connectionActionGroup.updateActionBars();
menu.add(new Separator("display"));
_displayActionGroup.setContext(myContext);
_displayActionGroup.fillContextMenu(menu);
menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
menu.add(new Separator("project"));
menu.add(new Separator("properties"));
menu.add(_propertyAction);
}
import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.Separator; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.actions.ActionContext; import org.eclipse.ui.dialogs.PropertyDialogAction; import com.ibm.carma.ui.view.BaseCarmaBrowser; import com.ibm.carma.ui.view.CarmaBrowserActionGroup; import com.ibm.carma.ui.view.ConnectionActionGroup; import com.ibm.carma.ui.view.DisplayActionGroup; import com.ibm.carma.ui.view.NavigationActionGroup; import com.ibm.carma.ui.view.NewMenuActionGroup; import com.ibm.carma.ui.view.OpenActionGroup;