From 4531ad7d5fd22a0ea979b7544bbbfdc23a892c08 Mon Sep 17 00:00:00 2001 From: kerry Date: Thu, 1 Jun 2023 12:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/file/MultiTemplateTabUtils.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabUtils.java b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabUtils.java index 5a8c504189..e5883a3987 100644 --- a/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabUtils.java +++ b/designer-base/src/main/java/com/fr/design/file/MultiTemplateTabUtils.java @@ -7,6 +7,13 @@ import java.util.List; import java.util.function.Predicate; public class MultiTemplateTabUtils { + /** + * 计算离currentIndex最近的相同模式的模板index值(优先左边) + * @param currentIndex 当前index + * @param openedTemplate 模板list + * @param type 当前显示模式 + * @return + */ public static int calShowTemplateIndex(int currentIndex, List> openedTemplate, String type) { if (currentIndex < 0 || currentIndex > openedTemplate.size() - 1) { return -1; @@ -16,6 +23,13 @@ public class MultiTemplateTabUtils { return getShowJTemplateTab(currentIndex, openedTemplate, template -> !showJTemplateTab(type, template)); } + /** + * 先从左找,再从右找离得最近的满足条件的模板 + * @param currentIndex 当前index + * @param openedTemplate 模板list + * @param predicate + * @return + */ private static int getShowJTemplateTab(int currentIndex, List> openedTemplate, Predicate> predicate) { for (int i = currentIndex; i >= 0; i--) { if (predicate.test(openedTemplate.get(i))) { @@ -30,6 +44,12 @@ public class MultiTemplateTabUtils { return -1; } + /** + * 是否显示模板 + * @param type 模板类型 + * @param jTemplate 模板 + * @return + */ private static boolean showJTemplateTab(String type, JTemplate jTemplate) { return ComparatorUtils.equals(type, jTemplate.getTemplateTabOperatorType()); }