Esta lección le guiará en los pasos necesarios para crear una clase CustomMainActionGroup. Esta clase emula las funciones de la clase predeterminada de CARMA MainActionGroup. Sin embargo, en lugar de utilizar la clase OpenActionGroup predeterminada, la clase CustomMainActionGroup que va a crear utilizará la clase CustomOpenActionGroup que ha creado.
Para crear la clase 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;