From 0a34ba980ad853b23ad9d2f0cbbef72a053c6eda Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Wed, 14 Sep 2022 14:51:16 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-75998=20=E4=B8=BB=E8=A6=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E3=80=81=E8=A1=A5=E5=85=85=E8=8F=9C=E5=8D=95=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E3=80=81=E9=97=AA=E7=83=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/replace/action/SearchAction.java | 23 ++++++++++ .../actions/replace/action/ShowValue.java | 30 +++++++++++++ .../action/content/formula/SearchFormula.java | 23 ++++++++++ .../formula/cell/SearchCellFormula.java | 34 ++++++++++++++ .../formula/data/SearchDataFormula.java | 22 +++++++++ .../floatelement/SearchFloatFormula.java | 33 ++++++++++++++ .../highlight/SearchHighlightFormula.java | 20 +++++++++ .../condition/SearchConditionFormula.java | 23 ++++++++++ .../highlight/javascript/SearchJSFormula.java | 33 ++++++++++++++ .../template/SearchTemplateFormula.java | 32 +++++++++++++ .../formula/widget/DictionaryAction.java | 23 ++++++++++ .../formula/widget/SearchWidgetFormula.java | 42 +++++++++++++++++ .../content/widget/SearchFrmWidget.java | 24 ++++++++++ .../replace/info/DealWithInfoValue.java | 45 +++++++++++++++++++ .../fr/design/actions/replace/info/Info.java | 39 ++++++++++++++++ .../mainframe/ReportComponentComposite.java | 5 ++- .../fr/start/module/DesignerActivator.java | 2 + 17 files changed, 451 insertions(+), 2 deletions(-) create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/SearchAction.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/ShowValue.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/SearchFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/cell/SearchCellFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/data/SearchDataFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/floatelement/SearchFloatFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/SearchHighlightFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/condition/SearchConditionFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/javascript/SearchJSFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/template/SearchTemplateFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/DictionaryAction.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormula.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/action/content/widget/SearchFrmWidget.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/info/DealWithInfoValue.java create mode 100644 designer-realize/src/main/java/com/fr/design/actions/replace/info/Info.java diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/SearchAction.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/SearchAction.java new file mode 100644 index 0000000000..3d44d92e69 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/SearchAction.java @@ -0,0 +1,23 @@ +package com.fr.design.actions.replace.action; + +import com.fr.design.actions.replace.info.Info; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-11 + */ +public interface SearchAction { + + /** + * 搜索模板,获取信息列表 + * + * @param jTemplate 指定搜索的模板 + * @return 对应的Info信息列表 + */ + ArrayList search4Infos(JTemplate jTemplate); + +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/ShowValue.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/ShowValue.java new file mode 100644 index 0000000000..8ee365b2ea --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/ShowValue.java @@ -0,0 +1,30 @@ +package com.fr.design.actions.replace.action; + +import com.fr.design.actions.replace.info.Info; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-22 + */ +public interface ShowValue { + + /** + * 获取搜索结果 + * @param jTemplate + * @return + */ + ArrayList showSearchValue(JTemplate jTemplate); + + /** + * 对搜索结果进行过滤 + * @param str + * @param arrayList + * @return + */ + ArrayList addMatchResult(String str,ArrayList arrayList); + +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/SearchFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/SearchFormula.java new file mode 100644 index 0000000000..49b5b81981 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/SearchFormula.java @@ -0,0 +1,23 @@ +package com.fr.design.actions.replace.action.content.formula; + +import com.fr.design.actions.replace.action.SearchAction; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; + + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-18 + */ +public interface SearchFormula extends SearchAction { + /** + * 获取公式 + * + * @param formulaInfos 存储公式信息的列表 + * @param content ITContent的数据结构 + */ + void searchFormula(ArrayList formulaInfos, ITContent content); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/cell/SearchCellFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/cell/SearchCellFormula.java new file mode 100644 index 0000000000..80811f33f5 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/cell/SearchCellFormula.java @@ -0,0 +1,34 @@ +package com.fr.design.actions.replace.action.content.formula.cell; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * 查找单元格中可能存在的公式 + * + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-19 + */ +public interface SearchCellFormula extends SearchFormula { + + /** + * 查找单元格可能存在的共有的公式 + * + * @param jTemplate 指定搜索模板 + * @param formulaInfos 要存储对应信息列表的数据结构 + */ + void searchFormulaFromCell(JTemplate jTemplate, ArrayList formulaInfos); + + /** + * 查找不同单元格内容类型各自可能存在的公式 + * + * @param formulaInfos + * @param content + */ + void searchFormulaFromCellType(ArrayList formulaInfos, ITContent content); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/data/SearchDataFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/data/SearchDataFormula.java new file mode 100644 index 0000000000..4d93f604b3 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/data/SearchDataFormula.java @@ -0,0 +1,22 @@ +package com.fr.design.actions.replace.action.content.formula.data; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-26 + */ +public interface SearchDataFormula extends SearchFormula { + /** + * 从数据集类型中去获取公式 + * @param jTemplate + * @param fomulaInfos + */ + void searchFormulaFromData(JTemplate jTemplate, ArrayList fomulaInfos); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/floatelement/SearchFloatFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/floatelement/SearchFloatFormula.java new file mode 100644 index 0000000000..6e5db9feed --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/floatelement/SearchFloatFormula.java @@ -0,0 +1,33 @@ +package com.fr.design.actions.replace.action.content.formula.floatelement; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FloatInfo; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-09-12 + */ +public interface SearchFloatFormula extends SearchFormula { + + /** + * 查找悬浮元素可能存在的共有的公式 + * + * @param floatInfo FloatInfo信息 + * @param formulaInfos 要存储对应信息列表的数据结构 + */ + void searchFormulaFromFloat(ArrayList formulaInfos, FloatInfo floatInfo); + + /** + * 查找不同悬浮元素内容类型各自可能存在的公式 + * + * @param formulaInfos 要存储对应信息列表的数据结构 + * @param floatInfo FloatInfo信息 + */ + void searchFormulaFromFloatType(ArrayList formulaInfos, FloatInfo floatInfo); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/SearchHighlightFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/SearchHighlightFormula.java new file mode 100644 index 0000000000..7a787901c0 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/SearchHighlightFormula.java @@ -0,0 +1,20 @@ +package com.fr.design.actions.replace.action.content.formula.highlight; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.report.cell.cellattr.highlight.HighlightAction; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-18 + */ +public interface SearchHighlightFormula extends SearchFormula { + + //处理条件属性中各种属性 + void dealWithHighlightAction(ITContent content, ArrayList formulaInfos, HighlightAction highlightAction); + +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/condition/SearchConditionFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/condition/SearchConditionFormula.java new file mode 100644 index 0000000000..00f71b75f6 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/condition/SearchConditionFormula.java @@ -0,0 +1,23 @@ +package com.fr.design.actions.replace.action.content.formula.highlight.condition; + +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; + +import com.fr.general.data.Condition; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-17 + */ +public interface SearchConditionFormula { + /** + * 从条件相关对象中获取公式 + * @param formulaInfos + * @param content + * @param condition + */ + void searchFormulaFromCondition(ArrayList formulaInfos, ITContent content, Condition condition); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/javascript/SearchJSFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/javascript/SearchJSFormula.java new file mode 100644 index 0000000000..ccbf8d1b75 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/highlight/javascript/SearchJSFormula.java @@ -0,0 +1,33 @@ +package com.fr.design.actions.replace.action.content.formula.highlight.javascript; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.action.content.formula.highlight.SearchHighlightFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.js.JavaScript; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-18 + */ +public interface SearchJSFormula extends SearchHighlightFormula { + + /** + * 对各种类型的JS分别处理,获取各自其他地方的公式 + * @param formulaInfos + * @param content + * @param javaScript + */ + void searchJSFormulaFromOther(ArrayList formulaInfos, ITContent content, JavaScript javaScript); + + /** + * 从超链中的参数获取公式 + * @param formulaInfos + * @param content + * @param javaScript + */ + void addFormulaInfosFromJSPara(ArrayList formulaInfos, ITContent content, JavaScript javaScript); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/template/SearchTemplateFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/template/SearchTemplateFormula.java new file mode 100644 index 0000000000..169bc5dc3b --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/template/SearchTemplateFormula.java @@ -0,0 +1,32 @@ +package com.fr.design.actions.replace.action.content.formula.template; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.design.mainframe.JTemplate; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-09-12 + */ +public interface SearchTemplateFormula extends SearchFormula { + + /** + * 搜索全局水印中的公式 + * @param jTemplate + * @param formulaInfos + * @param content + */ + void searchTemplateWaterMarkFormula(JTemplate jTemplate, ArrayList formulaInfos, ITContent content); + + /** + * 搜索全局参数中的公式 + * @param jTemplate + * @param formulaInfos + * @param content + */ + void searchTemplateParaFormula(JTemplate jTemplate, ArrayList formulaInfos, ITContent content); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/DictionaryAction.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/DictionaryAction.java new file mode 100644 index 0000000000..f5a7610b94 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/DictionaryAction.java @@ -0,0 +1,23 @@ +package com.fr.design.actions.replace.action.content.formula.widget; + +import com.fr.data.Dictionary; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.base.ITContent; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-22 + */ +public interface DictionaryAction { + + /** + * 从数据字典中获取公式 + * @param content + * @param formulaInfos + * @param dictionary + */ + void searchFormulaFromDictionary(ITContent content, ArrayList formulaInfos, Dictionary dictionary); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormula.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormula.java new file mode 100644 index 0000000000..1064dee360 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/formula/widget/SearchWidgetFormula.java @@ -0,0 +1,42 @@ +package com.fr.design.actions.replace.action.content.formula.widget; + +import com.fr.design.actions.replace.action.content.formula.SearchFormula; +import com.fr.design.actions.replace.info.FormulaInfo; +import com.fr.design.actions.replace.info.WidgetInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.form.ui.Widget; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-19 + */ +public interface SearchWidgetFormula extends SearchFormula { + + /** + * 从WidgetInfos列表中搜索所有公式 + * + * @param widgetInfo 对应的Info信息列表 + * @param formulaInfos 要存储进去的公式信息列表 + */ + void searchFormulaFromWidgetInfos(WidgetInfo widgetInfo, ArrayList formulaInfos); + + /** + * 从控件的不同类型中获取公式 + * + * @param content 对应的ITContent数据结构 + * @param formulaInfos 要存储进去的公式信息列表 + */ + void searchFormulaFromWidget(ITContent content, ArrayList formulaInfos); + + /** + * 从控件值中获取公式 + * + * @param content 对应的ITContent数据结构 + * @param formulaInfos 要存储进去的公式信息列表 + */ + void searchFormulaFromWidgetValue(ITContent content, ArrayList formulaInfos); + +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/widget/SearchFrmWidget.java b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/widget/SearchFrmWidget.java new file mode 100644 index 0000000000..95aa3c11c0 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/action/content/widget/SearchFrmWidget.java @@ -0,0 +1,24 @@ +package com.fr.design.actions.replace.action.content.widget; + +import com.fr.design.actions.replace.info.WidgetInfo; +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.form.ui.Widget; +import com.fr.form.ui.container.WLayout; + +import java.util.ArrayList; + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-29 + */ +public interface SearchFrmWidget { + + /** + * 将决策报表的控件加入数组中 + * @param content ITContent信息 + * @param widget 对应的控件 + * @return + */ + ArrayList addFrmWidget2Array(ITContent content, Widget widget); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/info/DealWithInfoValue.java b/designer-realize/src/main/java/com/fr/design/actions/replace/info/DealWithInfoValue.java new file mode 100644 index 0000000000..ecde8d1852 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/info/DealWithInfoValue.java @@ -0,0 +1,45 @@ +package com.fr.design.actions.replace.info; + +import com.fr.design.actions.replace.info.base.ITContent; +import javafx.util.Pair; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * 处理信息 + * + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-23 + */ +public interface DealWithInfoValue { + + /** + * 获取存储的值 + * + * @param o 用于替换的replaceObject + * @return 返回便于处理的HashMap(不同类型可能会存在多个需要存储的数据,eg:控件名 & 水印) + */ + HashMap getValue(Object... o); + + + /** + * 替换时调用的方法,设置值 + * + * @param info 用于获取值和设置值 + * @param findStr 要被替换的字符串 + * @param replaceStr 用于替换的字符串 + * @param operatorArray 存储内容类替换所要操作的所有位置(Pair<起始位置,结束位置>) + */ + void setValue(Info info, String findStr, String replaceStr, ArrayList> operatorArray); + + + /** + * 获取用于展示给用户的值 + * + * @param info 信息 + * @return 返回用于展示的字符串 + */ + String getInfoShowStr(Info info); +} diff --git a/designer-realize/src/main/java/com/fr/design/actions/replace/info/Info.java b/designer-realize/src/main/java/com/fr/design/actions/replace/info/Info.java new file mode 100644 index 0000000000..9b318a2170 --- /dev/null +++ b/designer-realize/src/main/java/com/fr/design/actions/replace/info/Info.java @@ -0,0 +1,39 @@ +package com.fr.design.actions.replace.info; + +import com.fr.design.actions.replace.info.base.ITContent; +import com.fr.stable.StringUtils; + + +/** + * @author Destiny.Lin + * @version 11.0 + * created by Destiny.Lin on 2022-08-17 + */ +public interface Info extends DealWithInfoValue{ + + /** + * 获取ITContent + * @return + */ + ITContent getContent(); + + + /** + * 更新旧值 + * @param oldShowStr + * @param lastSearchStr + */ + default void updateOldStr(String oldShowStr, String lastSearchStr){ + this.getContent().setOldShowStr(oldShowStr); + this.getContent().setLastSearchStr(lastSearchStr); + } + + /** + * 校验正确性(是否被修改) + * @return + */ + default Boolean checkValid(){ + //todo 完善所有类型的校验 + return true; + }; +} diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java b/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java index d0f6a114d8..a14573c6e4 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java @@ -2,6 +2,7 @@ package com.fr.design.mainframe; import com.fr.base.ScreenResolution; import com.fr.base.TRL; +import com.fr.design.actions.replace.ui.ITReplaceMainDialog; import com.fr.design.base.mode.DesignModeContext; import com.fr.design.designer.EditingState; import com.fr.design.event.RemoveListener; @@ -140,8 +141,8 @@ public class ReportComponentComposite extends JComponent implements RemoveListen Grid grid = centerCardPane.editingComponet.elementCasePane.getGrid(); this.centerCardPane.editingComponet.elementCasePane.getGrid().addMouseWheelListener(new ReportComponentCompositeMouseWheelHandler(this)); - - if (!grid.hasFocus() && grid.isRequestFocusEnabled()) { + //!ITReplaceMainDialog.isITReplaceFlag()用于解决查找替换面板闪烁问题 + if (!grid.hasFocus() && grid.isRequestFocusEnabled() && !ITReplaceMainDialog.isITReplaceFlag()) { grid.requestFocus(); } } diff --git a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java index b69eda7993..92d1fc6a4a 100644 --- a/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java +++ b/designer-realize/src/main/java/com/fr/start/module/DesignerActivator.java @@ -31,6 +31,7 @@ import com.fr.design.actions.insert.flot.ChartFloatAction; import com.fr.design.actions.insert.flot.FormulaFloatAction; import com.fr.design.actions.insert.flot.ImageFloatAction; import com.fr.design.actions.insert.flot.TextBoxFloatAction; +import com.fr.design.actions.replace.ITReplaceAction; import com.fr.design.bridge.DesignToolbarProvider; import com.fr.design.constants.DesignerLaunchStatus; import com.fr.design.env.DesignerWorkspaceLoader; @@ -466,6 +467,7 @@ public class DesignerActivator extends Activator implements Prepare { StableFactory.registerMarkedObject(DesignToolbarProvider.STRING_MARKED, WidgetToolBarPane.getInstance()); DesignModuleFactory.registerNewFormActionClass(NewFormAction.class); + DesignModuleFactory.registerReplaceActionClass(ITReplaceAction.class); DesignModuleFactory.registerFormParaDesignerClass(FormParaDesigner.class); DesignModuleFactory.registerParaPropertyPaneClass(ParameterPropertyPane.class); DesignModuleFactory.registerFormHierarchyPaneClass(FormHierarchyTreePane.class);