|
|
|
package com.fr.widgettheme.util;
|
|
|
|
|
|
|
|
import com.fr.base.io.AttrMark;
|
|
|
|
import com.fr.base.io.IOFile;
|
|
|
|
import com.fr.base.theme.TemplateTheme;
|
|
|
|
import com.fr.design.file.HistoryTemplateListCache;
|
|
|
|
import com.fr.design.gui.ilable.UILabel;
|
|
|
|
import com.fr.design.mainframe.JTemplate;
|
|
|
|
import com.fr.stable.StringUtils;
|
|
|
|
import com.fr.widgettheme.control.attr.WidgetDisplayEnhanceMarkAttr;
|
|
|
|
import com.fr.widgettheme.theme.widget.theme.WidgetThemeDisplayConstants;
|
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
|
|
|
|
import javax.swing.SwingConstants;
|
|
|
|
import java.awt.Color;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 控件主题设计器部分工具类
|
|
|
|
*
|
|
|
|
* @author obo
|
|
|
|
* @since 11.0
|
|
|
|
* Created on 2023/11/13
|
|
|
|
*/
|
|
|
|
public class WidgetThemeDesignerUtils {
|
|
|
|
|
|
|
|
private WidgetThemeDesignerUtils() {
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 从 WorkBook 中加载 WatermarkAttr 属性对象
|
|
|
|
*
|
|
|
|
* @param template AttrMark 对象,包括 WorkBook
|
|
|
|
* @return StrongestControlMarkAttr 对象
|
|
|
|
*/
|
|
|
|
public static WidgetDisplayEnhanceMarkAttr getStrongestControlAttrFromTemplate(AttrMark template) {
|
|
|
|
return template.getAttrMark(WidgetDisplayEnhanceMarkAttr.XML_TAG);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 判断是否启用了控件显示增强
|
|
|
|
*
|
|
|
|
* @return 开启与否
|
|
|
|
*/
|
|
|
|
public static boolean enableWidgetEnhance() {
|
|
|
|
JTemplate<?, ?> jTemplate = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
|
|
|
|
if (JTemplate.isValid(jTemplate)) {
|
|
|
|
IOFile ioFile = (IOFile) jTemplate.getTarget();
|
|
|
|
WidgetDisplayEnhanceMarkAttr mark = ioFile.getAttrMark(WidgetDisplayEnhanceMarkAttr.XML_TAG);
|
|
|
|
return mark != null && mark.isWidgetEnhance();
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* 返回当前编辑模版的主题深浅
|
|
|
|
*/
|
|
|
|
public static boolean isCurrentTemplateThemeDark() {
|
|
|
|
JTemplate<?, ?> jTemplate = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
|
|
|
|
if (JTemplate.isValid(jTemplate)) {
|
|
|
|
TemplateTheme theme = jTemplate.getTemplateTheme();
|
|
|
|
if (theme != null) {
|
|
|
|
return theme.isDark();
|
|
|
|
}
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
throw new IllegalArgumentException("The current template is not valid");
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 创建垂直方向顶部对齐的label
|
|
|
|
*/
|
|
|
|
@NotNull
|
|
|
|
public static UILabel createTopAlignmentLabel(String labelName) {
|
|
|
|
if(StringUtils.isEmpty(labelName)) {
|
|
|
|
return new UILabel("");
|
|
|
|
}
|
|
|
|
UILabel label = new UILabel(labelName);
|
|
|
|
label.setVerticalAlignment(SwingConstants.TOP);
|
|
|
|
return label;
|
|
|
|
}
|
|
|
|
}
|