Rational Developer para System z


Lição 2: Criar a Classe Java CustomMainActionGroup

Essa lição fornecerá orientação sobre as etapas para criar uma classe CustomMainActionGroup. Essa classe emula a funcionalidade da classe padrão MainActionGroup do CARMA. Entretanto, em vez de usar o padrão OpenActionGroup, a classe CustomMainActionGroup a ser criada usará a classe CustomOpenActionGroup que você criou.

Para criar a classe CustomMainActionGroup:

  1. Crie uma nova classe clicando com o botão direito do mouse no pacote menu na visualização Package Explorer e selecione Novo > Classe.
  2. Na caixa de diálogo Nova Classe Java que aparece, insira CustomMainActionGroup como o nome. Clique no botão Navegar à direita do campo de texto Superclasse. Na caixa de diálogo Seleção da Superclasse que aparece, insira o filtro CarmaBrowserActionGroup. Selecione a classe correspondente que está contida no pacote com.ibm.carma.ui.view e clique em OK.
  3. Selecione a caixa de opção Construtores da superclasse.
  4. Clique em Concluir para fechar o diálogo Nova Classe Java e crie a classe.
  5. A primeira coisa a fazer é criar variáveis globais para um NewMenuActionGroup, NavigationActionGroup, OpenActionGroup, ConnectionActionGroup, DisplayActionGroup e um PropertyDialogAction, semelhante ao seguinte código de amostra:
    	private NewMenuActionGroup _newMenuActionGroup;
    	private NavigationActionGroup _navigationActionMenu;
    	private OpenActionGroup _openActionGroup;
    	private ConnectionActionGroup _connectionActionGroup;
    	private DisplayActionGroup _displayActionGroup;
    	private PropertyDialogAction _propertyAction;
    Dica: Essas variáveis devem ser declaradas como a parte superior da classe antes de qualquer declaração de método.
  6. Agora substitua o método makeActions para instanciar os grupos e ações necessários para preencher o menu de contexto. Com o OpenActionGroup, certifique-se de instanciar sua classe CustomOpenActionGroup em vez do padrão. Use o seguinte código de origem:
    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. Substitua o método fillContextMenu() pela lista atualizada de grupos, ações e separadores. Para fazer parecer menus de contexto, use a mesma ordem para incluir itens no menu de contexto usando o seguinte código de exemplo:
    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 as classes e pacotes necessários. Certifique-se de que todos os itens a seguir estão incluídos nas instruções de importação:
    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. Salve a origem e depure qualquer erro.

Termos de Uso | Feedback



Este centro de informações foi desenvolvido com a tecnologia Eclipse. (http://www.eclipse.org)