tools tool the plugin homepage eclipse-plugin eclipse-rcp

eclipse plugin - tool - Eclipse plug-in/producto: ¿fuerza el diseño de barra fría de nivel superior?



spring tool plugin eclipse (1)

Siempre puede recuperar el administrador de la barra de herramientas de PartSite . También hay subclases EditorSite y ViewSite :

IWorkbenchPartSite site = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart().getSite(); ToolBarManager mgr = null; if (site instanceof IEditorSite) { IEditorSite editorSite = (IEditorSite) site; mgr = (ToolBarManager) editorSite.getActionBars().getToolBarManager(); } else if (site instanceof IViewSite) { IViewSite viewSite = (IViewSite) site; mgr = (ToolBarManager) viewSite.getActionBars().getToolBarManager(); }

O si sabe que hay un editor activo disponible:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor().getEditorSite().getActionBars().getToolBarManager();

O dentro de una vista:

ToolBarManager mgr = getViewSite().getActionBars().getToolBarManager();

Entonces tendrás la posibilidad de diseñarlo:

mgr.getControl().layout(true);

Tengo un producto Eclipse definido en un complemento; no define su propia clase de aplicación (es decir, no implementaciones personalizadas de IApplication). Estoy usando algunos elementos desplegables dinámicos en la barra de herramientas principal, definida en plugin.xml. Estoy construyendo el Producto utilizando la plataforma Eclipse 4.3 (Kepler).

En tiempo de ejecución, me gustaría que los elementos de la barra de herramientas muestren cuáles de los elementos desplegables están seleccionados actualmente. Para los artículos genéricos, uso un ícono, pero para los ítems no genéricos me gustaría mostrar algún texto de identificación. El texto de identificación no siempre es de la misma longitud.

Estoy usando IElementUpdater para actualizar los elementos desplegables y también el elemento de la barra de herramientas. Todo funciona bien, excepto que coolbar / toolbar / trimbar no se rediseña. Si el nuevo texto es más largo que el texto que está reemplazando, o si cambio de ícono a texto o viceversa, la barra de herramientas aparece vacía, ni siquiera se muestra la flecha desplegable. Mi equipo de prueba informa que el elemento de la herramienta desplegable "desaparece", que es una descripción bastante buena de la experiencia.

¿Hay alguna forma de forzar el rediseño complejo de la barra de herramientas principal / barra fría / trimbar?

Investigué un poco y parece que podría hacerlo definiendo mi propia implementación de aplicación de IA y capturando el administrador de Coolbar / Toolbar usando una subclase de ActionBarAdvisor para llamadas posteriores a layout (). Esta es una solución bastante pesada, ¿hay alguna otra?