diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartFillStylePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartFillStylePane.java index f3a9b8a86..7ddd89d52 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartFillStylePane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartFillStylePane.java @@ -1,10 +1,11 @@ package com.fr.design.mainframe.chart.gui.style; +import com.fr.base.ChartColorMatching; import com.fr.base.ChartPreStyleConfig; import com.fr.base.Utils; import com.fr.chart.base.AttrFillStyle; import com.fr.chart.base.ChartConstants; -import com.fr.chart.base.ChartPreStyle; +import com.fr.chart.base.ChartUtils; import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icombobox.UIComboBox; @@ -199,9 +200,9 @@ public class ChartFillStylePane extends BasicBeanPane{ } else if(styleSelectBox.getSelectedIndex() < styleSelectBox.getItemCount() - 1){ ChartPreStyleConfig manager = ChartPreStyleConfig.getInstance(); Object preStyle = manager.getPreStyle(styleSelectBox.getSelectedItem()); - if(preStyle instanceof ChartPreStyle) { - AttrFillStyle def = ((ChartPreStyle) preStyle).getAttrFillStyle(); - def.setFillStyleName(Utils.objectToString(styleSelectBox.getSelectedItem())); + if (preStyle instanceof ChartColorMatching) { + AttrFillStyle def = ChartUtils.chartColorMatching2AttrFillStyle((ChartColorMatching) preStyle); + def.setFillStyleName(Utils.objectToString(styleSelectBox.getSelectedItem())); return def; }else{ condition.setColorStyle(ChartConstants.COLOR_DEFAULT); diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartPreFillStylePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartPreFillStylePane.java deleted file mode 100644 index 3e7fc1be0..000000000 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/style/ChartPreFillStylePane.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.fr.design.mainframe.chart.gui.style; - -import java.awt.*; - -import com.fr.chart.base.AttrFillStyle; -import com.fr.chart.base.ChartConstants; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.general.Inter; - -/** - * 预定义的图表配色界面, 其中和属性表中ChartFillStylePane 主要的不同就是标签的位置. - * @author kunsnat E-mail:kunsnat@gmail.com - * @version 创建时间:2013-8-21 下午03:16:27 - */ -public class ChartPreFillStylePane extends ChartFillStylePane { - - public ChartPreFillStylePane() { - - } - - protected void initLayout() {// 仅仅是服务器预定 风格界面布局, 和属性表 有所不同. - customPane.setPreferredSize(new Dimension(200, 200)); - colorGradient.setPreferredSize(new Dimension(120, 30)); - - double p = TableLayout.PREFERRED; - double[] columnSize = {p, p }; - double[] rowSize = { p, p, p}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(" " + Inter.getLocText("ColorMatch")), null}, - new Component[]{null, customPane}, - }; - - this.add(TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize), BorderLayout.WEST); - } - - public void populateBean(AttrFillStyle condition) { - styleSelectBox.setSelectedIndex(styleSelectBox.getItemCount()-1); - - if(condition == null || condition.getColorStyle() == ChartConstants.COLOR_DEFAULT) { - colorAcc.populateBean(ChartConstants.CHART_COLOR_ARRAY);// 新建时 保持默认样式 - accButton.setSelected(true); - gradientButton.setSelected(false); - cardLayout.show(changeColorSetPane, "acc"); - - colorGradient.getSelectColorPointBtnP1().setColorInner(Color.WHITE); - colorGradient.getSelectColorPointBtnP2().setColorInner(Color.black);// 控件中的位置无效. - } else { - int colorStyle = condition.getColorStyle(); - gradientButton.setSelected(colorStyle == ChartConstants.COLOR_GRADIENT); - accButton.setSelected(colorStyle == ChartConstants.COLOR_ACC); - - int colorSize = condition.getColorSize(); - if(colorSize == 2 && gradientButton.isSelected() ) { - cardLayout.show(changeColorSetPane, "gradient"); - - Color endColor = condition.getColorIndex(1); - Color startColor = condition.getColorIndex(0); - colorGradient.getSelectColorPointBtnP1().setColorInner(startColor); - colorGradient.getSelectColorPointBtnP2().setColorInner(endColor); - colorGradient.repaint(); - } else if(colorSize > 2 && accButton.isSelected()){ - cardLayout.show(changeColorSetPane, "acc"); - - Color[] colors = new Color[colorSize]; - for(int i = 0; i < colorSize; i++) { - colors[i] = condition.getColorIndex(i); - } - colorAcc.populateBean(colors); - } - } - } - - @Override - public AttrFillStyle updateBean() { - AttrFillStyle condition = new AttrFillStyle(); - condition.clearColors(); - - if(gradientButton.isSelected()) { - condition.setColorStyle(ChartConstants.COLOR_GRADIENT); - Color start = colorGradient.getSelectColorPointBtnP1().getColorInner(); - Color end = colorGradient.getSelectColorPointBtnP2().getColorInner(); - condition.addFillColor(start); - condition.addFillColor(end); - } else { - condition.setColorStyle(ChartConstants.COLOR_ACC); - - Color[] colors = colorAcc.updateBean(); - for(int i = 0, length = colors.length; i < length; i++) { - condition.addFillColor(colors[i]); - } - } - - return condition; - } -} \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java index 590190762..57a9dd143 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/type/AbstractChartTypePane.java @@ -1,12 +1,13 @@ package com.fr.design.mainframe.chart.gui.type; +import com.fr.base.ChartColorMatching; import com.fr.base.ChartPreStyleConfig; import com.fr.base.FRContext; import com.fr.base.background.ColorBackground; import com.fr.chart.base.AttrContents; import com.fr.chart.base.AttrFillStyle; import com.fr.chart.base.ChartConstants; -import com.fr.chart.base.ChartPreStyle; +import com.fr.chart.base.ChartUtils; import com.fr.chart.base.DataSeriesCondition; import com.fr.chart.base.TextAttr; import com.fr.chart.chartattr.Axis; @@ -243,7 +244,7 @@ public abstract class AbstractChartTypePane extends FurtherBasicBeanPane{ if(preStyle == null){ plot.getPlotFillStyle().setColorStyle(ChartConstants.COLOR_DEFAULT); }else{ - AttrFillStyle fillStyle = ((ChartPreStyle)preStyle).getAttrFillStyle(); + AttrFillStyle fillStyle = ChartUtils.chartColorMatching2AttrFillStyle((ChartColorMatching) preStyle); fillStyle.setFillStyleName(name); plot.setPlotFillStyle(fillStyle); } diff --git a/designer-chart/src/main/java/com/fr/design/module/ChartPreFillStylePane.java b/designer-chart/src/main/java/com/fr/design/module/ChartPreFillStylePane.java new file mode 100644 index 000000000..0d27409a4 --- /dev/null +++ b/designer-chart/src/main/java/com/fr/design/module/ChartPreFillStylePane.java @@ -0,0 +1,165 @@ +package com.fr.design.module; + +import com.fr.base.ChartColorMatching; +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.gui.ibutton.UIButton; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.chart.gui.style.ChartAccColorPane; +import com.fr.design.style.background.gradient.FixedGradientBar; +import com.fr.general.Inter; + +import javax.swing.JPanel; +import java.awt.BorderLayout; +import java.awt.CardLayout; +import java.awt.Color; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; + + +/** + * 预定义的图表配色界面. + * @author kunsnat E-mail:kunsnat@gmail.com + * @version 创建时间:2013-8-21 下午03:16:27 + */ +public class ChartPreFillStylePane extends BasicBeanPane { + + private JPanel changeColorSetPane; + private CardLayout cardLayout; + + private UIButton accButton; + private UIButton gradientButton; + + private ChartAccColorPane colorAcc; + private FixedGradientBar colorGradient; + + public ChartPreFillStylePane() { + + initComponents(); + + initListener(); + } + + private void initComponents() { + + JPanel customPane = new JPanel(FRGUIPaneFactory.createBorderLayout()); + + JPanel buttonPane = new JPanel(); + buttonPane.setLayout(new FlowLayout(FlowLayout.LEFT)); + buttonPane.add(accButton = new UIButton(Inter.getLocText("FR-Designer_Chart_Acc_Set"))); + buttonPane.add(gradientButton = new UIButton(Inter.getLocText("FR-Designer_Gradient-Color"))); + customPane.add(buttonPane, BorderLayout.NORTH); + + changeColorSetPane = new JPanel(cardLayout = new CardLayout()); + changeColorSetPane.add(colorGradient = new FixedGradientBar(4, 130), "gradient"); + changeColorSetPane.add(colorAcc = new ChartAccColorPane(), "acc"); + cardLayout.show(changeColorSetPane, "acc"); + customPane.add(changeColorSetPane, BorderLayout.CENTER); + + accButton.setSelected(true); + + customPane.setPreferredSize(new Dimension(200, 200)); + colorGradient.setPreferredSize(new Dimension(120, 30)); + colorGradient.getSelectColorPointBtnP1().setColorInner(Color.WHITE); + colorGradient.getSelectColorPointBtnP2().setColorInner(Color.black); + + double p = TableLayout.PREFERRED; + double[] columnSize = {p, p}; + double[] rowSize = {p, p, p}; + Component[][] components = new Component[][]{ + new Component[]{new UILabel(" " + Inter.getLocText("ColorMatch")), null}, + new Component[]{null, customPane}, + }; + + this.setLayout(new BorderLayout()); + this.add(TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize), BorderLayout.WEST); + } + + private void initListener() { + + accButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + accButton.setSelected(true); + gradientButton.setSelected(false); + cardLayout.show(changeColorSetPane, "acc"); + } + }); + + gradientButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + gradientButton.setSelected(true); + accButton.setSelected(false); + cardLayout.show(changeColorSetPane, "gradient"); + } + }); + } + + @Override + protected String title4PopupWindow() { + return Inter.getLocText("ServerM-Predefined_Styles"); + } + + public void populateBean(ChartColorMatching condition) { + if (condition == null) { + return; + } + + boolean isGradient = condition.getGradient(); + List colorList = condition.getColorList(); + if (isGradient) { + gradientButton.setSelected(true); + accButton.setSelected(false); + cardLayout.show(changeColorSetPane, "gradient"); + + if (colorList.size() == 2) { + colorGradient.getSelectColorPointBtnP1().setColorInner(colorList.get(0)); + colorGradient.getSelectColorPointBtnP2().setColorInner(colorList.get(1)); + colorGradient.repaint(); + } + } else { + accButton.setSelected(true); + gradientButton.setSelected(false); + cardLayout.show(changeColorSetPane, "acc"); + + if (colorList.size() > 0) { + colorAcc.populateBean(colorList.toArray(new Color[colorList.size()])); + } + } + } + + @Override + public ChartColorMatching updateBean() { + ChartColorMatching chartColorMatching = new ChartColorMatching(); + + List colorList = new ArrayList(); + + if(gradientButton.isSelected()) { + chartColorMatching.setGradient(true); + + Color start = colorGradient.getSelectColorPointBtnP1().getColorInner(); + Color end = colorGradient.getSelectColorPointBtnP2().getColorInner(); + colorList.add(start); + colorList.add(end); + } else { + chartColorMatching.setGradient(false); + + Color[] colors = colorAcc.updateBean(); + for(Color color : colors) { + colorList.add(color); + } + } + + chartColorMatching.setColorList(colorList); + + return chartColorMatching; + } +} \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleAction.java b/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleAction.java index 70571338f..f964c4534 100644 --- a/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleAction.java +++ b/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleAction.java @@ -39,14 +39,10 @@ public class ChartPreStyleAction extends UpdateAction { @Override public void doOk() { pane.updateBean(); -// ChartPreStyleManagerProvider manager = ChartPreStyleServerManager.getProviderInstance(); -// manager.setStyleEditing(null); } @Override public void doCancel() { -// ChartPreStyleManagerProvider manager = ChartPreStyleServerManager.getProviderInstance(); -// manager.setStyleEditing(null); } }); diff --git a/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleManagerPane.java b/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleManagerPane.java index c25782c4e..e77d17594 100644 --- a/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleManagerPane.java +++ b/designer-chart/src/main/java/com/fr/design/module/ChartPreStyleManagerPane.java @@ -1,8 +1,9 @@ package com.fr.design.module; +import com.fr.base.ChartColorMatching; import com.fr.base.ChartPreStyleConfig; import com.fr.base.Utils; -import com.fr.chart.base.ChartPreStyle; +import com.fr.config.Configuration; import com.fr.design.gui.controlpane.JListControlPane; import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; @@ -10,8 +11,9 @@ import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerFrame; import com.fr.general.Inter; import com.fr.general.NameObject; -import com.fr.stable.ListMap; import com.fr.stable.Nameable; +import com.fr.transaction.Configurations; +import com.fr.transaction.Worker; import java.util.ArrayList; import java.util.Iterator; @@ -32,7 +34,7 @@ public class ChartPreStyleManagerPane extends JListControlPane { public NameableCreator[] createNameableCreators() { return new NameableCreator[]{ new NameObjectCreator(Inter.getLocText("FR-Designer_PreStyle"), - ChartPreStyle.class, ChartPreStylePane.class) + ChartColorMatching.class, ChartPreStylePane.class) }; } @@ -42,15 +44,14 @@ public class ChartPreStyleManagerPane extends JListControlPane { } public void populateBean() { - ChartPreStyleConfig config = ChartPreStyleConfig.getInstance(); - + ChartPreStyleConfig config = ChartPreStyleConfig.getInstance().mirror(); ArrayList list = new ArrayList(); Iterator keys = config.names(); while(keys.hasNext()) { Object key = keys.next(); - ChartPreStyle value = (ChartPreStyle)config.getPreStyle(key); - + ChartColorMatching value = (ChartColorMatching) config.getPreStyle(key); + list.add(new NameObject(Utils.objectToString(key), value)); } @@ -63,24 +64,33 @@ public class ChartPreStyleManagerPane extends JListControlPane { } public void updateBean() { - ChartPreStyleConfig config = ChartPreStyleConfig.getInstance(); + Configurations.update(new Worker() { + @Override + public void run() { + ChartPreStyleConfig config = ChartPreStyleConfig.getInstance(); - config.setPreStyleMap(new ListMap()); + config.setCurrentStyle(getSelectedName()); - Nameable[] values = this.update(); + Nameable[] values = update(); + config.clearAllPreStyle(); - config.setCurrentStyle(getSelectedName()); - - for(int i = 0; i < values.length; i++) { - Nameable value = values[i]; - config.putPreStyle(value.getName(), ((NameObject)value).getObject()); - } + for(Nameable value : values) { + config.putPreStyle(value.getName(), ((NameObject) value).getObject()); + } + + // 通知报表整个刷新. + DesignerFrame frame = DesignerContext.getDesignerFrame(); + if(frame != null) { + frame.repaint(); + } + } + + @Override + public Class[] targets() { + return new Class[]{ChartPreStyleConfig.class}; + } + }); - // 通知报表整个刷新. - DesignerFrame frame = DesignerContext.getDesignerFrame(); - if(frame != null) { - frame.repaint(); - } } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/design/module/ChartPreStylePane.java b/designer-chart/src/main/java/com/fr/design/module/ChartPreStylePane.java index d0f4d3136..1668afcc0 100644 --- a/designer-chart/src/main/java/com/fr/design/module/ChartPreStylePane.java +++ b/designer-chart/src/main/java/com/fr/design/module/ChartPreStylePane.java @@ -1,16 +1,17 @@ package com.fr.design.module; -import com.fr.chart.base.ChartPreStyle; +import com.fr.base.ChartColorMatching; +import com.fr.chart.base.ChartUtils; import com.fr.chart.chartattr.Bar2DPlot; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.ChartCollection; +import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.chart.gui.ChartComponent; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.gui.ilable.BoldFontTextLabel; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.chart.gui.style.ChartPreFillStylePane; import com.fr.general.Inter; import javax.swing.JPanel; @@ -25,8 +26,8 @@ import java.awt.FlowLayout; * @author kunsnat E-mail:kunsnat@gmail.com * @version 创建时间:2013-8-20 下午05:02:00 */ -public class ChartPreStylePane extends BasicBeanPane{ - +public class ChartPreStylePane extends BasicBeanPane { + private ChartPreFillStylePane fillStylePane; private ChartComponent chartComponent; @@ -78,28 +79,26 @@ public class ChartPreStylePane extends BasicBeanPane{ } } } - - private void refreshWhenStyleChange(ChartPreStyle preStyle) { -// ChartPreStyleManagerProvider manager = ChartPreStyleServerManager.getProviderInstance(); -// manager.setStyleEditing(preStyle); + + private void refreshWhenStyleChange(ChartColorMatching preStyle) { if(chartComponent != null) { + Plot plot = (Plot) chartComponent.getEditingChart().getBasePlot(); + plot.setPlotFillStyle(ChartUtils.chartColorMatching2AttrFillStyle(preStyle)); chartComponent.reset(); } } @Override - public void populateBean(ChartPreStyle preStyle) { + public void populateBean(ChartColorMatching preStyle) { + + fillStylePane.populateBean(preStyle); - fillStylePane.populateBean(preStyle.getAttrFillStyle()); - refreshWhenStyleChange(preStyle); } @Override - public ChartPreStyle updateBean() { - ChartPreStyle preStyle = new ChartPreStyle(); - preStyle.setAttrFillStyle(fillStylePane.updateBean()); - return preStyle; + public ChartColorMatching updateBean() { + return fillStylePane.updateBean(); } @Override diff --git a/designer-form/src/main/java/com/fr/design/designer/beans/actions/FormWidgetEditAction.java b/designer-form/src/main/java/com/fr/design/designer/beans/actions/FormWidgetEditAction.java index b22ac5f76..753dc812b 100644 --- a/designer-form/src/main/java/com/fr/design/designer/beans/actions/FormWidgetEditAction.java +++ b/designer-form/src/main/java/com/fr/design/designer/beans/actions/FormWidgetEditAction.java @@ -3,12 +3,7 @@ package com.fr.design.designer.beans.actions; import com.fr.design.actions.TemplateComponentAction; import com.fr.design.designer.beans.actions.behavior.UpdateBehavior; import com.fr.design.mainframe.FormDesigner; -import com.fr.general.Inter; -import com.fr.plugin.ExtraClassManager; -import com.fr.stable.ReportFunctionProcessor; -import com.fr.stable.fun.FunctionProcessor; -import javax.swing.*; import java.awt.event.ActionEvent; public abstract class FormWidgetEditAction extends TemplateComponentAction { @@ -32,17 +27,6 @@ public abstract class FormWidgetEditAction extends TemplateComponentAction { // 放到后面。如果提前 return 了,则仍然处于未设置状态,不要添加 jf.getTarget().addAttrMark(new MobileOnlyTemplateAttrMark()); } - // 记录功能点 - FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); - if (processor != null) { - processor.recordFunction(ReportFunctionProcessor.MOBILE_TEMPLATE_FRM); - } // 设置移动端属性并刷新界面 formTpl.setFormMobileAttr(formMobileAttr); // 会调整 body 的自适应布局,放到最后 ((FormArea)jf.getFormDesign().getParent()).onMobileAttrModified(); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java index b6de59857..c5acb6114 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleBodyWatermarkEditor.java @@ -7,12 +7,9 @@ import com.fr.design.mainframe.widget.editors.ITextComponent; import com.fr.design.mainframe.widget.renderer.WatermarkRenderer; import com.fr.design.mainframe.widget.wrappers.WatermarkWrapper; import com.fr.design.report.WatermarkPane; -import com.fr.plugin.ExtraClassManager; -import com.fr.stable.ReportFunctionProcessor; -import com.fr.stable.fun.FunctionProcessor; -import javax.swing.SwingUtilities; -import java.awt.Dimension; +import javax.swing.*; +import java.awt.*; /** * Created by plough on 2018/5/15. @@ -43,11 +40,6 @@ public class AccessibleBodyWatermarkEditor extends UneditableAccessibleEditor { public void doOk() { setValue(watermarkPane.update()); fireStateChanged(); - // 功能点 - FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); - if (processor != null) { - processor.recordFunction(ReportFunctionProcessor.WATERMARK); - } } }); watermarkPane.populate((WatermarkAttr) getValue()); diff --git a/designer-realize/src/main/java/com/fr/design/actions/report/ReportMobileAttrAction.java b/designer-realize/src/main/java/com/fr/design/actions/report/ReportMobileAttrAction.java index d718c92fe..f4032fa92 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/report/ReportMobileAttrAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/report/ReportMobileAttrAction.java @@ -12,12 +12,9 @@ import com.fr.file.FILE; import com.fr.general.IOUtils; import com.fr.general.Inter; import com.fr.main.TemplateWorkBook; -import com.fr.plugin.ExtraClassManager; import com.fr.report.mobile.ElementCaseMobileAttr; -import com.fr.stable.ReportFunctionProcessor; -import com.fr.stable.fun.FunctionProcessor; -import javax.swing.KeyStroke; +import javax.swing.*; import java.awt.event.ActionEvent; /** @@ -67,11 +64,6 @@ public class ReportMobileAttrAction extends JWorkBookAction{ // 放到后面。如果提前 return 了,则仍然处于未设置状态,不要添加 wbTpl.addAttrMark(new MobileOnlyTemplateAttrMark()); } - // 记录功能点 - FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); - if (processor != null) { - processor.recordFunction(ReportFunctionProcessor.MOBILE_TEMPLATE_CPT); - } // 设置移动端属性并刷新界面 wbTpl.setReportMobileAttr(elementCaseMobileAttr); // 会同时修改页面设置,放到最后 jwb.fireTargetModified(); diff --git a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java index bec8fb217..db1d10f9d 100644 --- a/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java +++ b/designer-realize/src/main/java/com/fr/design/actions/report/ReportWatermarkAction.java @@ -9,10 +9,7 @@ import com.fr.design.mainframe.JWorkBook; import com.fr.design.menu.KeySetUtils; import com.fr.design.report.WatermarkPane; import com.fr.main.impl.WorkBook; -import com.fr.plugin.ExtraClassManager; import com.fr.report.core.ReportUtils; -import com.fr.stable.ReportFunctionProcessor; -import com.fr.stable.fun.FunctionProcessor; import java.awt.event.ActionEvent; @@ -45,11 +42,6 @@ public class ReportWatermarkAction extends JWorkBookAction { public void doOk() { wbTpl.addAttrMark(watermarkPane.update()); jwb.fireTargetModified(); - // 功能点 - FunctionProcessor processor = ExtraClassManager.getInstance().getFunctionProcessor(); - if (processor != null) { - processor.recordFunction(ReportFunctionProcessor.WATERMARK); - } } }).setVisible(true); } diff --git a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java index 46efc1581..e3a953277 100644 --- a/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java +++ b/designer-realize/src/main/java/com/fr/design/mainframe/errorinfo/ErrorInfoLogAppender.java @@ -107,7 +107,7 @@ public class ErrorInfoLogAppender extends AppenderSkeleton { return StringUtils.EMPTY; } - String bookPath = infor.getBookPath(); + String bookPath = infor.getRelativePath(); // 这个iofile只读一个templateid, 其他以后有需要再读. IOFile file = new IOFile() { @Override diff --git a/designer-realize/src/main/java/com/fr/start/Designer.java b/designer-realize/src/main/java/com/fr/start/Designer.java index 880a7182b..d0b1da68f 100644 --- a/designer-realize/src/main/java/com/fr/start/Designer.java +++ b/designer-realize/src/main/java/com/fr/start/Designer.java @@ -47,6 +47,7 @@ import com.fr.stable.OperatingSystem; import com.fr.stable.ProductConstants; import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; +import com.fr.stable.lifecycle.LifecycleFatalError; import com.fr.stable.xml.XMLTools; import com.fr.start.fx.SplashFx; import com.fr.start.jni.SplashMac; @@ -107,7 +108,11 @@ public class Designer extends BaseDesigner { Module designerRoot = ModuleContext.parseRoot("designer-startup.xml"); //传递启动参数 designerRoot.setSingleton(StartupArgs.class, new StartupArgs(args)); - designerRoot.start(); + try { + designerRoot.start(); + } catch (LifecycleFatalError fatal) { + System.exit(0); + } if (WorkContext.getCurrent().isLocal()) { //初始化一下serverTray