Pregunta

Estoy trabajando en una aplicación basada en Eclipse RCP, y hemos decidido que no queremos que ninguno de los elementos del menú para mostrar los iconos al lado del texto. El problema que estamos viendo es que las acciones estándar como Deshacer, Rehacer, Cortar, Copiar, Pegar, y así sucesivamente todas las pantallas de los iconos por defecto para las acciones correspondientes.

¿Hay alguna manera de saber la infraestructura de gestión de la acción de ignorar los iconos? Mi solución fuerza bruta para esta era reconstruir la SWT para que MenuItem.setImage () era un no-op, y luego incluir nuestra propia copia de la SWT en el producto final, pero parece que no debe haber una solución más liviana .

¿Fue útil?

Solución

Esto resultó ser más fácil de lo que esperaba.

Crea una subclase de org.eclipse.ui.application.ActionBarAdvisor. Anular el registro método como este:

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

A continuación, crear una subclase de org.eclipse.ui.application.WorkbenchWindowAdvisor que anula createActionBarAdvisor:

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

Eso es todo. Todas las acciones ya no tendrán iconos.

Otros consejos

Creo que desee examinar más a entrar en el manifiesto y mirando hacia org.eclipse.ui.views y ver si hay algo ahí para eliminar iconos

¿Cuál es la razón para no incluir iconos? Una gran cantidad de esfuerzo en la creación de una interfaz estándar, lo que sería el beneficio de desviarse de la norma? ¿Cree que su omisión incrementa la usabilidad?

Una vez dicho todo lo que usted podría intentar aportar un fragmento con un poco de AspectJ alrededor consejos para interceptar llamadas a setImage () y vetar ellos.

Puede hacer esto de ir a la pestaña de extensión en el plugin.xml.add org.eclipse.ui.menu extensión (si no está presente) .RIGHT haga clic en crear un nuevo menú del botón derecho contribution.again y crear un nuevo menú .here u tiene la opción de cambiar las imágenes con las que guardan en su carpeta de icono en la ruta de clase

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top