Você pode utilizar a classe com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler para os botões de menu remover, mover para cima e mover para baixo
Sobre Esta Tarefa
O editor ou as extensões de protocolo necessários para manipular o teste e
os elementos de modelo específicos de inclusão, remoção e inserção do teste precisam utilizar a classe
NewModelElementAction,
conforme descrito nas seguintes condições:
Procedimento
- Para cada elemento de modelo exibido na árvore, a classe com.ibm.rational.common.test.editor.framework.Test
Editor espera localizar uma instância da classe com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler
e de alguns com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementActions
registrados em com.ibm.rational.common.test.editor.framework.
TestEditorplug-in com.ibm.rational.common.test.editor.framework.RptMenuManager.
- Os ActionHandlers são declarados no arquivo plugin.xml,
enquanto que a classe com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction
deve ser criada e registrada de forma programada por meio da classe de plug-in do
protocolo. É necessário apenas um conjunto de ações para vários editores, porque essa
classe é sensível ao contexto.
- Os ActionHandlers dos elementos selecionados são perguntados sobre a ativação dos botões Remover, Mover para Cima e Mover para Baixo. O com.ibm.rational.common.test.editor.framework.extensions.ExtActionHandler examina a seleção, procura objetos dos tipos reconhecidos e, em seguida,
retorna um valor true ou false.
- Para ativar ou desativar os botões e os menus Incluir e Inserir,
a classe TestEditor transmite a seleção a cada uma das
instâncias com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction registradas. Espera-se que a ação examine a seleção e ative ou desative seu
estado, com base na possibilidade dessa ação incluir seu objeto modelo no
item selecionado.
- O ID de cada com.ibm.rational.common.test.editor.framework.kernel.actions.NewModelElementAction ou
o tipo derivado deve corresponder ao tipo do objeto modelo que esta ação
representa. O ID deve ter o mesmo valor daquele utilizado no ponto de extensão modelObjectDescriptor.
A classe com.ibm.rational.common.test.editor.framework.Test Editor
utiliza esse valor para localizar vários provedores do elemento de modelo específico.
- Há dois conjuntos separados de ações mantidos pela classe com.ibm.rational.common.test.editor.framework.RptMenuManager,
as ações Incluir e Inserir. Embora objetos do mesmo tipo possam ser registrados para ambos, as mesmas instâncias
da mesma classe não podem. Isso significa que duas instâncias da ação AddObject
devem ser criadas e registradas.
Se o objeto não puder ser inserido, a ação de inserção
não será requerida.
O mesmo ocorre para a ação de inclusão.
- Se uma ação for selecionada, ela chamará seu ActionHandler correspondente
para criar um novo objeto modelo. Neste ponto, a classe ActionHandler
deverá criar e inicializar um novo objeto modelo, incluindo qualquer filho necessário. A ação incluirá o novo objeto modelo no pai selecionado, mas apenas
se o ContentProvider do pai selecionado retornar uma lista dos filhos
que possuem o tipo EList, a lista de modelos nativos. Para obter uma lista composta
de filhos, por exemplo, a ArrayList montada pelo provedor, espera-se que o ActionHandler
inclua um novo filho no pai.
- Os escritores de protocolos devem utilizar a classe LoadTestNewModelElementAction
como a classe-base para a criação de ações. A classe suporta a filtragem por recurso.