From c5c982f7a556d7835806c844f295fb054a5e41fe Mon Sep 17 00:00:00 2001 From: MoMeak Date: Mon, 4 Sep 2017 15:24:17 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/ElementCasePane.java | 6 ++++-- .../mainframe/ReportComponentComposite.java | 2 +- .../fr/design/gui/ibutton/UIToggleButton.java | 9 ++++++--- .../com/fr/design/gui/ispinner/UISpinner.java | 3 +++ .../design/style/color/NewColorSelectBox.java | 2 +- .../src/com/fr/start/BaseDesigner.java | 8 ++++---- .../src/com/fr/design/mainframe/FormArea.java | 20 +++++++++++-------- 7 files changed, 31 insertions(+), 19 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/ElementCasePane.java b/designer/src/com/fr/design/mainframe/ElementCasePane.java index a04de9538..d38a32e1c 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePane.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePane.java @@ -1325,7 +1325,7 @@ public abstract class ElementCasePane extends Tar * @return 返回正在编辑的状态. */ public EditingState createEditingState() { - return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue()); + return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue(), this.getResolution()); } public void setCellNeedTOFormat(CellSelection selection) { @@ -1341,10 +1341,12 @@ public abstract class ElementCasePane extends Tar protected Selection selection; protected int verticalValue = 0; protected int horizontalValue = 0; + protected int resolution = ScreenResolution.getScreenResolution(); - protected ElementCaseEditingState(Selection selection, int verticalValue, int horizontalValue) { + protected ElementCaseEditingState(Selection selection, int verticalValue, int horizontalValue, int resolution) { try { this.selection = selection.clone(); + this.resolution = resolution; } catch (CloneNotSupportedException e) { throw new RuntimeException(e); } diff --git a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java index 41154d75b..96255c5dc 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java @@ -111,7 +111,7 @@ public class ReportComponentComposite extends JComponent { return; } centerCardPane.populate(workbook.getTemplateReport(newIndex)); - +// (ElementCasePane)templateStateList.get(newIndex-2).revert(); if (parentContainer != null) { parentContainer.setDownPane(ReportComponentComposite.this); } diff --git a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java index 0a766e2e9..31519c07e 100644 --- a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java @@ -1,8 +1,6 @@ package com.fr.design.gui.ibutton; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Shape; +import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; @@ -125,6 +123,11 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ } } + @Override + public Insets getInsets() { + return new Insets(0, 0, 0, 0); + } + @Override protected void paintBorder(Graphics g) { if (!isBorderPainted()) { diff --git a/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java b/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java index d2b85be2c..2c1fd28c3 100644 --- a/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java +++ b/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java @@ -62,6 +62,9 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver if (uiObserverListener == null) { return; } + if (globalNameListener != null && shouldResponseNameListener()){ + globalNameListener.setGlobalName(spinnerName); + } uiObserverListener.doChange(); } }); diff --git a/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java b/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java index ce76fe72d..2286432fe 100644 --- a/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java +++ b/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java @@ -38,7 +38,7 @@ public class NewColorSelectBox extends AbstractSelectBox implements UIObs if(uiObserverListener == null){ return; } - if (globalNameListener != null && shouldResponseNameListener()){ + if (globalNameListener != null && shouldResponseNameListener() && globalNameListener.getGlobalName().length() != 0){ globalNameListener.setGlobalName(newColorSelectBoxName); } uiObserverListener.doChange(); diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index cd8b3f3b0..54630e28f 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -57,10 +57,10 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignUtils.setPort(getStartPort()); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 - if (DesignUtils.isStarted()) { - DesignUtils.clientSend(args); - return; - } +// if (DesignUtils.isStarted()) { +// DesignUtils.clientSend(args); +// return; +// } //下面这两句的位置不能随便调换,因为会影响语言切换的问题 initLanguage(); diff --git a/designer_form/src/com/fr/design/mainframe/FormArea.java b/designer_form/src/com/fr/design/mainframe/FormArea.java index e35657c23..0ee2f09ea 100644 --- a/designer_form/src/com/fr/design/mainframe/FormArea.java +++ b/designer_form/src/com/fr/design/mainframe/FormArea.java @@ -119,7 +119,7 @@ public class FormArea extends JComponent implements ScrollRulerComponent { // slidePane = new UINumberSlidePane(SLIDER_MIN, SLIDER_FLOAT); // slidePane.setPreferredSize(new Dimension(260,20)); slidePane = JFormSliderPane.getInstance(); - slidePane.setPreferredSize(new Dimension(350, 20)); + slidePane.setPreferredSize(new Dimension(200, 0)); JPanel resizePane = TableLayoutHelper.createCommonTableLayoutPane(new JComponent[][]{ @@ -130,8 +130,8 @@ public class FormArea extends JComponent implements ScrollRulerComponent { setWidgetsConfig(); // 先初始话滑块及对应事件,然后获取分辨率调整容器的显示大小 slidePane.setEnabled(false); - slidePane.setVisible(true); - initTransparent(); + slidePane.setVisible(false); +// initTransparent(); initCalculateSize(); } @@ -162,11 +162,15 @@ public class FormArea extends JComponent implements ScrollRulerComponent { jf.resolution = (int) value; jf.getFormDesign().setResolution((int) value); jf.getFormDesign().getArea().resolution = (int) value; - reCalculateRoot(value, true); - JTemplate form = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (form != null) { - form.fireTargetModified(); - } + double times = (double) resolution / 100; +// widthPane.setValue((int)(widthPane.getValue() * times)); + changeWidthPaneValue((int)(widthPane.getValue() * times)); + changeHeightPaneValue((int)(heightPane.getValue() * times)); +// reCalculateRoot(value, true); +// JTemplate form = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); +// if (form != null) { +// form.fireTargetModified(); +// } } }; From 05d6daf799b1b48e61b6f63c905db134d4397f13 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Mon, 4 Sep 2017 15:29:07 +0800 Subject: [PATCH 2/9] rollback --- .../src/com/fr/design/gui/ispinner/UISpinner.java | 3 --- .../src/com/fr/design/style/color/NewColorSelectBox.java | 2 +- designer_base/src/com/fr/start/BaseDesigner.java | 8 ++++---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java b/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java index 2c1fd28c3..d2b85be2c 100644 --- a/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java +++ b/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java @@ -62,9 +62,6 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver if (uiObserverListener == null) { return; } - if (globalNameListener != null && shouldResponseNameListener()){ - globalNameListener.setGlobalName(spinnerName); - } uiObserverListener.doChange(); } }); diff --git a/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java b/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java index 2286432fe..ce76fe72d 100644 --- a/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java +++ b/designer_base/src/com/fr/design/style/color/NewColorSelectBox.java @@ -38,7 +38,7 @@ public class NewColorSelectBox extends AbstractSelectBox implements UIObs if(uiObserverListener == null){ return; } - if (globalNameListener != null && shouldResponseNameListener() && globalNameListener.getGlobalName().length() != 0){ + if (globalNameListener != null && shouldResponseNameListener()){ globalNameListener.setGlobalName(newColorSelectBoxName); } uiObserverListener.doChange(); diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index 54630e28f..cd8b3f3b0 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -57,10 +57,10 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignUtils.setPort(getStartPort()); // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 -// if (DesignUtils.isStarted()) { -// DesignUtils.clientSend(args); -// return; -// } + if (DesignUtils.isStarted()) { + DesignUtils.clientSend(args); + return; + } //下面这两句的位置不能随便调换,因为会影响语言切换的问题 initLanguage(); From d6e3c6045c26bb8d3fb4b4cfe8bc03b2cdc8d913 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 11:32:19 +0800 Subject: [PATCH 3/9] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E5=9C=A8=E4=B8=8D=E5=90=8C=E7=9A=84sheet=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=8D=E5=BA=94=E8=AF=A5=E7=BB=A7=E6=89=BF=20=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E8=A1=A8=E5=8D=95=E7=BC=A9=E6=94=BE=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/ElementCasePane.java | 9 ++++++--- .../design/mainframe/ReportComponentComposite.java | 13 +++++++++++++ designer/src/com/fr/poly/PolyDesigner.java | 7 +++++-- .../src/com/fr/design/mainframe/JSliderPane.java | 4 ++++ .../src/com/fr/design/mainframe/FormArea.java | 6 +++--- 5 files changed, 31 insertions(+), 8 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/ElementCasePane.java b/designer/src/com/fr/design/mainframe/ElementCasePane.java index a04de9538..1559c2352 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePane.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePane.java @@ -1325,7 +1325,7 @@ public abstract class ElementCasePane extends Tar * @return 返回正在编辑的状态. */ public EditingState createEditingState() { - return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue()); + return new ElementCaseEditingState(this.selection, this.verScrollBar.getValue(), this.horScrollBar.getValue(), this.resolution); } public void setCellNeedTOFormat(CellSelection selection) { @@ -1341,8 +1341,9 @@ public abstract class ElementCasePane extends Tar protected Selection selection; protected int verticalValue = 0; protected int horizontalValue = 0; + protected int resolution = ScreenResolution.getScreenResolution(); - protected ElementCaseEditingState(Selection selection, int verticalValue, int horizontalValue) { + protected ElementCaseEditingState(Selection selection, int verticalValue, int horizontalValue, int resolution) { try { this.selection = selection.clone(); } catch (CloneNotSupportedException e) { @@ -1350,6 +1351,7 @@ public abstract class ElementCasePane extends Tar } this.verticalValue = verticalValue; this.horizontalValue = horizontalValue; + this.resolution = resolution; } @Override @@ -1363,7 +1365,8 @@ public abstract class ElementCasePane extends Tar ElementCasePane.this.getVerticalScrollBar().setValue(this.verticalValue); ElementCasePane.this.getHorizontalScrollBar().setValue(this.horizontalValue); - +// ElementCasePane.this.setResolution(this.resolution); + HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setScale(this.resolution); // 重绘. ElementCasePane.this.repaint(); } diff --git a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java index 41154d75b..b8749d128 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java @@ -120,12 +120,16 @@ public class ReportComponentComposite extends JComponent { EditingState reportPaneEditState = templateStateList.get(newIndex); if (reportPaneEditState != null) { reportPaneEditState.revert(); + updateJSlider(); } } else { while (templateStateList.size() <= newIndex) { templateStateList.add(null); } centerCardPane.editingComponet.setSelection(centerCardPane.editingComponet.getDefaultSelectElement()); + if (jSliderContainer != null){ + jSliderContainer.reset(); + } } if (centerCardPane.editingComponet.elementCasePane == null) { @@ -141,6 +145,15 @@ public class ReportComponentComposite extends JComponent { } } + private void updateJSlider(){ + if (centerCardPane.editingComponet.elementCasePane == null) { + jSliderContainer.getShowVal().setValue(centerCardPane.getPolyDezi().getResolution() * HUND / ScreenResolution.getScreenResolution()); + }else { + jSliderContainer.getShowVal().setValue(centerCardPane.editingComponet.elementCasePane.getResolution() * HUND / ScreenResolution.getScreenResolution()); + } + + } + /** * 移除选中状态 * diff --git a/designer/src/com/fr/poly/PolyDesigner.java b/designer/src/com/fr/poly/PolyDesigner.java index fcafd4c8c..ab311457f 100644 --- a/designer/src/com/fr/poly/PolyDesigner.java +++ b/designer/src/com/fr/poly/PolyDesigner.java @@ -687,14 +687,16 @@ public class PolyDesigner extends ReportComponent Date: Tue, 5 Sep 2017 11:44:41 +0800 Subject: [PATCH 4/9] rollback UIToggleButton --- .../src/com/fr/design/gui/ibutton/UIToggleButton.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java index 31519c07e..b12f1ca7c 100644 --- a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java @@ -123,11 +123,6 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ } } - @Override - public Insets getInsets() { - return new Insets(0, 0, 0, 0); - } - @Override protected void paintBorder(Graphics g) { if (!isBorderPainted()) { From dcceb5a4e1736de21fe28ff957fb19ae94afb77b Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 11:45:48 +0800 Subject: [PATCH 5/9] rollback UIToggleButton --- .../src/com/fr/design/gui/ibutton/UIToggleButton.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java index b12f1ca7c..0a766e2e9 100644 --- a/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java @@ -1,6 +1,8 @@ package com.fr.design.gui.ibutton; -import java.awt.*; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Shape; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; From b270670f274e03a9f41e22100ec4618b5710489c Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 11:46:31 +0800 Subject: [PATCH 6/9] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E5=9C=A8=E4=B8=8D=E5=90=8C=E7=9A=84sheet=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=8D=E5=BA=94=E8=AF=A5=E7=BB=A7=E6=89=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/ReportComponentComposite.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java index 718e92274..d5bc01fa3 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java @@ -111,7 +111,6 @@ public class ReportComponentComposite extends JComponent { return; } centerCardPane.populate(workbook.getTemplateReport(newIndex)); -// (ElementCasePane)templateStateList.get(newIndex-2).revert(); if (parentContainer != null) { parentContainer.setDownPane(ReportComponentComposite.this); } From e567760a28c030d9408afc45f4f8297f12d47f7c Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 14:03:20 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B4=A8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/mainframe/ReportComponentComposite.java | 9 +++++---- .../src/com/fr/design/mainframe/FormArea.java | 14 +++++--------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java index d5bc01fa3..6bad0146e 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java @@ -145,12 +145,13 @@ public class ReportComponentComposite extends JComponent { } private void updateJSlider(){ - if (centerCardPane.editingComponet.elementCasePane == null) { - jSliderContainer.getShowVal().setValue(centerCardPane.getPolyDezi().getResolution() * HUND / ScreenResolution.getScreenResolution()); + int value = 0; + if (centerCardPane.editingComponet.elementCasePane != null) { + value = centerCardPane.editingComponet.elementCasePane.getResolution() * HUND / ScreenResolution.getScreenResolution(); }else { - jSliderContainer.getShowVal().setValue(centerCardPane.editingComponet.elementCasePane.getResolution() * HUND / ScreenResolution.getScreenResolution()); + value = centerCardPane.getPolyDezi().getResolution() * HUND / ScreenResolution.getScreenResolution(); } - + jSliderContainer.getShowVal().setValue(value); } /** diff --git a/designer_form/src/com/fr/design/mainframe/FormArea.java b/designer_form/src/com/fr/design/mainframe/FormArea.java index 9e751e629..cdf92edfe 100644 --- a/designer_form/src/com/fr/design/mainframe/FormArea.java +++ b/designer_form/src/com/fr/design/mainframe/FormArea.java @@ -162,15 +162,11 @@ public class FormArea extends JComponent implements ScrollRulerComponent { jf.resolution = (int) value; jf.getFormDesign().setResolution((int) value); jf.getFormDesign().getArea().resolution = (int) value; - double times = (double) resolution / 100; -// widthPane.setValue((int)(widthPane.getValue() * times)); - changeWidthPaneValue((int)(widthPane.getValue() * times)); - changeHeightPaneValue((int)(heightPane.getValue() * times)); -// reCalculateRoot(value, true); -// JTemplate form = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); -// if (form != null) { -// form.fireTargetModified(); -// } + reCalculateRoot(value, true); + JTemplate form = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + if (form != null) { + form.fireTargetModified(); + } } }; From 5abfa98b1a98c65663b88cd51990932d7a3d0f52 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 15:19:13 +0800 Subject: [PATCH 8/9] =?UTF-8?q?REPORT-4308=20=E5=8D=95=E5=85=83=E6=A0=BC?= =?UTF-8?q?=E5=B1=9E=E6=80=A7-=E6=A0=B7=E5=BC=8F=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=96=87=E6=9C=AC=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E6=97=A0=E6=B3=95=E5=AE=9E=E6=97=B6=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/icombobox/TextFontComboBox.java | 125 ++++++++++++++++++ .../com/fr/design/gui/style/FormatPane.java | 15 ++- 2 files changed, 133 insertions(+), 7 deletions(-) create mode 100644 designer_base/src/com/fr/design/gui/icombobox/TextFontComboBox.java diff --git a/designer_base/src/com/fr/design/gui/icombobox/TextFontComboBox.java b/designer_base/src/com/fr/design/gui/icombobox/TextFontComboBox.java new file mode 100644 index 000000000..fc33d4e4d --- /dev/null +++ b/designer_base/src/com/fr/design/gui/icombobox/TextFontComboBox.java @@ -0,0 +1,125 @@ +package com.fr.design.gui.icombobox; + + +import com.fr.design.gui.icombobox.filter.Filter; +import com.fr.design.gui.icombobox.filter.StartsWithFilter; +import com.fr.design.gui.itextfield.UITextField; + +import javax.swing.*; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import java.awt.*; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by MoMeak on 2017/9/5. + */ +public class TextFontComboBox extends ExtendedComboBox{ + private Filter filter; + + public TextFontComboBox() { + this(new ArrayList()); + this.setEditable(true); + } + + public TextFontComboBox(List itemList) { + this(new StartsWithFilter(), itemList); + } + + public TextFontComboBox(Filter filter, List itemList) { + this.filter = filter; + + setModel(new FilterableComboBoxModel(itemList)); + setEditor(new TextFontComboBox.FilterComboBoxEditor()); + setEditable(true); + } + + public void setItemArray(T[] objectArray) { + List itemList = new ArrayList(); + if(objectArray != null) { + for(int i = 0; i < objectArray.length; i++) { + itemList.add(objectArray[i]); + } + } + + this.setItemList(itemList); + } + + public void setItemList(List itemList) { + ((FilterableComboBoxModel)this.getModel()).setPrefix(""); + ((FilterableComboBoxModel)this.getModel()).setItemList(itemList); + } + + class FilterComboBoxEditor implements ComboBoxEditor, DocumentListener { + private Object item; + + public UITextField textField; + private volatile boolean filtering = false; + private volatile boolean setting = false; + + public FilterComboBoxEditor() { + textField = new UITextField(15); + textField.getDocument().addDocumentListener(this); + } + + public Component getEditorComponent() { + return textField; + } + + public void setItem(Object item) { + if (filtering) { + return; + } + this.item = item; + + this.setting = true; + String newText = (item == null) ? "" : item.toString(); + textField.setText(newText); + this.setting = false; + } + + public Object getItem() { + return this.item; + } + + public void selectAll() { + textField.selectAll(); + } + + public void addActionListener(ActionListener l) { + textField.addActionListener(l); + } + + public void removeActionListener(ActionListener l) { + textField.removeActionListener(l); + } + + public void insertUpdate(DocumentEvent e) { + handleChange(); + } + + public void removeUpdate(DocumentEvent e) { + handleChange(); + } + + public void changedUpdate(DocumentEvent e) { + handleChange(); + } + + protected void handleChange() { + if (setting) { + return; + } + + filtering = true; + + ((FilterableComboBoxModel) getModel()).setSelectedItem(textField.getText()); + this.item = textField.getText(); + + setPopupVisible(true); + filtering = false; + } + } +} diff --git a/designer_base/src/com/fr/design/gui/style/FormatPane.java b/designer_base/src/com/fr/design/gui/style/FormatPane.java index 0b810b7ae..d15e391cd 100644 --- a/designer_base/src/com/fr/design/gui/style/FormatPane.java +++ b/designer_base/src/com/fr/design/gui/style/FormatPane.java @@ -9,8 +9,7 @@ import com.fr.data.core.FormatField.FormatContents; import com.fr.design.border.UIRoundedBorder; import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.UIConstants; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.icombobox.UIComboBoxRenderer; +import com.fr.design.gui.icombobox.*; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; @@ -22,6 +21,8 @@ import javax.swing.*; import javax.swing.border.Border; import javax.swing.border.TitledBorder; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.text.Format; @@ -51,7 +52,7 @@ public class FormatPane extends AbstractBasicStylePane { private Format format; private UIComboBox typeComboBox; - private UIComboBox textField; + private TextFontComboBox textField; private UILabel sampleLabel; private JPanel contentPane; private JPanel txtCenterPane; @@ -89,7 +90,8 @@ public class FormatPane extends AbstractBasicStylePane { contentPane.add(sampleLabel, BorderLayout.NORTH); txtCenterPane = new JPanel(new BorderLayout()); - textField = new UIComboBox(FormatField.getInstance().getFormatArray(getFormatContents())); + textField = new TextFontComboBox(); +// textField.setItemArray(FormatField.getInstance().getFormatArray(getFormatContents())); textField.addItemListener(textFieldItemListener); textField.setEditable(true); txtCenterPane.add(textField, BorderLayout.NORTH); @@ -322,9 +324,8 @@ public class FormatPane extends AbstractBasicStylePane { cardLayout.show(centerPane, "hide"); } else { textField.removeAllItems(); - for (int i = 0; i < items.length; i++) { - textField.addItem(items[i]); - } + textField.setItemArray(items); + textField.setSelectedIndex(0); centerPane.setPreferredSize(new Dimension(270, 65)); cardLayout.show(centerPane, "show"); } From b68082f4e4731a7661f497f307abe6146b3817cf Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 5 Sep 2017 17:34:59 +0800 Subject: [PATCH 9/9] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=99=A8=E4=BF=AE=E6=94=B9=20=E7=BC=A9=E6=94=BE=E6=9D=A1?= =?UTF-8?q?=E5=9C=A8=E4=B8=8D=E5=90=8C=E7=9A=84sheet=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E4=B8=8D=E5=BA=94=E8=AF=A5=E7=BB=A7=E6=89=BF=20PMD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/design/mainframe/JWorkBook.java | 5 +++++ .../com/fr/design/mainframe/ReportComponent.java | 5 +++++ .../design/mainframe/ReportComponentComposite.java | 8 +------- .../com/fr/design/mainframe/WorkSheetDesigner.java | 11 +++++++++++ designer/src/com/fr/poly/PolyDesigner.java | 8 ++++++++ .../fr/design/gui/icombobox/TextFontComboBox.java | 13 +++++++------ .../src/com/fr/design/mainframe/JTemplate.java | 2 ++ .../src/com/fr/design/mainframe/JForm.java | 5 +++++ 8 files changed, 44 insertions(+), 13 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index 73edf7107..8d2854de7 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -129,6 +129,11 @@ public class JWorkBook extends JTemplate { return getEditingElementCasePane(); } + @Override + public JComponent getCurrentReportComponentPane() { + return reportComposite; + } + @Override protected UIModeControlContainer createCenterPane() { parameterPane = ModuleContext.isModuleStarted(Module.FORM_MODULE) ? new ParameterDefinitePane() : null; diff --git a/designer/src/com/fr/design/mainframe/ReportComponent.java b/designer/src/com/fr/design/mainframe/ReportComponent.java index 6ca268545..699f6c1c5 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponent.java +++ b/designer/src/com/fr/design/mainframe/ReportComponent.java @@ -44,6 +44,11 @@ public abstract class ReportComponent { + private static final int HUND = 100; + public WorkSheetDesigner(WorkSheet sheet) { super(sheet); @@ -166,6 +170,13 @@ public class WorkSheetDesigner extends ReportComponent extends ExtendedComboBox{ +public class TextFontComboBox extends ExtendedComboBox { private Filter filter; public TextFontComboBox() { @@ -38,8 +39,8 @@ public class TextFontComboBox extends ExtendedComboBox{ public void setItemArray(T[] objectArray) { List itemList = new ArrayList(); - if(objectArray != null) { - for(int i = 0; i < objectArray.length; i++) { + if (objectArray != null) { + for (int i = 0; i < objectArray.length; i++) { itemList.add(objectArray[i]); } } @@ -48,8 +49,8 @@ public class TextFontComboBox extends ExtendedComboBox{ } public void setItemList(List itemList) { - ((FilterableComboBoxModel)this.getModel()).setPrefix(""); - ((FilterableComboBoxModel)this.getModel()).setItemList(itemList); + ((FilterableComboBoxModel) this.getModel()).setPrefix(StringUtils.EMPTY); + ((FilterableComboBoxModel) this.getModel()).setItemList(itemList); } class FilterComboBoxEditor implements ComboBoxEditor, DocumentListener { @@ -75,7 +76,7 @@ public class TextFontComboBox extends ExtendedComboBox{ this.item = item; this.setting = true; - String newText = (item == null) ? "" : item.toString(); + String newText = (item == null) ? StringUtils.EMPTY : item.toString(); textField.setText(newText); this.setting = false; } diff --git a/designer_base/src/com/fr/design/mainframe/JTemplate.java b/designer_base/src/com/fr/design/mainframe/JTemplate.java index 633fc066b..eaf8e76c9 100644 --- a/designer_base/src/com/fr/design/mainframe/JTemplate.java +++ b/designer_base/src/com/fr/design/mainframe/JTemplate.java @@ -114,6 +114,8 @@ public abstract class JTemplate> ex public abstract TargetComponent getCurrentElementCasePane(); + public abstract JComponent getCurrentReportComponentPane(); + // 为收集模版信息作准备 private void initForCollect() { template.initTemplateID(); // 为新模板设置 templateID 属性 diff --git a/designer_form/src/com/fr/design/mainframe/JForm.java b/designer_form/src/com/fr/design/mainframe/JForm.java index e6432bf1e..2effa34ba 100644 --- a/designer_form/src/com/fr/design/mainframe/JForm.java +++ b/designer_form/src/com/fr/design/mainframe/JForm.java @@ -103,6 +103,11 @@ public class JForm extends JTemplate implements BaseJForm { return elementCaseDesign.getEditingElementCasePane(); } + @Override + public JComponent getCurrentReportComponentPane() { + return null; + } + public int getMenuState() { return DesignState.JFORM;