Nesta lição, você desenvolverá o código para a classe CustomLabelProvider,
que controlará como os itens na Visualização do Desenvolvedor do CARMA serão exibidos.
Para desenvolver esse código:
- Abra a classe ContextLabelProvider. Na visualização
Package Explorer, navegue para com.ibm.carma.plugin.view > src > view e dê um clique duplo na classe CustomLabelProvider.
- Primeiramente, substitua o método getText().
Esse método deve verificar se um gerenciador de repositório está conectado e
incluir um rótulo no gerenciador de repositório que mostra o estado
conectado/desconectado.
Abaixo há um pseudocódigo de exemplo para o método getText():
if(the element passed to getText is a repository manager)
{
if ( the repository manager is connected )
{
add connected label to the repository manager;
}
else
{
add disconnected label to the repository manager;
}
}
Use a origem de exemplo a seguir para substituir o método getText():
public String getText(Object element) {
String textLabel = super.getText(element);
if(element instanceof RepositoryManager)
{
if( ((RepositoryManager) element).isConnected()){
textLabel += " - (Connected)";
}
else
{
textLabel += " - (Disconnected)";
}
}
return textLabel;
}
- O próximo método a ser substituído é o getImage().
Esse método deve alterar a exibição do ícone para os membros do COBOL.
Abaixo há um pseudocódigo para o método getImage():
if ( the element passed getImage is a CARMA Member ){
if( the CARMA Member's extension is "cbl" )
{
decorate the CARMA Member;
}
}
Abaixo há um código de origem de exemplo para o método getImage():
public Image getImage(Object element) {
if(element instanceof CARMAMember)
{
if(((CARMAMember) element).getLocalExtension().equalsIgnoreCase("cbl")){
//replace the parameter of getImageDescriptor() with the path to your particular icon
ImageDescriptor myDescriptor = Activator.getImageDescriptor("icons/cobol.gif");
return myDescriptor.createImage();
}
}
return super.getImage(element);
}
Nota: O nome do caminho transmitido como um parâmetro para o método getImageDescriptor
deve corresponder com o nome do seu diretório e imagem.
- Finalmente, certifique-se de ter os pacotes a seguir listados
em suas instruções de importação na parte superior de sua classe Java. Inclua qualquer um que esteja ausente:
import com.ibm.carma.plugin.view.Activator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import com.ibm.carma.model.*;
import com.ibm.carma.ui.view.*;
- Salve a origem e depure qualquer erro.