From 5ec25e6264a8e582dffcc36c10fec37ed207a457 Mon Sep 17 00:00:00 2001 From: zack Date: Thu, 22 Sep 2016 20:19:01 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=9D=97=E5=85=B1?= =?UTF-8?q?=E4=BA=AB=E6=8C=89=E9=92=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fun/DesignerFrameUpButtonProvider.java | 24 +++++++++++++++++++ .../AbstractDsinFrameUpButtonProvider.java | 23 ++++++++++++++++++ .../fr/design/mainframe/DesignerFrame.java | 19 +++++++++++++++ .../com/fr/design/mainframe/JTemplate.java | 24 ++++++++++++++++++- 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 designer_base/src/com/fr/design/fun/DesignerFrameUpButtonProvider.java create mode 100644 designer_base/src/com/fr/design/fun/impl/AbstractDsinFrameUpButtonProvider.java diff --git a/designer_base/src/com/fr/design/fun/DesignerFrameUpButtonProvider.java b/designer_base/src/com/fr/design/fun/DesignerFrameUpButtonProvider.java new file mode 100644 index 000000000..b6a86ae81 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/DesignerFrameUpButtonProvider.java @@ -0,0 +1,24 @@ +package com.fr.design.fun; + +import com.fr.design.gui.ibutton.UIButton; +import com.fr.stable.fun.mark.Mutable; + +/** + * 设计器面板最上方的按钮接口(保存,赋值,撤销同级) + * Coder: zack + * Date: 2016/9/22 + * Time: 15:40 + */ +public interface DesignerFrameUpButtonProvider extends Mutable { + + int CURRENT_LEVEL = 1; + + String XML_TAG = "DesignerFrameUpButtonProvider"; + + /** + * 根据当前的设计状态返回最上层工具按钮 + * @param menuState 现在设计器的设计状态 + * @return 按钮 + */ + UIButton[] getUpButtons(int menuState); +} diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractDsinFrameUpButtonProvider.java b/designer_base/src/com/fr/design/fun/impl/AbstractDsinFrameUpButtonProvider.java new file mode 100644 index 000000000..bd1f70829 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/impl/AbstractDsinFrameUpButtonProvider.java @@ -0,0 +1,23 @@ +package com.fr.design.fun.impl; + +import com.fr.design.fun.DesignerFrameUpButtonProvider; +import com.fr.design.gui.ibutton.UIButton; +import com.fr.stable.fun.mark.API; + +/** + * Coder: zack + * Date: 2016/9/22 + * Time: 15:50 + */ +@API(level = DesignerFrameUpButtonProvider.CURRENT_LEVEL) +public abstract class AbstractDsinFrameUpButtonProvider implements DesignerFrameUpButtonProvider { + @Override + public UIButton[] getUpButtons(int menuState) { + return new UIButton[0]; + } + + @Override + public String mark4Provider() { + return getClass().getName(); + } +} diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java index a1f5f16a4..329b63155 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrame.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrame.java @@ -464,9 +464,28 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta //添加分享按钮 addShareButton(); + + //添加插件中的按钮 + addExtraButtons(); return combineUp; } + + private void addExtraButtons(){ + JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + if(jt == null){ + return; + } + + + UIButton[] extraButtons = jt.createExtraButtons(); + for (int i = 0; i < extraButtons.length; i++) { + combineUp.add(extraButtons[i]); + } + if (extraButtons.length > 0) { + combineUp.addSeparator(new Dimension(2, 16)); + } + } private void addShareButton(){ JTemplate jt = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); diff --git a/designer_base/src/com/fr/design/mainframe/JTemplate.java b/designer_base/src/com/fr/design/mainframe/JTemplate.java index 8478e2500..58060d91a 100644 --- a/designer_base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer_base/src/com/fr/design/mainframe/JTemplate.java @@ -8,8 +8,8 @@ import com.fr.base.io.IOFile; import com.fr.design.DesignModelAdapter; import com.fr.design.DesignState; import com.fr.design.DesignerEnvManager; +import com.fr.design.ExtraDesignClassManager; import com.fr.design.actions.TableDataSourceAction; -import com.fr.design.actions.core.WorkBookSupportable; import com.fr.design.actions.edit.RedoAction; import com.fr.design.actions.edit.UndoAction; import com.fr.design.actions.file.SaveAsTemplateAction; @@ -19,6 +19,7 @@ import com.fr.design.designer.TargetComponent; import com.fr.design.dialog.InformationWarnPane; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.TemplateTreePane; +import com.fr.design.fun.DesignerFrameUpButtonProvider; import com.fr.design.fun.MenuHandler; import com.fr.design.fun.PreviewProvider; import com.fr.design.gui.frpane.HyperlinkGroupPane; @@ -37,9 +38,12 @@ import com.fr.file.FILE; import com.fr.file.FILEChooserPane; import com.fr.file.FileNodeFILE; import com.fr.file.MemFILE; +import com.fr.form.ui.NoneWidget; +import com.fr.form.ui.Widget; import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; +import com.fr.stable.ArrayUtils; import com.fr.stable.ProductConstants; import com.fr.stable.StringUtils; import com.fr.stable.project.ProjectConstants; @@ -51,6 +55,7 @@ import java.awt.*; import java.io.File; import java.util.ArrayList; import java.util.Arrays; +import java.util.Set; import java.util.regex.Pattern; /** @@ -505,6 +510,9 @@ public abstract class JTemplate> ex public boolean saveShareFile(){ return true; } + public Widget getSelectElementCase(){ + return new NoneWidget(); + } protected FILEChooserPane getFILEChooserPane(boolean isShowLoc){ return new FILEChooserPane(true, isShowLoc); @@ -957,4 +965,18 @@ public abstract class JTemplate> ex public boolean acceptToolbarItem(Class clazz) { return true; } + + /** + * 加载插件中的按钮 + * @return 按钮组 + */ + public UIButton[] createExtraButtons() { + Set providers = ExtraDesignClassManager.getInstance().getArray(DesignerFrameUpButtonProvider.XML_TAG); + UIButton[] uiButtons = new UIButton[0]; + for (DesignerFrameUpButtonProvider provider : providers) { + uiButtons = ArrayUtils.addAll(uiButtons, provider.getUpButtons(getMenuState())); + } + + return uiButtons; + } } \ No newline at end of file From 4fb11bb9f29b1ee5b7b361b6aab9ebed0f7a303f Mon Sep 17 00:00:00 2001 From: fr_shine Date: Fri, 23 Sep 2016 10:05:50 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=A1=A8=E5=8D=95=E5=86=85=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E4=B9=9F=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E8=83=8C=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/chart/gui/style/area/ChartAreaPane.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/area/ChartAreaPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/area/ChartAreaPane.java index 673ac0194..d10cb182b 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/area/ChartAreaPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/area/ChartAreaPane.java @@ -45,13 +45,8 @@ public class ChartAreaPane extends ThirdTabPane implements AutoSelectedPa if(parent instanceof ChartStylePane) { plotPane.setParentPane((ChartStylePane)parent); } - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (jTemplate.isJWorkBook() || jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB) { - //表单中的图表组件的图表区挪到控件属性表的样式中了 - paneList.add(new NamePane(areaPane.title4PopupWindow(), areaPane)); - }else if(jTemplate.isChartBook()){ - paneList.add(new NamePane(areaPane.title4PopupWindow(), areaPane)); - } + + paneList.add(new NamePane(areaPane.title4PopupWindow(), areaPane)); if(plot.isSupportPlotBackground()) { paneList.add(new NamePane(plotPane.title4PopupWindow(), plotPane)); From 32046b798f090c98b527481d1d3fe6fe8d9ce838 Mon Sep 17 00:00:00 2001 From: zack Date: Fri, 23 Sep 2016 11:05:42 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=85=B1=E4=BA=AB?= =?UTF-8?q?=E6=BC=8F=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_form/src/com/fr/design/mainframe/JForm.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index 848f0da4c..ef18f0713 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -10,6 +10,7 @@ import com.fr.design.designer.beans.actions.FormDeleteAction; import com.fr.design.designer.beans.events.DesignerEditListener; import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.creator.XComponent; +import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XCreatorUtils; import com.fr.design.designer.properties.FormWidgetAuthorityEditPane; import com.fr.design.event.TargetModifiedEvent; @@ -35,6 +36,7 @@ import com.fr.file.FILE; import com.fr.form.FormElementCaseContainerProvider; import com.fr.form.FormElementCaseProvider; import com.fr.form.main.Form; +import com.fr.form.ui.Widget; import com.fr.form.ui.container.WBorderLayout; import com.fr.form.ui.container.WLayout; import com.fr.general.ComparatorUtils; @@ -756,4 +758,10 @@ public class JForm extends JTemplate implements BaseJForm { return WorkBookSupportable.class.isAssignableFrom(clazz); } + @Override + public Widget getSelectElementCase() { + FormSelection selection = formDesign.getSelectionModel().getSelection(); + XCreator creator = selection.getSelectedCreator(); + return creator.toData(); + } } \ No newline at end of file From dcee7b753a9be7bdcaa5b59131d62d030fefe37d Mon Sep 17 00:00:00 2001 From: loy Date: Fri, 23 Sep 2016 16:39:33 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BD=BF=E7=94=A8third=E4=B8=AD=E7=9A=84po?= =?UTF-8?q?i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../file/export/AbstractExcelExportAction.java | 2 +- .../widget/ui/IframeEditorDefinePane.java | 1 - .../series/PlotSeries/MapDefiAreaNamePane.java | 3 +-- .../actions/ExcelExportAction4Chart.java | 2 +- .../exporter/ExcelExporter4Chart.java | 18 +++++++++--------- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/designer/src/com/fr/design/actions/file/export/AbstractExcelExportAction.java b/designer/src/com/fr/design/actions/file/export/AbstractExcelExportAction.java index 63aaf064c..ae1a08ce2 100644 --- a/designer/src/com/fr/design/actions/file/export/AbstractExcelExportAction.java +++ b/designer/src/com/fr/design/actions/file/export/AbstractExcelExportAction.java @@ -36,7 +36,7 @@ public abstract class AbstractExcelExportAction extends AbstractExportAction { if (hasLayerReport(tpl)) { return "zip"; } else { - return ExcelUtils.checkPOIJarExist() ? "xlsx" : "xls"; + return ExcelUtils.checkThirdJarSupportPOI() ? "xlsx" : "xls"; } } } \ No newline at end of file diff --git a/designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java index b536c927e..367b04ae9 100644 --- a/designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java @@ -22,7 +22,6 @@ import com.fr.form.ui.IframeEditor; import com.fr.general.Inter; import com.fr.stable.ParameterProvider; import com.fr.design.widget.DataModify; -import com.fr.third.org.apache.poi.hssf.record.formula.functions.Abs; public class IframeEditorDefinePane extends AbstractDataModify { private UITextField srcTextField; diff --git a/designer_chart/src/com/fr/design/chart/series/PlotSeries/MapDefiAreaNamePane.java b/designer_chart/src/com/fr/design/chart/series/PlotSeries/MapDefiAreaNamePane.java index 515527eaf..3892493b4 100644 --- a/designer_chart/src/com/fr/design/chart/series/PlotSeries/MapDefiAreaNamePane.java +++ b/designer_chart/src/com/fr/design/chart/series/PlotSeries/MapDefiAreaNamePane.java @@ -36,7 +36,6 @@ import com.fr.design.gui.xcombox.ComboBoxUseEditor; import com.fr.design.editor.editor.Editor; import com.fr.design.editor.editor.TextEditor; import com.fr.general.Inter; -import com.fr.third.org.apache.poi.hssf.record.formula.functions.T; /** * 地图, 定义区域名. @@ -90,7 +89,7 @@ public class MapDefiAreaNamePane extends BasicBeanPane implements Abstrc tableDataBox.setPreferredSize(new Dimension(200, 20)); northPane.add(tableDataBox); - columnBox = new FilterComboBox(); + columnBox = new FilterComboBox(); columnBox.setPreferredSize(new Dimension(40, 20)); columnBox.addItemListener(columnChange); diff --git a/designer_chart/src/com/fr/design/mainframe/actions/ExcelExportAction4Chart.java b/designer_chart/src/com/fr/design/mainframe/actions/ExcelExportAction4Chart.java index aa703f311..e1e64395a 100644 --- a/designer_chart/src/com/fr/design/mainframe/actions/ExcelExportAction4Chart.java +++ b/designer_chart/src/com/fr/design/mainframe/actions/ExcelExportAction4Chart.java @@ -58,7 +58,7 @@ public class ExcelExportAction4Chart extends AbstractExportAction4JChart { @Override protected String getDefaultExtension() { - return ExcelUtils.checkPOIJarExist() ? "xlsx" : "xls"; + return ExcelUtils.checkThirdJarSupportPOI() ? "xlsx" : "xls"; } @Override diff --git a/designer_chart/src/com/fr/design/mainframe/exporter/ExcelExporter4Chart.java b/designer_chart/src/com/fr/design/mainframe/exporter/ExcelExporter4Chart.java index 425f5d2ea..71e02d173 100644 --- a/designer_chart/src/com/fr/design/mainframe/exporter/ExcelExporter4Chart.java +++ b/designer_chart/src/com/fr/design/mainframe/exporter/ExcelExporter4Chart.java @@ -6,14 +6,14 @@ import com.fr.design.mainframe.JChart; import com.fr.general.FRLogger; import com.fr.general.IOUtils; import com.fr.stable.CoreGraphHelper; -import org.apache.poi.hssf.usermodel.HSSFClientAnchor; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.ClientAnchor; -import org.apache.poi.ss.usermodel.Drawing; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.usermodel.XSSFClientAnchor; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import com.fr.third.v2.org.apache.poi.hssf.usermodel.HSSFClientAnchor; +import com.fr.third.v2.org.apache.poi.hssf.usermodel.HSSFWorkbook; +import com.fr.third.v2.org.apache.poi.ss.usermodel.ClientAnchor; +import com.fr.third.v2.org.apache.poi.ss.usermodel.Drawing; +import com.fr.third.v2.org.apache.poi.ss.usermodel.Sheet; +import com.fr.third.v2.org.apache.poi.ss.usermodel.Workbook; +import com.fr.third.v2.org.apache.poi.xssf.usermodel.XSSFClientAnchor; +import com.fr.third.v2.org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.awt.*; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; @@ -73,7 +73,7 @@ public class ExcelExporter4Chart extends ImageExporter4Chart { } private boolean checkExcelExportVersion() { - return ExcelUtils.checkPOIJarExist(); + return ExcelUtils.checkThirdJarSupportPOI(); } // 加载图片. private int loadPicture(BufferedImage bufferedImage)throws IOException {