JComponent () { final DefaultActionGroup group = new DefaultActionGroup(); final Runnable update = () -> { myProject.getMessageBus().syncPublisher(SettingsChangedListener.TOPIC).settingsChanged(); }; if (ProjectViewDirectoryHelper.getInstance(myProject).supportsFlattenPackages()) { group.add(new FlattenPackagesAction(update)); } final List<PatternDialectProvider> dialectProviders = PatternDialectProvider.EP_NAME.getExtensionList(); for (PatternDialectProvider provider : dialectProviders) { for (AnAction action : provider.createActions(myProject, update)) { group.add(action); } } group.add(new ShowFilesAction(update)); final Module[] modules = ModuleManager.getInstance(myProject).getModules(); if (modules.length > 1) { group.add(new ShowModulesAction(update)); if (ModuleManager.getInstance(myProject).hasModuleGroups()) { group.add(new ShowModuleGroupsAction(update)); } group.add(createFlattenModulesAction(update)); } group.add(new FilterLegalsAction(update)); if (dialectProviders.size() > 1) { group.add(new ChooseScopeTypeAction(update)); } ActionToolbar toolbar = ActionManager.getInstance().createActionToolbar("ScopeEditor", group, true); toolbar.setTargetComponent(myPackageTree); return toolbar.getComponent(); }