Domanda

Sto lavorando su un'applicazione Eclipse RCP-based, e abbiamo deciso che non vogliamo alcuna delle voci di menu per visualizzare le icone accanto al testo. Il problema che stiamo vedendo è che le azioni standard come Undo, Redo, Taglia, Copia, Incolla e così su tutti visualizzare le icone di default per le azioni corrispondenti.

C'è un modo per raccontare l'infrastruttura di gestione azione per ignorare le icone? La mia soluzione forza bruta per questo è stato quello di ricostruire lo SWT in modo che MenuItem.setImage () è stato un no-op, e quindi includere la nostra copia del SWT nel prodotto finale, ma sembra che ci dovrebbe essere un peso più leggero soluzione .

È stato utile?

Soluzione

Questo si è rivelato essere più facile di quanto avevo sperato.

Create una sottoclasse di org.eclipse.ui.application.ActionBarAdvisor. Sovrascrivere il registro metodo come questo:

protected void register(IAction action) {
    super.register(action);
    action.setImageDescriptor(null);
}

Quindi, creare una sottoclasse di org.eclipse.ui.application.WorkbenchWindowAdvisor che sostituisce createActionBarAdvisor:

public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
    return new MyActionBarAdvisor(configurer);
}

Questo è tutto. Tutte le azioni non avranno più le icone.

Altri suggerimenti

Credo che si desidera esaminare ulteriormente entrare nel manifesto e guardando in org.eclipse.ui.views e vedere se c'è qualcosa lì dentro per rimuovere le icone

Qual è la ragione per non aver compreso le icone? Un grande sforzo è andato a creare un'interfaccia standard, quale sarebbe il vantaggio di deviare dalla norma? Pensi che la loro omissione aumenta l'usabilità?

Detto tutto ciò che si potrebbe provare un frammento contribuendo con alcuni AspectJ intorno consulenza per intercettare le chiamate a setImage () e porre il veto.

È possibile farlo andando alla scheda estensione plugin.xml.add l'org.eclipse.ui.menu estensione (se non presente) .right clicca creare un nuovo menu contribution.again tasto destro del mouse e creare un nuovo menu .Qui u hanno la possibilità di cambiare le immagini con quelli salvati nella cartella icona nel percorso di classe

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top