Lezione 3: Sviluppo del codice per la classe CustomLabelProvider
In questa lezione, si sviluppa il codice per la classe CustomLabelProvider , che controlla la modalità di visualizzazione degli elementi nella vista Sviluppatore CARMA.
Informazioni su questa attività
Per sviluppare questo codice:
Procedura
- Aprire la classe
ContextLabelProvider. Dalla vista Esplora package , selezionarecom.ibm.carma.plugin.view>src>viewe fare doppio clic sulla classeCustomLabelProvider. - Per prima cosa, si desidera sovrascrivere il metodo
getText(). Questo metodo deve controllare se un gestore repository è connesso e aggiungere un'etichetta al gestore repository che mostri lo stato connesso / disconnesso.Di seguito viene riportato uno pseudocodice di esempio per il metodo
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; } }Utilizzare la seguente origine di esempio per sovrascrivere il metodo
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; } - Il metodo successivo che si desidera sovrascrivere è il metodo
getImage(). Questo metodo dovrebbe modificare la visualizzazione dell'icona per i membri di COBOL.Di seguito è riportato lo pseudocodice per il metodo
getImage():if( the element passed getImage is a CARMA Member) { if( the CARMA Member's extension is "cbl" ) { decorate the CARMA Member; } }Di seguito viene riportato un esempio di codice sorgente per il metodo
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: il nome del percorso passato come parametro al metodogetImageDescriptordeve corrispondere al nome dell'immagine e della directory. - Assicurarsi, infine, di disporre dei seguenti package elencati nelle istruzioni di importazione nella parte superiore della classe Java™ . Aggiungere quelli mancanti:
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.*; - Salvare l'origine ed eseguire il debug degli errori.