帆软报表设计器源代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

266 lines
7.5 KiB

package com.fr.design.actions.help.alphafine;
7 years ago
import com.fr.license.function.VT4FR;
7 years ago
import com.fr.stable.OperatingSystem;
7 years ago
import com.fr.stable.StringUtils;
7 years ago
import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLable;
import com.fr.stable.xml.XMLableReader;
import javax.swing.*;
/**
* Created by XiaXiang on 2017/4/5.
*/
public class AlphaFineConfigManager implements XMLable {
7 years ago
7 years ago
private static AlphaFineConfigManager alphaFineConfigManager = new AlphaFineConfigManager();
7 years ago
/**
* 是否开启alphafine
*/
7 years ago
private boolean isEnabled = true;
7 years ago
/**
* 是否联网搜索
*/
7 years ago
private boolean isSearchOnLine = true;
7 years ago
/**
7 years ago
* 搜索范围
7 years ago
*/
/**
7 years ago
* 快捷键设置
7 years ago
*/
7 years ago
private String shortcuts;
7 years ago
/**
* 猜您需要
*/
private boolean isContainRecommend = true;
7 years ago
/**
* 设置
*/
7 years ago
private boolean isContainAction = true;
7 years ago
/**
* 帮助文档
*/
7 years ago
private boolean isContainDocument = true;
7 years ago
/**
* 模板
*/
7 years ago
private boolean isContainTemplate = true;
7 years ago
/**
* 模板内容
*/
private boolean isContainFileContent;
/**
* 应用中心
*/
7 years ago
private boolean isContainPlugin = true;
/**
* 分词搜索
*/
private boolean needSegmentationCheckbox = true;
/**
* 智能客服
*/
private boolean needIntelligentCustomerService = true;
7 years ago
/**
* 快捷键
*/
private KeyStroke shortCutKeyStore;
/**
* 是否提醒
*/
private boolean isNeedRemind = true;
/**
* 直接操作菜单次数
*/
private int operateCount;
7 years ago
public static AlphaFineConfigManager getInstance() {
return alphaFineConfigManager;
7 years ago
}
7 years ago
public static boolean isALPHALicAvailable() {
6 years ago
return VT4FR.AlphaFine.isSupport();
7 years ago
}
7 years ago
@Override
public Object clone() throws CloneNotSupportedException {
7 years ago
AlphaFineConfigManager manager = (AlphaFineConfigManager) super.clone();
return manager;
7 years ago
}
@Override
public void readXML(XMLableReader reader) {
if (reader.isAttr()) {
this.setEnabled(reader.getAttrAsBoolean("isEnabled", true));
7 years ago
this.setSearchOnLine(reader.getAttrAsBoolean("isSearchOnline", true));
7 years ago
this.setContainPlugin(reader.getAttrAsBoolean("isContainDocument", true));
this.setContainDocument(reader.getAttrAsBoolean("isContainDocument", true));
7 years ago
this.setContainRecommend(reader.getAttrAsBoolean("isContainRecommend", true));
7 years ago
this.setContainAction(reader.getAttrAsBoolean("isContainAction", true));
this.setContainTemplate(reader.getAttrAsBoolean("isContainTemplate", true));
this.setContainFileContent(reader.getAttrAsBoolean("isContainFileContent", false));
this.setNeedSegmentationCheckbox(reader.getAttrAsBoolean("needSegmentationCheckbox", true));
this.setNeedIntelligentCustomerService(reader.getAttrAsBoolean("needIntelligentCustomerService", true));
this.setShortcuts(reader.getAttrAsString("shortcuts", getDefaultShortCuts()));
this.setNeedRemind(reader.getAttrAsBoolean("isNeedRemind", true));
this.setOperateCount(reader.getAttrAsInt("operateCount", 0));
7 years ago
}
}
@Override
public void writeXML(XMLPrintWriter writer) {
writer.startTAG("AlphaFineConfigManager");
writer.attr("isEnabled", this.isEnabled())
.attr("isSearchOnline", this.isSearchOnLine())
.attr("shortcuts", this.getShortcuts())
7 years ago
.attr("isContainRecommend", this.isContainRecommend())
7 years ago
.attr("isContainAction", this.isContainAction())
.attr("isContainDocument", this.isContainDocument())
.attr("isContainTemplate", this.isContainTemplate())
.attr("isContainPlugin", this.isContainPlugin())
.attr("isContainFileContent", this.isContainFileContent())
.attr("isNeedRemind", this.isNeedRemind())
.attr("operateCount", this.getOperateCount())
.attr("needSegmentationCheckbox", this.isNeedSegmentationCheckbox())
.attr("needIntelligentCustomerService", this.isNeedIntelligentCustomerService());
7 years ago
writer.end();
}
public boolean isSearchOnLine() {
return isSearchOnLine;
}
public void setSearchOnLine(boolean searchOnLine) {
isSearchOnLine = searchOnLine;
}
public String getShortcuts() {
7 years ago
if (StringUtils.isBlank(shortcuts)) {
return getDefaultShortCuts();
}
7 years ago
return shortcuts;
}
7 years ago
public void setShortcuts(String shortcuts) {
this.shortcuts = shortcuts;
this.shortCutKeyStore = convert2KeyStroke(this.shortcuts);
}
7 years ago
/**
* 返回默认快捷键
7 years ago
*
7 years ago
* @return
*/
7 years ago
private String getDefaultShortCuts() {
7 years ago
return OperatingSystem.isMacOS() ? "meta + D" : "ctrl + D";
7 years ago
}
7 years ago
public boolean isContainAction() {
return isContainAction;
}
public void setContainAction(boolean containAction) {
this.isContainAction = containAction;
}
public boolean isContainDocument() {
return isContainDocument;
}
public void setContainDocument(boolean containDocument) {
this.isContainDocument = containDocument;
}
public boolean isContainTemplate() {
return isContainTemplate;
}
public void setContainTemplate(boolean containTemplate) {
this.isContainTemplate = containTemplate;
}
public boolean isContainPlugin() {
return isContainPlugin;
}
public void setContainPlugin(boolean containPlugin) {
this.isContainPlugin = containPlugin;
}
7 years ago
public boolean isContainRecommend() {
return isContainRecommend;
7 years ago
}
7 years ago
public void setContainRecommend(boolean containConclude) {
isContainRecommend = containConclude;
7 years ago
}
public boolean isEnabled() {
return isEnabled;
7 years ago
}
public void setEnabled(boolean isEnabled) {
this.isEnabled = isEnabled;
}
public KeyStroke getShortCutKeyStore() {
if (shortCutKeyStore == null) {
shortCutKeyStore = convert2KeyStroke(this.getShortcuts());
}
return shortCutKeyStore;
}
public void setShortCutKeyStore(KeyStroke shortCutKeyStore) {
this.shortCutKeyStore = shortCutKeyStore;
}
private KeyStroke convert2KeyStroke(String ks) {
return KeyStroke.getKeyStroke(ks.replace("+", "pressed"));
}
public boolean isContainFileContent() {
return isContainFileContent;
}
public void setContainFileContent(boolean containFileContent) {
isContainFileContent = containFileContent;
}
public boolean isNeedRemind() {
return isNeedRemind;
}
public void setNeedRemind(boolean needRemind) {
isNeedRemind = needRemind;
}
public boolean isNeedSegmentationCheckbox() {
return needSegmentationCheckbox;
}
public void setNeedSegmentationCheckbox(boolean needSegmentationCheckbox) {
this.needSegmentationCheckbox = needSegmentationCheckbox;
}
public boolean isNeedIntelligentCustomerService() {
return needIntelligentCustomerService;
}
public void setNeedIntelligentCustomerService(boolean needIntelligentCustomerService) {
this.needIntelligentCustomerService = needIntelligentCustomerService;
}
public int getOperateCount() {
return operateCount;
}
public void setOperateCount(int operateCount) {
this.operateCount = operateCount;
}
7 years ago
}