Rational Developer for System z


Leçon 2 : création de la classe Java CustomMainActionGroup

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 :

  1. Créez une classe en cliquant avec le bouton droit de la souris sur le package menu dans la vue Explorateur de package, puis en sélectionnant Nouveau > Classe.
  2. Dans la boîte de dialogue Nouvelle classe Java qui s'ouvre, saisissez CustomMainActionGroup comme nom. Sélectionnez le bouton Parcourir à droite de la zone de texte Superclasse. Dans la boîte de dialogue Sélection de la superclasse qui s'affiche, saisissez le filtre CarmaBrowserActionGroup. Sélectionnez la classe correspondante contenue dans le package com.ibm.carma.ui.view et cliquez sur OK.
  3. Cochez la case Constructeurs de la superclasse.
  4. Cliquez sur Terminer pour fermer la boîte de dialogue Nouvelle classe Java et créer la classe.
  5. La première chose à faire consiste à créer des variables globales pour un NewMenuActionGroup, un NavigationActionGroup, un OpenActionGroup, un ConnectionActionGroup, un DisplayActionGroup et une PropertyDialogAction, comme dans l'exemple de code suivant :
    	private NewMenuActionGroup _newMenuActionGroup;
    	private NavigationActionGroup _navigationActionMenu;
    	private OpenActionGroup _openActionGroup;
    	private ConnectionActionGroup _connectionActionGroup;
    	private DisplayActionGroup _displayActionGroup;
    	private PropertyDialogAction _propertyAction;
    Conseil : Ces variables doivent être déclarées au sommet de la classe avant toute autre déclaration de méthode.
  6. Vous devez maintenant redéfinir la méthode makeActions pour instancier les groupes et actions nécessaires pour remplir le menu contextuel. Avec le OpenActionGroup, assurez-vous d'instancier votre classe CustomOpenActionGroup au lieu de la classe par défaut. Utilisez le code source suivant :
    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. Redéfinissez la méthode fillContextMenu() avec la liste mise à jour de groupes, d'actions et de séparateurs. Pour que cela ressemble à des menus contextuels, utilisez le même ordre pour ajouter des éléments au menu contextuel en utilisant l'exemple de code suivant :
    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. Importez toutes les classes et tous les packages nécessaires. Assurez-vous que tous les éléments suivants sont inclus dans les instructions d'importation :
    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. Enregistrez la source et déboguez les éventuelles erreurs.

Conditions d'utilisation | Commentaires en retour



Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)