public static void acceptObjectIconAndText()

in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/customization/CustomizationUtilPatched.java [40:101]


    public static void acceptObjectIconAndText(@Nullable Object obj, @NotNull CustomizationUtil.CustomPresentationConsumer consumer) {
        @NotNull String text;
        @Nullable String description = null;
        Icon icon = null;
        if (obj instanceof Group) {
            Group group = (Group)obj;
            String name = group.getName();
            @NlsSafe String id = group.getId();
            text = name != null ? name : ObjectUtils.notNull(id, IdeBundle.message("action.group.name.unnamed.group"));
            icon = group.getIcon();
            if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
                description = id;
            }
        }
        else if (obj instanceof String) {
            String actionId = (String)obj;
            AnAction action = ActionManager.getInstance().getAction(actionId);
            String name = action != null ? action.getTemplatePresentation().getText() : null;
            text = !StringUtil.isEmptyOrSpaces(name) ? name : actionId;
            if (action != null) {
                Icon actionIcon = action.getTemplatePresentation().getIcon();
                if (actionIcon != null) {
                    icon = actionIcon;
                }
            }
//            if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
                description = actionId;
//            }
        }
        else if (obj instanceof Pair<?, ?> pair) {
            Object actionIdOrGroup = pair.first;
            String actionId = actionIdOrGroup instanceof Group group ? group.getId() : (String)actionIdOrGroup;
            AnAction action = actionId == null ? null : ActionManager.getInstance().getAction(actionId);
            var t = action != null ? action.getTemplatePresentation().getText() : null;
            text = StringUtil.isNotEmpty(t) ? t : ObjectUtils.notNull(actionId, IdeBundle.message("action.group.name.unnamed.group"));
            Icon actionIcon = (Icon)pair.second;
            if (actionIcon == null && action != null) {
                actionIcon = action.getTemplatePresentation().getClientProperty(CustomActionsSchema.PROP_ORIGINAL_ICON);
            }
            icon = actionIcon;
//            if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
                description = actionId;
//            }
        }
        else if (obj instanceof Separator) {
            text = "-------------";
        }
        else if (obj instanceof QuickList quickList) {
            text = quickList.getDisplayName();
//            if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
                description = quickList.getActionId();
//            }
        }
        else if (obj == null) {
            //noinspection HardCodedStringLiteral
            text = "null";
        }
        else {
            throw new IllegalArgumentException("unknown obj: " + obj);
        }
        consumer.accept(text, description, icon);
    }