Rational Developer for System z


Lección 2: Crear la clase Java CustomMainActionGroup

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:

  1. Cree una clase pulsando con el botón derecho del ratón el paquete menu en la vista Explorador de paquetes y seleccionando Nuevo > Clase.
  2. En el recuadro de diálogo Clase Java nueva que se abre, especifique CustomMainActionGroup como nombre. Pulse el botón Examinar situado a la derecha del campo de texto Superclase. En el recuadro de diálogo Selección de superclase que se abre, especifique el filtro CarmaBrowserActionGroup. Seleccione la clase coincidente que se encuentre en el paquete com.ibm.carma.ui.view y pulse Aceptar.
  3. Marque el recuadro de selección Constructores de superclase.
  4. Pulse Finalizar para cerrar el diálogo Clase Java nueva y crear la clase.
  5. Lo primero que debe hacer es crear variables globales para NewMenuActionGroup, NavigationActionGroup, OpenActionGroup, ConnectionActionGroup, DisplayActionGroup y PropertyDialogAction, similares a las del ejemplo de código siguiente:
    	private NewMenuActionGroup _newMenuActionGroup;
    	private NavigationActionGroup _navigationActionMenu;
    	private OpenActionGroup _openActionGroup;
    	private ConnectionActionGroup _connectionActionGroup;
    	private DisplayActionGroup _displayActionGroup;
    	private PropertyDialogAction _propertyAction;
    Consejo: Estas variables deben declararse al principio de la clase, antes de las declaraciones de método.
  6. A continuación, deberá alterar temporalmente el método makeActions para crear instancias de los grupos y acciones necesarios para llenar el menú contextual. En OpenActionGroup, asegúrese de crear una instancia de la clase CustomOpenActionGroup en lugar de la clase predeterminada. Utilice el siguiente código de muestra:
    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());
    }
  7. Altere temporalmente el método fillContextMenu() con la lista actualizada de grupos, acciones y separadores. Para que tengan el aspecto de menús contextuales, siga el mismo orden de adición de elementos al menú contextual que el del siguiente código de ejemplo:
    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);
    }
  8. Importe todas las clases y paquetes necesarios. Asegúrese de incluir la totalidad de los elementos siguientes en las sentencias de importación:
    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;
  9. Guarde el código fuente y depure los errores.

Términos de uso | Comentarios



Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)