3131
3232package org .scijava .menu ;
3333
34+ import org .scijava .UIDetails ;
3435import org .scijava .module .ModuleInfo ;
3536import org .scijava .service .SciJavaService ;
3637
4243public interface MenuService extends SciJavaService {
4344
4445 /** Gets the root node of the application menu structure. */
45- ShadowMenu getMenu ();
46+ default ShadowMenu getMenu () {
47+ return getMenu (UIDetails .APPLICATION_MENU_ROOT );
48+ }
4649
4750 /**
4851 * Gets the root node of a menu structure.
@@ -58,7 +61,9 @@ public interface MenuService extends SciJavaService {
5861 * @param creator the {@link MenuCreator} to use to populate the menus.
5962 * @param menu the destination menu structure to populate.
6063 */
61- <T > T createMenus (MenuCreator <T > creator , T menu );
64+ default <T > T createMenus (final MenuCreator <T > creator , final T menu ) {
65+ return createMenus (UIDetails .APPLICATION_MENU_ROOT , creator , menu );
66+ }
6267
6368 /**
6469 * Populates a UI-specific menu structure.
@@ -68,6 +73,10 @@ public interface MenuService extends SciJavaService {
6873 * @param creator the {@link MenuCreator} to use to populate the menus.
6974 * @param menu the destination menu structure to populate.
7075 */
71- <T > T createMenus (String menuRoot , MenuCreator <T > creator , T menu );
72-
76+ default <T > T createMenus (final String menuRoot ,
77+ final MenuCreator <T > creator , final T menu )
78+ {
79+ creator .createMenus (getMenu (menuRoot ), menu );
80+ return menu ;
81+ }
7382}
0 commit comments