void (@Nullable ExecutionTarget target, @Nullable RunnerAndConfigurationSettings settings, @Nullable Project project, @NotNull Presentation presentation, String actionPlace) { presentation.putClientProperty(BUTTON_MODE, null); if (project != null && target != null && settings != null) { String name; if (!ExperimentalUI.isNewUI()) { // there's a separate combo-box for execution targets in new UI name = Executor.shortenNameIfNeeded(settings.getName()); if (target != DefaultExecutionTarget.INSTANCE && !target.isExternallyManaged()) { name += " | " + target.getDisplayName(); } else { if (!ExecutionTargetManager.canRun(settings.getConfiguration(), target)) { name += " | " + ExecutionBundle.message("run.configurations.combo.action.nothing.to.run.on"); } } } else { name = StringUtil.shortenTextWithEllipsis( settings.getName(), RedesignedRunWidgetKt.CONFIGURATION_NAME_NON_TRIM_MAX_LENGTH, RedesignedRunWidgetKt.CONFIGURATION_NAME_TRIM_SUFFIX_LENGTH, true); } presentation.setText(name, false); if (!ApplicationManager.getApplication().isUnitTestMode()) { setConfigurationIcon(presentation, settings, project, true); } } else { if (project != null && hasRunCurrentFileItem(project)) { presentation.setText(ExecutionBundle.messagePointer("run.configurations.combo.run.current.file.selected")); presentation.setIcon(null); return; } presentation.putClientProperty(BUTTON_MODE, Boolean.TRUE); presentation.setText(ExecutionBundle.messagePointer("action.presentation.RunConfigurationsComboBoxAction.text")); presentation.setDescription(ActionsBundle.actionDescription(IdeActions.ACTION_EDIT_RUN_CONFIGURATIONS)); if (ActionPlaces.TOUCHBAR_GENERAL.equals(actionPlace)) presentation.setIcon(AllIcons.General.Add); else presentation.setIcon(null); } }