From 9f6d40cd901eb95dd058ad75df60636622576217 Mon Sep 17 00:00:00 2001 From: neil <459208047@qq.com> Date: Mon, 23 Oct 2017 15:34:30 +0800 Subject: [PATCH 01/15] =?UTF-8?q?REPORT-5180=20=E6=97=A5=E5=BF=97=E7=BA=A7?= =?UTF-8?q?=E5=88=AB=E9=85=8D=E7=BD=AE=E6=95=B4=E5=90=88=E5=88=B0=E4=B8=80?= =?UTF-8?q?=E4=B8=AAxml=E4=B8=AD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/DesignerEnvManager.java | 42 ++----------------- .../design/actions/file/PreferencePane.java | 37 ++++++++++++---- .../loghandler/DesignerLogHandler.java | 38 +++++++++++++---- 3 files changed, 64 insertions(+), 53 deletions(-) diff --git a/designer_base/src/com/fr/design/DesignerEnvManager.java b/designer_base/src/com/fr/design/DesignerEnvManager.java index f43d05bacd..1cd613785a 100644 --- a/designer_base/src/com/fr/design/DesignerEnvManager.java +++ b/designer_base/src/com/fr/design/DesignerEnvManager.java @@ -14,7 +14,6 @@ import com.fr.env.RemoteEnv; import com.fr.env.SignIn; import com.fr.file.FILEFactory; import com.fr.general.ComparatorUtils; -import com.fr.general.FRLevel; import com.fr.general.FRLogFormatter; import com.fr.general.FRLogger; import com.fr.general.GeneralContext; @@ -34,9 +33,10 @@ import com.fr.stable.xml.XMLTools; import com.fr.stable.xml.XMLWriter; import com.fr.stable.xml.XMLableReader; -import javax.swing.*; +import javax.swing.SwingWorker; import javax.swing.SwingWorker.StateValue; -import java.awt.*; +import java.awt.Color; +import java.awt.Rectangle; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; @@ -53,7 +53,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.logging.FileHandler; import java.util.logging.Handler; -import java.util.logging.Level; /** * The manager of Designer GUI. @@ -97,7 +96,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { private Color paginationLineColor = Color.black; // line color of paper private boolean supportCellEditorDef = false; private boolean isDragPermited = false; - private Level level = Level.INFO; private int language; //2014-8-26默认显示全部, 因为以前的版本, 虽然是false, 实际上是显示所有表, 因此这边要兼容 private boolean useOracleSystemSpace = true; @@ -240,10 +238,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { */ public static void loadLogSetting() { DesignerEnvManager designerEnvManager = DesignerEnvManager.getEnvManager(); - Level logLevel = designerEnvManager.getLogLevel(); - if (logLevel != null) { - FRContext.getLogger().setLogLevel(logLevel, true); - } if (StringUtils.isNotEmpty(designerEnvManager.getJdkHome())) { System.setProperty("java.home", designerEnvManager.getJdkHome()); } @@ -1156,20 +1150,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { this.logLocation = logsLocation; } - /** - * 返回日志的等级 - */ - public Level getLogLevel() { - return this.level; - } - - /** - * 设置log的等级 - */ - public void setLogLevel(Level level) { - this.level = level; - } - /** * 设置撤销的限制次数 */ @@ -1320,8 +1300,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { readActiveKey(reader); } else if ("LogLocation".equals(name)) { readLogLocation(reader); - } else if ("LogLevel".equals(name)) { - this.readLogLevel(reader); } else if ("Language".equals(name)) { readLanguage(reader); } else if ("JettyServerPort".equals(name)) { @@ -1516,15 +1494,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { checkRecentOpenedFileNum(); } - - private void readLogLevel(XMLableReader reader) { - String level; - if ((level = reader.getElementValue()) != null) { - this.setLogLevel(FRLevel.getByName(level).getLevel()); - } - } - - /** * Write XML.
* The method will be invoked when save data to XML file.
@@ -1700,11 +1669,6 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter { writer.end(); } - if (this.level != null) { - writer.startTAG("LogLevel"); - writer.textNode(FRLevel.getByLevel(this.level).getName()); - writer.end(); - } if (StringUtils.isNotBlank(jdkHome)) { writer.startTAG("jdkHome"); writer.textNode(jdkHome); diff --git a/designer_base/src/com/fr/design/actions/file/PreferencePane.java b/designer_base/src/com/fr/design/actions/file/PreferencePane.java index 51b8c374ae..d32b110d16 100644 --- a/designer_base/src/com/fr/design/actions/file/PreferencePane.java +++ b/designer_base/src/com/fr/design/actions/file/PreferencePane.java @@ -1,6 +1,8 @@ package com.fr.design.actions.file; import com.fr.base.BaseUtils; +import com.fr.base.ConfigManager; +import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.RestartHelper; import com.fr.design.dialog.BasicDialog; @@ -25,9 +27,24 @@ import com.fr.general.FRFont; import com.fr.general.FRLevel; import com.fr.general.Inter; -import javax.swing.*; -import java.awt.*; -import java.awt.event.*; +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.io.File; import java.util.ArrayList; import java.util.Locale; @@ -354,7 +371,7 @@ public class PreferencePane extends BasicPane { logLevelPane.add(logLevelComboBox); logLevelComboBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - DesignerEnvManager.getEnvManager().setLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel()); + ConfigManager.getProviderInstance().setServerLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel()); } }); } @@ -534,7 +551,7 @@ public class PreferencePane extends BasicPane { this.logExportDirectoryField.setText(designerEnvManager.getLogLocation()); - this.logLevelComboBox.setSelectedItem(FRLevel.getByLevel(designerEnvManager.getLogLevel())); + this.logLevelComboBox.setSelectedItem(FRLevel.getByLevel(ConfigManager.getProviderInstance().getServerLogLevel())); this.languageComboBox.setSelectedItem(LANGUAGE.get(designerEnvManager.getLanguage())); designerEnvLanguageIndex = designerEnvManager.getLanguage(); @@ -578,8 +595,6 @@ public class PreferencePane extends BasicPane { designerEnvManager.setLogLocation(this.logExportDirectoryField.getText()); - designerEnvManager.setLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel()); - designerEnvManager.setSupportUndo(supportUndoCheckBox.isSelected()); designerEnvManager.setSupportDefaultParentCalculate(supportDefaultParentCalculateCheckBox.isSelected()); @@ -615,6 +630,14 @@ public class PreferencePane extends BasicPane { if (maxUndoLimit.getSelectedIndex() == SELECTED_INDEX_5) { designerEnvManager.setUndoLimit(MAX_UNDO_LIMIT_50); } + + ConfigManager.getProviderInstance().setServerLogLevel(((FRLevel) logLevelComboBox.getSelectedItem()).getLevel()); + try { + FRContext.getCurrentEnv().writeResource(ConfigManager.getProviderInstance()); + } catch (Exception e) { + FRContext.getLogger().error(e.getMessage()); + } + } /* diff --git a/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java b/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java index 740bd4ffe1..9a2aed712f 100644 --- a/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java +++ b/designer_base/src/com/fr/design/mainframe/loghandler/DesignerLogHandler.java @@ -1,20 +1,44 @@ package com.fr.design.mainframe.loghandler; import com.fr.base.BaseUtils; +import com.fr.base.ConfigManager; import com.fr.base.FRContext; -import com.fr.design.DesignerEnvManager; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.imenu.UIMenuItem; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.general.*; +import com.fr.general.ComparatorUtils; +import com.fr.general.FRLogLevel; +import com.fr.general.FRLogger; +import com.fr.general.GeneralContext; +import com.fr.general.Inter; import com.fr.log.LogHandler; import com.fr.stable.EnvChangedListener; import com.fr.stable.xml.LogRecordTimeProvider; -import javax.swing.*; -import javax.swing.text.*; -import java.awt.*; -import java.awt.event.*; +import javax.swing.AbstractAction; +import javax.swing.ActionMap; +import javax.swing.InputMap; +import javax.swing.JCheckBoxMenuItem; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JPopupMenu; +import javax.swing.JTextPane; +import javax.swing.KeyStroke; +import javax.swing.text.BadLocationException; +import javax.swing.text.DefaultEditorKit; +import javax.swing.text.Document; +import javax.swing.text.SimpleAttributeSet; +import javax.swing.text.StyleConstants; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.awt.event.KeyEvent; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; @@ -105,7 +129,7 @@ public class DesignerLogHandler { @Override public void actionPerformed(ActionEvent e) { JPopupMenu showsetPopup = new JPopupMenu(); - int logLevelvalue = DesignerEnvManager.getEnvManager().getLogLevel().intValue(); + int logLevelvalue = ConfigManager.getProviderInstance().getServerLogLevel().intValue(); if (logLevelvalue <= INFO_INT) { showsetPopup.add(showInfo); showsetPopup.add(showError); From 88c2d8697a8a32bb7698d4968bdbec162633801d Mon Sep 17 00:00:00 2001 From: kerry Date: Mon, 23 Oct 2017 16:38:06 +0800 Subject: [PATCH 02/15] =?UTF-8?q?REPORT-5137=20[9.0=E4=BA=8C=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92]=E8=A1=A8=E5=8D=95=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E9=97=B4=E9=9A=94=E5=8F=AA=E8=83=BD=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=9C=80=E5=A4=9A2=E4=BD=8D=E6=95=B0=E5=92=8C?= =?UTF-8?q?=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E6=8E=A7=E4=BB=B6=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/ui/NumberEditorDefinePane.java | 4 +- .../com/fr/design/gui/ispinner/UISpinner.java | 2 + .../component/NumberEditorValidatePane.java | 5 ++- .../parameter/RootDesignDefinePane.java | 2 +- .../ui/designer/CheckBoxDefinePane.java | 13 ++++--- .../ui/designer/FieldEditorDefinePane.java | 9 ++--- .../ui/designer/MultiFileEditorPane.java | 7 ++-- .../designer/component/FontSizeComboPane.java | 38 +++++++++++++++++++ .../designer/component/PaddingBoundPane.java | 10 ++--- .../component/WidgetAbsoluteBoundPane.java | 8 ++-- .../designer/component/WidgetBoundPane.java | 4 +- .../layout/FRFitLayoutDefinePane.java | 20 +++++++++- .../layout/WTabFitLayoutDefinePane.java | 2 +- 13 files changed, 91 insertions(+), 33 deletions(-) create mode 100644 designer_form/src/com/fr/design/widget/ui/designer/component/FontSizeComboPane.java diff --git a/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java index 88244b903f..ed8f4315e0 100644 --- a/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java @@ -1,12 +1,12 @@ package com.fr.design.widget.ui; -import java.awt.*; -import javax.swing.BorderFactory; import javax.swing.JPanel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.widget.component.NumberEditorValidatePane; import com.fr.form.ui.NumberEditor; +import java.awt.BorderLayout; + public class NumberEditorDefinePane extends FieldEditorDefinePane { /** * FieldEditorDefinePane 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 2ffd53e19f..0ec3768aa5 100644 --- a/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java +++ b/designer_base/src/com/fr/design/gui/ispinner/UISpinner.java @@ -262,7 +262,9 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver textField.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { + textField.getDocument().removeDocumentListener(docListener); textField.setValue(value); + textField.getDocument().addDocumentListener(docListener); } }); } diff --git a/designer_base/src/com/fr/design/widget/component/NumberEditorValidatePane.java b/designer_base/src/com/fr/design/widget/component/NumberEditorValidatePane.java index 68ca5ae1e9..bc2612aa67 100644 --- a/designer_base/src/com/fr/design/widget/component/NumberEditorValidatePane.java +++ b/designer_base/src/com/fr/design/widget/component/NumberEditorValidatePane.java @@ -254,11 +254,12 @@ public class NumberEditorValidatePane extends JPanel { minValueSpinner.setEnabled(true); minValueSpinner.setValue(new Double(e.getMinValue())); } - errorMsgTextField.setText(e.getRegErrorMessage()); - if(e.getMaxValue() == Double.MAX_VALUE || e.getMinValue() == -Double.MAX_VALUE){ + if(setMinValueCheckBox.isSelected() || setMaxValueCheckBox.isSelected()){ errorMsgTextFieldPane.setVisible(true); + errorMsgTextField.setText(e.getRegErrorMessage()); }else{ errorMsgTextFieldPane.setVisible(false); + errorMsgTextField.setText(StringUtils.EMPTY); } } diff --git a/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java b/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java index d8ef6f0fc4..c1725e8b72 100644 --- a/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java +++ b/designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java @@ -47,7 +47,7 @@ public class RootDesignDefinePane extends AbstractDataModify { public void initComponent() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - designerWidth = new UISpinner(1, 1000, 1); + designerWidth = new UISpinner(1, Integer.MAX_VALUE, 1); JPanel advancePane = createAdvancePane(); UIExpandablePane advanceExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"), 280, 20, advancePane); this.add(advanceExpandablePane, BorderLayout.NORTH); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java index ab65dbda6f..133318fe2c 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java @@ -4,21 +4,22 @@ import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.creator.XCreator; import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.widget.ui.designer.component.FontSizeComboPane; import com.fr.design.widget.ui.designer.component.FormWidgetValuePane; import com.fr.form.ui.CheckBox; import com.fr.general.Inter; -import javax.swing.*; -import java.awt.*; +import javax.swing.BorderFactory; +import javax.swing.JPanel; +import java.awt.Component; public class CheckBoxDefinePane extends AbstractDataModify { private UITextField text; - private UISpinner fontSizePane; + private FontSizeComboPane fontSizePane; private FormWidgetValuePane formWidgetValuePane; protected UITextField labelNameTextField; @@ -30,7 +31,7 @@ public class CheckBoxDefinePane extends AbstractDataModify { private void iniComoponents() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); text = new UITextField(); - fontSizePane = new UISpinner(0, 20, 1, 0); + fontSizePane = new FontSizeComboPane(); labelNameTextField = new UITextField(); formWidgetValuePane = new FormWidgetValuePane(creator.toData(), false); double f = TableLayout.FILL; @@ -70,7 +71,7 @@ public class CheckBoxDefinePane extends AbstractDataModify { public CheckBox updateBean() { CheckBox box = (CheckBox)creator.toData(); box.setText(text.getText()); - box.setFontSize((int)fontSizePane.getValue()); + box.setFontSize(fontSizePane.getValue()); formWidgetValuePane.update(box); box.setLabelName(labelNameTextField.getText()); return box; diff --git a/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java index 8392ac2b6c..ad47924d43 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/FieldEditorDefinePane.java @@ -6,11 +6,10 @@ import com.fr.design.designer.creator.*; import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.widget.ui.designer.component.FontSizeComboPane; import com.fr.form.ui.FieldEditor; import com.fr.general.Inter; @@ -26,7 +25,7 @@ public abstract class FieldEditorDefinePane extends Abstr // richer:错误信息,是所有控件共有的属性,所以放到这里来 protected UITextField errorMsgTextField; protected JPanel validatePane; - protected UISpinner fontSizePane; + protected FontSizeComboPane fontSizePane; protected UITextField labelNameTextField; @@ -40,7 +39,7 @@ public abstract class FieldEditorDefinePane extends Abstr labelNameTextField = new UITextField(); allowBlankCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Null")); allowBlankCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - fontSizePane = new UISpinner(0, 20, 1, 0); + fontSizePane = new FontSizeComboPane(); errorMsgTextField = new UITextField(); JPanel contentPane = this.setFirstContentPane(); JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); @@ -70,7 +69,7 @@ public abstract class FieldEditorDefinePane extends Abstr e.setAllowBlank(this.allowBlankCheckBox.isSelected()); e.setErrorMessage(this.errorMsgTextField.getText()); - e.setFontSize((int)fontSizePane.getValue()); + e.setFontSize(fontSizePane.getValue()); e.setLabelName(labelNameTextField.getText()); return e; } diff --git a/designer_form/src/com/fr/design/widget/ui/designer/MultiFileEditorPane.java b/designer_form/src/com/fr/design/widget/ui/designer/MultiFileEditorPane.java index cf406f56e2..a2819ca243 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/MultiFileEditorPane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/MultiFileEditorPane.java @@ -10,6 +10,7 @@ import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.widget.ui.designer.component.FontSizeComboPane; import com.fr.form.ui.MultiFileEditor; import com.fr.general.Inter; @@ -20,7 +21,7 @@ public class MultiFileEditorPane extends FieldEditorDefinePane private DictionaryComboBox acceptType; private UICheckBox singleFileCheckBox; private UISpinner fileSizeField; - private UISpinner fontSizeField; + private FontSizeComboPane fontSizeField; public MultiFileEditorPane(XCreator xCreator) { super(xCreator); @@ -39,7 +40,7 @@ public class MultiFileEditorPane extends FieldEditorDefinePane singleFileCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); fileSizeField = new UISpinner(0, Integer.MAX_VALUE, 1, -1); fileSizeField.setPreferredSize(new Dimension(140, 20)); - fontSizeField = new UISpinner(0, 20, 1, 0); + fontSizeField = new FontSizeComboPane(); JPanel singleFilePane = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane(); singleFilePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); @@ -82,7 +83,7 @@ public class MultiFileEditorPane extends FieldEditorDefinePane ob.setAccept((String) acceptType.getSelectedItem()); ob.setSingleFile(singleFileCheckBox.isSelected()); ob.setMaxSize(fileSizeField.getValue()); - ob.setFontSize((int)fontSizeField.getValue()); + ob.setFontSize(fontSizeField.getValue()); return ob; } diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/FontSizeComboPane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/FontSizeComboPane.java new file mode 100644 index 0000000000..57df97ee12 --- /dev/null +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/FontSizeComboPane.java @@ -0,0 +1,38 @@ +package com.fr.design.widget.ui.designer.component; + +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.layout.FRGUIPaneFactory; +import javax.swing.JPanel; +import java.awt.BorderLayout; +import java.util.Vector; + +/** + * Created by kerry on 2017/10/23. + */ +public class FontSizeComboPane extends JPanel{ + private static final int MAX_FONT_SIZE = 100; + private UIComboBox comboBox; + public FontSizeComboPane(){ + initComponent(); + } + public void initComponent(){ + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + Vector integerList = new Vector(); + for (int i = 1; i < MAX_FONT_SIZE; i++) { + integerList.add(i); + } + comboBox = new UIComboBox(integerList); + comboBox.setEditable(true); + this.add(comboBox, BorderLayout.CENTER); + } + + public int getValue() { + return Integer.valueOf(comboBox.getSelectedItem().toString()); + } + + public void setValue(int fontSize) { + comboBox.setSelectedItem(fontSize); + } + + +} diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/PaddingBoundPane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/PaddingBoundPane.java index b33a913c4a..992eb76c67 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/component/PaddingBoundPane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/PaddingBoundPane.java @@ -32,10 +32,10 @@ public class PaddingBoundPane extends BasicPane{ public void initBoundPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - top = new UISpinner(0, 1000, 1, 0); - bottom = new UISpinner(0, 1000, 1, 0); - left = new UISpinner(0, 1000, 1, 0); - right = new UISpinner(0, 1000, 1, 0); + top = new UISpinner(0, Integer.MAX_VALUE, 1, 0); + bottom = new UISpinner(0, Integer.MAX_VALUE, 1, 0); + left = new UISpinner(0, Integer.MAX_VALUE, 1, 0); + right = new UISpinner(0, Integer.MAX_VALUE, 1, 0); top.setGlobalName(Inter.getLocText("FR-Designer_Layout-Padding")); bottom.setGlobalName(Inter.getLocText("FR-Designer_Layout-Padding")); left.setGlobalName(Inter.getLocText("FR-Designer_Layout-Padding")); @@ -52,7 +52,7 @@ public class PaddingBoundPane extends BasicPane{ new Component[]{null, createRightPane(new UILabel(Inter.getLocText("FR-Designer_Left"), SwingConstants.CENTER), new UILabel(Inter.getLocText("FR-Designer_Right"), SwingConstants.CENTER))}, }; JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, IntervalConstants.INTERVAL_W2, IntervalConstants.INTERVAL_L1); - panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); + panel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, IntervalConstants.INTERVAL_L1, 0)); this.add(panel); } diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetAbsoluteBoundPane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetAbsoluteBoundPane.java index a2e44fce7c..c0d71c08af 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetAbsoluteBoundPane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetAbsoluteBoundPane.java @@ -21,10 +21,10 @@ public class WidgetAbsoluteBoundPane extends WidgetBoundPane { } public void initBoundPane() { - x = new UISpinner(0, 1200, 1); - y = new UISpinner(0, 1200, 1); - width = new UISpinner(0, 1200, 1); - height = new UISpinner(0, 1200, 1); + x = new UISpinner(0, Integer.MAX_VALUE, 1); + y = new UISpinner(0, Integer.MAX_VALUE, 1); + width = new UISpinner(0, Integer.MAX_VALUE, 1); + height = new UISpinner(0, Integer.MAX_VALUE, 1); x.setGlobalName(Inter.getLocText("FR-Designer_Coords_And_Size")); y.setGlobalName(Inter.getLocText("FR-Designer_Coords_And_Size")); width.setGlobalName(Inter.getLocText("FR-Designer_Coords_And_Size")); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetBoundPane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetBoundPane.java index 68feb15960..2a033227e8 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetBoundPane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/WidgetBoundPane.java @@ -48,8 +48,8 @@ public class WidgetBoundPane extends BasicPane { } public void initBoundPane() { - width = new UISpinner(0, 1200, 1); - height = new UISpinner(0, 1200, 1); + width = new UISpinner(0, Integer.MAX_VALUE, 1); + height = new UISpinner(0, Integer.MAX_VALUE, 1); width.setGlobalName(Inter.getLocText("FR-Designer_Coords_And_Size")); height.setGlobalName(Inter.getLocText("FR-Designer_Coords_And_Size")); if (creator.acceptType(XWCardLayout.class)) { diff --git a/designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java index eaafb9dbf8..b429ff84b4 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java @@ -80,7 +80,7 @@ public class FRFitLayoutDefinePane extends AbstractDataModify { JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); layoutComboBox = initUIComboBox(FRLayoutTypeItems.ITEMS); adaptComboBox = initUIComboBox(FRFitConstraintsItems.ITEMS); - componentIntervel = new UISpinner(0, 100, 1, 0); + componentIntervel = new UISpinner(0, Integer.MAX_VALUE, 1, 0); double f = TableLayout.FILL; double p = TableLayout.PREFERRED; double[] rowSize = {p, p}; @@ -185,10 +185,26 @@ public class FRFitLayoutDefinePane extends AbstractDataModify { //todo 验证下 layout.setLayoutType(WBodyLayoutType.parse(state)); layout.setCompState(adaptComboBox.getSelectedIndex()); - layout.setCompInterval((int)componentIntervel.getValue()); + + int intervelValue = (int)componentIntervel.getValue(); + if (xWFitLayout.canAddInterval(intervelValue)) { +// 设置完间隔后,要同步处理界面组件,容器刷新后显示出对应效果 + setLayoutGap(intervelValue); + } + return layout; } + private void setLayoutGap(int value) { + int interval = wFitLayout.getCompInterval(); + if (value != interval) { + xWFitLayout.moveContainerMargin(); + xWFitLayout.moveCompInterval(xWFitLayout.getAcualInterval()); + wFitLayout.setCompInterval(value); + xWFitLayout.addCompInterval(xWFitLayout.getAcualInterval()); + } + } + @Override public DataCreatorUI dataUI() { return null; diff --git a/designer_form/src/com/fr/design/widget/ui/designer/layout/WTabFitLayoutDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/layout/WTabFitLayoutDefinePane.java index 8ca22dad1f..85ca8ee977 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/layout/WTabFitLayoutDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/layout/WTabFitLayoutDefinePane.java @@ -56,7 +56,7 @@ public class WTabFitLayoutDefinePane extends AbstractDataModify { } public void initLayoutComponent(){ - componentInterval = new UISpinner(0, 100, 1, 0); + componentInterval = new UISpinner(0, Integer.MAX_VALUE, 1, 0); titleField = new UITextField(); Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("FR-Designer_Component_Interval")), componentInterval}, From 2605a1a869e5711c78bed205d8b809eaba855ee6 Mon Sep 17 00:00:00 2001 From: ju Date: Tue, 24 Oct 2017 17:04:36 +0800 Subject: [PATCH 03/15] REPORT-5217 --- designer_base/src/com/fr/start/BaseDesigner.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index d299a8cdd5..34d2bb2431 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -67,10 +67,6 @@ public abstract class BaseDesigner extends ToolBarMenuDock { ConfigManagerFactory.registerConfigManagerProxy(new ConfigManagerCreatorProxy()); //启动core BuildContext.setBuildFilePath(buildPropertiesPath()); - Register.load(); - //标记一下是设计器启动 - PluginConversionModule.getInstance().markDesignerStart(); - SiteCenter.getInstance(); if (isDebug()) { setDebugEnv(); @@ -82,6 +78,11 @@ public abstract class BaseDesigner extends ToolBarMenuDock { DesignUtils.clientSend(args); return; } + + Register.load(); + //标记一下是设计器启动 + PluginConversionModule.getInstance().markDesignerStart(); + SiteCenter.getInstance(); //下面这两句的位置不能随便调换,因为会影响语言切换的问题 initLanguage(); From cc6eed1842ed74a93ae4f8856f7ceb74406e0d26 Mon Sep 17 00:00:00 2001 From: kerry Date: Wed, 25 Oct 2017 14:08:51 +0800 Subject: [PATCH 04/15] =?UTF-8?q?REPORT-5209=209.0=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=9D=A2=E6=9D=BF=E4=BA=A4=E4=BA=92=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/widget/CellWidgetCardPane.java | 37 ++++++------------- .../widget/ui/DateEditorDefinePane.java | 13 +++++-- .../com/fr/design/dialog/AttrScrollPane.java | 30 +++++++++++++++ .../com/fr/design/dialog/BasicScrollPane.java | 15 ++++++-- .../widget/ui/FormWidgetCardPane.java | 15 ++------ .../ui/designer/CheckBoxDefinePane.java | 5 ++- .../ui/designer/DateEditorDefinePane.java | 16 ++++++-- .../designer/DirectWriteEditorDefinePane.java | 4 +- .../widget/ui/designer/LabelDefinePane.java | 4 +- .../ui/designer/NumberEditorDefinePane.java | 4 +- .../designer/TextFieldEditorDefinePane.java | 4 +- .../designer/btn/ButtonGroupDefinePane.java | 4 +- 12 files changed, 98 insertions(+), 53 deletions(-) create mode 100644 designer_base/src/com/fr/design/dialog/AttrScrollPane.java diff --git a/designer/src/com/fr/design/widget/CellWidgetCardPane.java b/designer/src/com/fr/design/widget/CellWidgetCardPane.java index 043e3a7798..77d1542cbb 100644 --- a/designer/src/com/fr/design/widget/CellWidgetCardPane.java +++ b/designer/src/com/fr/design/widget/CellWidgetCardPane.java @@ -2,7 +2,7 @@ package com.fr.design.widget; import com.fr.design.constants.UIConstants; import com.fr.design.data.DataCreatorUI; -import com.fr.design.designer.IntervalConstants; +import com.fr.design.dialog.AttrScrollPane; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicScrollPane; import com.fr.design.foldablepane.UIExpandablePane; @@ -51,38 +51,24 @@ public class CellWidgetCardPane extends BasicPane { this.removeAll(); this.setLayout(FRGUIPaneFactory.createBorderLayout()); - final JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - - BasicScrollPane basicScrollPane = new BasicScrollPane() { - @Override - protected JPanel createContentPane() { - return jPanel; - } - - @Override - public void populateBean(Object ob) { - - } - - @Override - protected String title4PopupWindow() { - return null; - } - }; - this.add(basicScrollPane, BorderLayout.CENTER); - //k tabbedPane = new CardLayout(); center = new JPanel(tabbedPane); - jPanel.add(center, BorderLayout.CENTER); - jPanel.setBorder(BorderFactory.createEmptyBorder(0, IntervalConstants.INTERVAL_L6, 0, 0)); + this.add(center, BorderLayout.CENTER); attriTabPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); eventTabPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + eventTabPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10)); initPaneList(); eventPane = initWidgetEventPane(pane); eventTabPane.add(eventPane, BorderLayout.CENTER); //k - center.add(attriTabPane, Inter.getLocText("FR-Designer_Attribute")); + BasicScrollPane basicScrollPane = new AttrScrollPane() { + @Override + protected JPanel createContentPane() { + return attriTabPane; + } + }; + center.add(basicScrollPane, Inter.getLocText("FR-Designer_Attribute")); center.add(eventTabPane, Inter.getLocText("FR-Designer_Event")); final String[] tabTitles = new String[]{Inter.getLocText("FR-Designer_Attribute"), Inter.getLocText("FR-Designer_Event")}; @@ -100,7 +86,8 @@ public class CellWidgetCardPane extends BasicPane { UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Basic"), 280, 24, widgetPropertyPane); - attriTabPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + + attriTabPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10)); attriTabPane.add(uiExpandablePane, BorderLayout.NORTH); attriCardPane = FRGUIPaneFactory.createCardLayout_S_Pane(); diff --git a/designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java index 49c0d99282..6847745b7e 100644 --- a/designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/DateEditorDefinePane.java @@ -58,10 +58,17 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane extends BasicBeanPane{ protected void setLeftContentPaneBounds(Container parent, UIScrollBar scrollBar, int beginY, int maxheight) { int width = parent.getWidth(); int height = parent.getHeight(); - if (leftcontentPane.getPreferredSize().height > maxheight) { - leftcontentPane.setBounds(0, -beginY, width - scrollBar.getWidth() - DET_WIDTH_OVER_HEIGHT, height + beginY); + if (leftcontentPane.getPreferredSize().height > maxheight && scrollBar.isVisible()) { + leftcontentPane.setBounds(0, -beginY, width - scrollBar.getWidth() + getOverWidth() - DET_WIDTH_OVER_HEIGHT, height + beginY); scrollBar.setBounds(width - scrollBar.getWidth() - 1, 0, scrollBar.getWidth(), height); } else { - leftcontentPane.setBounds(0, 0, width - DET_WIDTH, height); + int hideBarWidth = hideBarWidth() ? scrollBar.getWidth() : 0; + leftcontentPane.setBounds(0, 0, width - DET_WIDTH + hideBarWidth, height); } } + protected int getOverWidth(){ + return 0; + } + + protected boolean hideBarWidth(){ + return false; + } + protected boolean isShowScrollBar() { return true; } diff --git a/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index 8f6e075c4b..1ac55c2eda 100644 --- a/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -3,6 +3,7 @@ package com.fr.design.mainframe.widget.ui; import com.fr.design.data.DataCreatorUI; import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.creator.*; +import com.fr.design.dialog.AttrScrollPane; import com.fr.design.dialog.BasicScrollPane; import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; @@ -112,26 +113,16 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { XCreator innerCreator = getXCreatorDedicated(); final JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - BasicScrollPane basicScrollPane = new BasicScrollPane() { + BasicScrollPane basicScrollPane = new AttrScrollPane() { @Override protected JPanel createContentPane() { return jPanel; } - - @Override - public void populateBean(Object ob) { - - } - - @Override - protected String title4PopupWindow() { - return null; - } }; this.add(basicScrollPane, BorderLayout.CENTER); attriCardPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); jPanel.add(attriCardPane, BorderLayout.CENTER); - jPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); + jPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10)); final boolean isExtraWidget = FormWidgetDefinePaneFactoryBase.isExtraXWidget(innerCreator.toData()); this.listener = new AttributeChangeListener() { diff --git a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java index 133318fe2c..fc7a1dfdce 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxDefinePane.java @@ -15,6 +15,7 @@ import com.fr.general.Inter; import javax.swing.BorderFactory; import javax.swing.JPanel; +import javax.swing.SwingConstants; import java.awt.Component; public class CheckBoxDefinePane extends AbstractDataModify { @@ -33,13 +34,15 @@ public class CheckBoxDefinePane extends AbstractDataModify { text = new UITextField(); fontSizePane = new FontSizeComboPane(); labelNameTextField = new UITextField(); + UILabel widgetValueLabel = new UILabel(Inter.getLocText("FR-Designer-Estate_Widget_Value")); + widgetValueLabel.setVerticalAlignment(SwingConstants.TOP); formWidgetValuePane = new FormWidgetValuePane(creator.toData(), false); double f = TableLayout.FILL; double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("FR-Designer_Label_Name")), labelNameTextField}, new Component[]{new UILabel(Inter.getLocText("FR-Designer_Text")), text }, - new Component[]{new UILabel(Inter.getLocText("FR-Designer-Estate_Widget_Value")), formWidgetValuePane }, + new Component[]{widgetValueLabel, formWidgetValuePane }, new Component[]{new UILabel(Inter.getLocText("FR-Designer_Font-Size")), fontSizePane}, }; double[] rowSize = {p, p, p, p, p, p}; diff --git a/designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java index 2cdb311b5a..a46ed3830a 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/DateEditorDefinePane.java @@ -56,6 +56,14 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane(new String[] {Inter.getLocText("Date") , Inter.getLocText("String")}); JPanel formatHead = createFormatHead(); @@ -65,10 +73,10 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane e @Override protected JPanel setFirstContentPane() { JPanel advancePane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + UILabel widgetValueLabel = new UILabel(Inter.getLocText("FR-Designer-Estate_Widget_Value")); + widgetValueLabel.setVerticalAlignment(SwingConstants.TOP); formWidgetValuePane = new FormWidgetValuePane(creator.toData(), false); Component[] removeRepeatPane = new Component[]{createRepeatCheckBox(), null}; Component[] dicPane = createDictPane(); @@ -36,7 +38,7 @@ public abstract class DirectWriteEditorDefinePane e double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("FR-Designer_Label_Name")), labelNameTextField}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer-Estate_Widget_Value")), formWidgetValuePane }, + new Component[]{widgetValueLabel, formWidgetValuePane }, dicPane, removeRepeatPane, waterMarkComponent, diff --git a/designer_form/src/com/fr/design/widget/ui/designer/LabelDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/LabelDefinePane.java index 2cf3c72bb6..549f4266fe 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/LabelDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/LabelDefinePane.java @@ -62,10 +62,12 @@ public class LabelDefinePane extends AbstractDataModify