From 4afcb2bd89a672e3226ca362386e67303c864846 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 5 Sep 2017 09:41:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?REPORT-4364=20=E6=9D=A1=E4=BB=B6=E5=B1=9E?= =?UTF-8?q?=E6=80=A7>=E8=B6=85=E7=BA=A7=E9=93=BE=E6=8E=A5=E5=BC=B9?= =?UTF-8?q?=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/condition/HyperlinkPane.java | 2 +- .../com/fr/design/mainframe/JWorkBook.java | 5 +++ .../mainframe/ReportHyperlinkGroupPane.java | 5 +-- .../ReportHyperlinkGroupPaneNoPop.java | 35 +++++++++++++++++++ .../com/fr/design/mainframe/JTemplate.java | 7 ++++ .../gui/xpane/FormHyperlinkGroupPane.java | 2 +- .../xpane/FormHyperlinkGroupPaneNoPop.java | 33 +++++++++++++++++ .../src/com/fr/design/mainframe/JForm.java | 7 ++++ 8 files changed, 92 insertions(+), 4 deletions(-) create mode 100644 designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java create mode 100644 designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java diff --git a/designer/src/com/fr/design/condition/HyperlinkPane.java b/designer/src/com/fr/design/condition/HyperlinkPane.java index bbdecf661..7ff03a7c8 100644 --- a/designer/src/com/fr/design/condition/HyperlinkPane.java +++ b/designer/src/com/fr/design/condition/HyperlinkPane.java @@ -37,7 +37,7 @@ public class HyperlinkPane extends ConditionAttrSingleConditionPane { return ReportHyperlinkGroupPane.getInstance(hyperlinkGroupPaneActionProvider); } + @Override + public HyperlinkGroupPane getHyperLinkPaneNoPop(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + return ReportHyperlinkGroupPaneNoPop.getInstance(hyperlinkGroupPaneActionProvider); + } + public void setAuthorityMode(boolean isUpMode) { centerPane.setAuthorityMode(isUpMode); } diff --git a/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPane.java b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPane.java index b2b018e0b..20886536a 100644 --- a/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPane.java +++ b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPane.java @@ -23,7 +23,8 @@ import java.awt.*; public class ReportHyperlinkGroupPane extends HyperlinkGroupPane { private static ReportHyperlinkGroupPane singleton; - private ReportHyperlinkGroupPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + // 仅供继承使用,外部通过 getInstance 获取实例 + protected ReportHyperlinkGroupPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { super(hyperlinkGroupPaneActionProvider); } @@ -35,7 +36,7 @@ public class ReportHyperlinkGroupPane extends HyperlinkGroupPane { return singleton; } - private void refreshPane() { + protected void refreshPane() { ElementCasePane reportPane = ((JWorkBook)HistoryTemplateListPane.getInstance().getCurrentEditingTemplate()).getEditingElementCasePane(); if (reportPane == null) { return; diff --git a/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java new file mode 100644 index 000000000..9a694e5ff --- /dev/null +++ b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java @@ -0,0 +1,35 @@ +package com.fr.design.mainframe; + +import com.fr.design.gui.frpane.HyperlinkGroupPane; +import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; + +import java.awt.*; + +/** + * Created by plough on 2017/9/4. + */ +public class ReportHyperlinkGroupPaneNoPop extends ReportHyperlinkGroupPane{ + private static ReportHyperlinkGroupPaneNoPop singleton; + + private ReportHyperlinkGroupPaneNoPop(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + super(hyperlinkGroupPaneActionProvider); + } + + public static ReportHyperlinkGroupPaneNoPop getInstance(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + if (singleton == null) { + singleton = new ReportHyperlinkGroupPaneNoPop(hyperlinkGroupPaneActionProvider); + } + singleton.refreshPane(); + return singleton; + } + + @Override + protected boolean isNewStyle() { + return false; + } + + @Override + protected void popupEditDialog(Point mousePos) { + // no pop, do nothing + } +} diff --git a/designer_base/src/com/fr/design/mainframe/JTemplate.java b/designer_base/src/com/fr/design/mainframe/JTemplate.java index 4f9c7a205..633fc066b 100644 --- a/designer_base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer_base/src/com/fr/design/mainframe/JTemplate.java @@ -890,6 +890,13 @@ public abstract class JTemplate> ex */ public abstract HyperlinkGroupPane getHyperLinkPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider); + /** + * 返回当前支持的超链界面pane + * 没有悬浮弹窗,显示为两列 + * @return 超链连接界面 + */ + public abstract HyperlinkGroupPane getHyperLinkPaneNoPop(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider); + /** * 是否是图表 * diff --git a/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPane.java b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPane.java index 125f6b751..1d3e14686 100644 --- a/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPane.java +++ b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPane.java @@ -12,7 +12,7 @@ import com.fr.js.EmailJavaScript; public class FormHyperlinkGroupPane extends HyperlinkGroupPane{ private static FormHyperlinkGroupPane singleton; - private FormHyperlinkGroupPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + protected FormHyperlinkGroupPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { super(hyperlinkGroupPaneActionProvider); } diff --git a/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java new file mode 100644 index 000000000..9e5726911 --- /dev/null +++ b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java @@ -0,0 +1,33 @@ +package com.fr.design.gui.xpane; + +import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; + +import java.awt.*; + +/** + * Created by plough on 2017/9/5. + */ +public class FormHyperlinkGroupPaneNoPop extends FormHyperlinkGroupPane{ + private static FormHyperlinkGroupPaneNoPop singleton; + + private FormHyperlinkGroupPaneNoPop(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + super(hyperlinkGroupPaneActionProvider); + } + + public static FormHyperlinkGroupPaneNoPop getInstance(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + if (singleton == null) { + singleton = new FormHyperlinkGroupPaneNoPop(hyperlinkGroupPaneActionProvider); + } + return singleton; + } + + @Override + protected boolean isNewStyle() { + return false; + } + + @Override + protected void popupEditDialog(Point mousePos) { + // no pop, do nothing + } +} diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index c84f572fd..e6432bf1e 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -22,6 +22,7 @@ import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.imenu.UIMenuItem; import com.fr.design.gui.xpane.FormHyperlinkGroupPane; +import com.fr.design.gui.xpane.FormHyperlinkGroupPaneNoPop; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.actions.EmbeddedFormExportExportAction; import com.fr.design.mainframe.actions.FormMobileAttrAction; @@ -147,10 +148,16 @@ public class JForm extends JTemplate implements BaseJForm { * * @return 超链连接界面 */ + @Override public HyperlinkGroupPane getHyperLinkPane(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { return FormHyperlinkGroupPane.getInstance(hyperlinkGroupPaneActionProvider); } + @Override + public HyperlinkGroupPane getHyperLinkPaneNoPop(HyperlinkGroupPaneActionProvider hyperlinkGroupPaneActionProvider) { + return FormHyperlinkGroupPaneNoPop.getInstance(hyperlinkGroupPaneActionProvider); + } + //表单返回 FORM_TAB or ELEMENTCASE_TAB public int getEditingReportIndex() { return this.index; From 44a4f91bb42e6490e25cc967111c32dccc480725 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 5 Sep 2017 10:45:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?REPORT-4364=20=E6=9D=A1=E4=BB=B6=E5=B1=9E?= =?UTF-8?q?=E6=80=A7>=E6=8E=A7=E4=BB=B6=E3=80=81=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=BC=B9=E7=AA=97=3D>=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/ReportHyperlinkGroupPaneNoPop.java | 8 -------- .../com/fr/design/widget/WidgetEventPaneNoPop.java | 7 ------- .../fr/design/gui/controlpane/UIControlPane.java | 14 ++++++++------ .../design/gui/controlpane/UIListControlPane.java | 14 ++++++++------ .../gui/xpane/FormHyperlinkGroupPaneNoPop.java | 7 ------- 5 files changed, 16 insertions(+), 34 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java index 9a694e5ff..451c89975 100644 --- a/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java +++ b/designer/src/com/fr/design/mainframe/ReportHyperlinkGroupPaneNoPop.java @@ -1,10 +1,7 @@ package com.fr.design.mainframe; -import com.fr.design.gui.frpane.HyperlinkGroupPane; import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; -import java.awt.*; - /** * Created by plough on 2017/9/4. */ @@ -27,9 +24,4 @@ public class ReportHyperlinkGroupPaneNoPop extends ReportHyperlinkGroupPane{ protected boolean isNewStyle() { return false; } - - @Override - protected void popupEditDialog(Point mousePos) { - // no pop, do nothing - } } diff --git a/designer/src/com/fr/design/widget/WidgetEventPaneNoPop.java b/designer/src/com/fr/design/widget/WidgetEventPaneNoPop.java index 60597b77b..b9d67ec88 100644 --- a/designer/src/com/fr/design/widget/WidgetEventPaneNoPop.java +++ b/designer/src/com/fr/design/widget/WidgetEventPaneNoPop.java @@ -2,8 +2,6 @@ package com.fr.design.widget; import com.fr.design.mainframe.ElementCasePane; -import java.awt.*; - /** * 没有悬浮弹窗的控件事件编辑面板 * Created by plough on 2017/8/28. @@ -17,9 +15,4 @@ public class WidgetEventPaneNoPop extends WidgetEventPane { protected boolean isNewStyle() { return false; } - - @Override - protected void popupEditDialog(Point mousePos) { - // no pop, do nothing - } } diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java index 4e5fd2bb1..4deb8ac40 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIControlPane.java @@ -27,22 +27,17 @@ import java.awt.event.WindowEvent; public abstract class UIControlPane extends BasicPane implements UnrepeatedNameHelper { protected static final int SHORT_WIDTH = 30; //每加一个short Divider位置加30 protected JPanel controlUpdatePane; - private ShortCut4JControlPane[] shorts; private NameableCreator[] creators; private ToolBarDef toolbarDef; - private UIToolbar toolBar; private UIToolbar topToolBar; protected PopupEditDialog popupEditDialog; // peter:这是整体的一个cardLayout Pane protected CardLayout cardLayout; - protected JPanel cardPane; - protected BasePlot plot; - public UIControlPane() { this.initComponentPane(); } @@ -128,8 +123,15 @@ public abstract class UIControlPane extends BasicPane implements UnrepeatedNameH this.add(getLeftPane(), BorderLayout.CENTER); this.setBorder(BorderFactory.createEmptyBorder(10, 10, 15, 15)); } else { + // 增加边框 + JPanel leftPaneWrapper = new JPanel(new BorderLayout()); + leftPaneWrapper.add(getLeftPane(), BorderLayout.CENTER); + leftPaneWrapper.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6)); + JPanel rightPaneWrapper = new JPanel(new BorderLayout()); + rightPaneWrapper.add(cardPane, BorderLayout.CENTER); + rightPaneWrapper.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6)); // SplitPane - JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, getLeftPane(), cardPane); + JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, leftPaneWrapper, rightPaneWrapper); mainSplitPane.setBorder(BorderFactory.createLineBorder(GUICoreUtils.getTitleLineBorderColor())); mainSplitPane.setOneTouchExpandable(true); this.add(mainSplitPane, BorderLayout.CENTER); diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java index d96862a39..ca0363d25 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java @@ -390,13 +390,15 @@ public abstract class UIListControlPane extends UIControlPane { } } - protected void popupEditDialog(Point mousePos) { - Rectangle currentCellBounds = nameableList.getCellBounds(editingIndex, editingIndex); - if (editingIndex < 0 || !currentCellBounds.contains(mousePos)) { - return; + private void popupEditDialog(Point mousePos) { + if (isNewStyle()) { + Rectangle currentCellBounds = nameableList.getCellBounds(editingIndex, editingIndex); + if (editingIndex < 0 || !currentCellBounds.contains(mousePos)) { + return; + } + popupEditDialog.setLocation(getPopupDialogLocation()); + popupEditDialog.setVisible(true); } - popupEditDialog.setLocation(getPopupDialogLocation()); - popupEditDialog.setVisible(true); } private Point getPopupDialogLocation() { diff --git a/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java index 9e5726911..313b57147 100644 --- a/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java +++ b/designer_form/src/com/fr/design/gui/xpane/FormHyperlinkGroupPaneNoPop.java @@ -2,8 +2,6 @@ package com.fr.design.gui.xpane; import com.fr.design.gui.frpane.HyperlinkGroupPaneActionProvider; -import java.awt.*; - /** * Created by plough on 2017/9/5. */ @@ -25,9 +23,4 @@ public class FormHyperlinkGroupPaneNoPop extends FormHyperlinkGroupPane{ protected boolean isNewStyle() { return false; } - - @Override - protected void popupEditDialog(Point mousePos) { - // no pop, do nothing - } } From 83f12a44b27dd66cc8409574dbd745f40c92bc46 Mon Sep 17 00:00:00 2001 From: plough Date: Tue, 5 Sep 2017 10:57:40 +0800 Subject: [PATCH 3/3] =?UTF-8?q?REPORT-4364=20=E6=9D=A1=E4=BB=B6=E5=B1=9E?= =?UTF-8?q?=E6=80=A7>=E6=8E=A7=E4=BB=B6=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/condition/WidgetHighlightPane.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/designer/src/com/fr/design/condition/WidgetHighlightPane.java b/designer/src/com/fr/design/condition/WidgetHighlightPane.java index da3b747e4..f8701c1e8 100644 --- a/designer/src/com/fr/design/condition/WidgetHighlightPane.java +++ b/designer/src/com/fr/design/condition/WidgetHighlightPane.java @@ -6,6 +6,9 @@ import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.mainframe.ElementCasePane; +import com.fr.design.widget.CellWidgetCardPane; +import com.fr.design.widget.WidgetManageCardPane; import com.fr.design.widget.WidgetPane; import com.fr.form.ui.*; import com.fr.general.Inter; @@ -35,7 +38,12 @@ public class WidgetHighlightPane extends ConditionAttrSingleConditionPane