Instal the new version for mac Menuwhere12/27/2023 ![]() So the problem is solved, at least for now. Which include the legacy directories added by the LegacyService. To discover scripts in the currently registered script directories, The deferred addition of modules triggers the DefaultScriptService ![]() The call to getModules() triggers the deferred addition of modules.ħ. Later, the LegacyService loops over ModuleService.getModules().Ħ. The DefaultMenuService still receives the ModulesUpdatedEvent, butĥ. The MacOSPlatform fires a ModulesUpdatedEvent to notify others.Ĥ. The MacOSPlatform edits the app command menu paths.ģ. The DefaultPlatformService initializes the MacOSPlatform.Ģ. Nothing when modules change in the case of menus still uninitialized.Īfter this change, the order of events now becomes:ġ. This commit addresses step (4), changing the DefaultMenuService to do Has no effect (i.e., no additional script discovery is triggered). Scripts have been discovered, adding the additional script directories Script directories to include in its script discovery process. Therefore the DefaultScriptService did not yet know about the legacy To discover scripts in the currently registered script directories.Īll of the above happened before the LegacyService initialized, and The deferred addition of modules triggered the DefaultScriptService ![]() The call to getModules() triggered the deferred addition of modules.ħ. The menu initialization code looped over ModuleService.getModules().Ħ. Response, its event handler method eagerly initialized the menus.ĥ. The DefaultMenuService subscribed to the ModulesUpdatedEvent in The MacOSPlatform fired a ModulesUpdatedEvent to notify others of it.Ĥ. To remove their menu paths, since they are specially handled.ģ. The MacOSPlatform edited app commands (About, Quit and Preferences) The DefaultPlatformService initialized the MacOSPlatform.Ģ. Were no longer appearing in the menu structure. Scripts in legacy directories (i.e.: in plugins and plugins/Scripts) Until menus are created, and then update them in response to the event.Īmong other benefits, this commit fixes a bug in ImageJ on macOS whereby If that happens, weīlock (thanks to the event handling methods being synchronized now) We just need to be careful if module eventsĬome in while we are generating the menu structure. In the case where no menu structure has yet been generated, we can Structure, and that structure would thus need to be updated. Is publishe … d, we only care if we have already initialized the menu When a ModulesAddedEvent, ModulesRemovedEvent or ModulesUpdatedEvent Calling scriptService.getScripts() shows that they’re not registered: ScriptService scripts scripts/ work just fine), but rather a problem that scripts are not discovered at startup. UPDATE2: I don’t think it’s in the imagej-legacy component, and it’s actually not a problem of populating the menus (as script from. Scriptlist = legacy.getScriptsAndNonLegac圜ommands() plugins/ directory (again, tested only on Mac): LegacyService legacy UPDATE: It’s possible that the issue is in LegacyService, as this Groovy script doesn’t list scripts from the. scripts/ work just fine, because that’s some code in imagej-legacy. plugins/ should actually be recognized by ImageJ 1.x itself. There’s some code in imagej-legacy that builds the menu, but I don’t remember which class exactlyĪnd scripts in. Do you by chance know which module/class builds up the ImageJ menu?
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |