diff --git a/designer/src/com/fr/design/widget/CellWidgetCardPane.java b/designer/src/com/fr/design/widget/CellWidgetCardPane.java index e3c41d36e0..b6c4c5318d 100644 --- a/designer/src/com/fr/design/widget/CellWidgetCardPane.java +++ b/designer/src/com/fr/design/widget/CellWidgetCardPane.java @@ -3,14 +3,11 @@ package com.fr.design.widget; import com.fr.design.data.DataCreatorUI; import com.fr.design.dialog.BasicPane; import com.fr.design.foldablepane.UIExpandablePane; -import com.fr.design.gui.frpane.TreeSettingPane; import com.fr.design.gui.ibutton.UIHeadGroup; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.ElementCasePane; -import com.fr.design.present.dict.DictionaryPane; import com.fr.design.widget.ui.BasicWidgetPropertySettingPane; import com.fr.form.event.Listener; -import com.fr.form.ui.NoneWidget; import com.fr.form.ui.Widget; import com.fr.general.Inter; @@ -36,14 +33,6 @@ public class CellWidgetCardPane extends BasicPane { private JPanel attriCardPane; private CardLayout attriCardLayout; - //数字字典属性容器 - private JPanel dictTabPane; - private JPanel dictCardPane; - private CardLayout dictCardLayout; - - //构建树属性容器 - private JPanel treeTabPane; - //事件属性容器 private JPanel eventTabPane; private WidgetEventPane eventPane; @@ -52,11 +41,6 @@ public class CellWidgetCardPane extends BasicPane { public CellWidgetCardPane(ElementCasePane pane) { this.pane = pane; -// this.initComponents(pane); - } - - public BasicWidgetPropertySettingPane initBasicWidgetPropertyPane() { - return new BasicWidgetPropertySettingPane(); } @@ -88,16 +72,6 @@ public class CellWidgetCardPane extends BasicPane { tabsHeaderIconPane.setNeedLeftRightOutLine(false); this.add(tabsHeaderIconPane, BorderLayout.NORTH); - //数据字典 - dictTabPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - dictCardPane = FRGUIPaneFactory.createCardLayout_S_Pane(); - dictTabPane.add(dictCardPane, BorderLayout.CENTER); - dictCardLayout = new CardLayout(); - dictCardPane.setLayout(dictCardLayout); - - //构建树 - treeTabPane = FRGUIPaneFactory.createBorderLayout_L_Pane(); - widgetPropertyPane = new BasicWidgetPropertySettingPane(); UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Basic"), 280, 24, widgetPropertyPane); @@ -124,31 +98,12 @@ public class CellWidgetCardPane extends BasicPane { public void populate(Widget cellWidget) { initComponents(pane); -// super.populate(cellWidget); currentEditorDefinePane = null; - if (cellWidget instanceof NoneWidget) { -// this.tabbedPane.setEnabled(false); - } else { -// this.tabbedPane.setEnabled(true); - } - WidgetDefinePaneFactory.RN rn = WidgetDefinePaneFactory.createWidgetDefinePane(cellWidget, new Operator() { @Override public void did(DataCreatorUI ui, String cardName) { - if (ui == null) { - removeDictAttriPane(); - removeTreeAttriPane(); - } - if (ui instanceof DictionaryPane) { - removeDictAttriPane(); - removeTreeAttriPane(); - showDictPane(ui, cardName); - } else if (ui instanceof TreeSettingPane) { - removeDictAttriPane(); - removeTreeAttriPane(); - showTreePane(ui); - } + //todo } }); DataModify definePane = rn.getDefinePane(); @@ -160,19 +115,6 @@ public class CellWidgetCardPane extends BasicPane { tabsHeaderIconPane.setSelectedIndex(0); } - private void showDictPane(DataCreatorUI ui, String cardName) { - dictCardPane.removeAll(); - dictCardPane.add(ui.toSwingComponent(), cardName); - dictCardLayout.show(dictCardPane, cardName); - addDictAttriPane(); - } - - private void showTreePane(DataCreatorUI ui) { - treeTabPane.removeAll(); - treeTabPane.add(ui.toSwingComponent()); - addTreeAttriPane(); - } - public Widget update() { if (currentEditorDefinePane == null) { return null; @@ -182,7 +124,6 @@ public class CellWidgetCardPane extends BasicPane { return null; } widgetPropertyPane.update(widget); -// super.update(widget); Listener[] listener = eventPane == null ? new Listener[0] : eventPane.updateListeners(); widget.clearListeners(); @@ -203,28 +144,4 @@ public class CellWidgetCardPane extends BasicPane { eventPane.checkValid(); } - - private void addDictAttriPane() { - center.add(this.dictTabPane, Inter.getLocText("FR-Designer_DS_Dictionary")); - reInitHeaderPane(this.dictTabPane); - } - - private void addTreeAttriPane() { - center.add(this.dictTabPane, Inter.getLocText("FR-Designer_Create_Tree")); - reInitHeaderPane(this.treeTabPane); - } - - private void removeDictAttriPane() { - center.remove(this.dictTabPane); - } - - private void removeTreeAttriPane() { - center.remove(this.treeTabPane); - } - - private void reInitHeaderPane(JPanel jPanel) { - paneList.add(jPanel); -// tabsHeaderIconPane = new - } - } diff --git a/designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java b/designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java index 62ec8864b2..ca4ee8323b 100644 --- a/designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java +++ b/designer/src/com/fr/design/widget/ui/BasicWidgetPropertySettingPane.java @@ -25,6 +25,8 @@ public class BasicWidgetPropertySettingPane extends BasicPane { this.setLayout(new BorderLayout()); enableCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Visible"), true); visibleCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Widget-Visible"), true); + enableCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + visibleCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); widgetNameComboBox = new ParameterTreeComboBox(); widgetNameComboBox.refreshTree(); double f = TableLayout.FILL; diff --git a/designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java b/designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java index b7ead75f74..aaa116765f 100644 --- a/designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java +++ b/designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java @@ -39,6 +39,7 @@ public class ButtonGroupDictPane extends JPanel { dictPane = new AccessibleDictionaryEditor(); this.setLayout(FRGUIPaneFactory.createBorderLayout()); adaptiveCheckbox = new UICheckBox(Inter.getLocText("Adaptive"), true); + adaptiveCheckbox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); adaptiveCheckbox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { columnSpinner.setVisible(!adaptiveCheckbox.isSelected()); @@ -57,7 +58,7 @@ public class ButtonGroupDictPane extends JPanel { {adaptiveCheckbox, columnLabel, columnSpinner} }; JPanel panel = TableLayoutHelper.createGapTableLayoutPane(n_components, rowSize, columnSize, 16, 8); - panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 0)); this.add(panel); diff --git a/designer/src/com/fr/design/widget/ui/CheckBoxDictPane.java b/designer/src/com/fr/design/widget/ui/CheckBoxDictPane.java index 1dd028e6c3..355cb75085 100644 --- a/designer/src/com/fr/design/widget/ui/CheckBoxDictPane.java +++ b/designer/src/com/fr/design/widget/ui/CheckBoxDictPane.java @@ -1,14 +1,11 @@ package com.fr.design.widget.ui; import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import com.fr.design.gui.ibutton.UIHeadGroup; +import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ilable.UILabel; import javax.swing.JPanel; -import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.DictionaryComboBox; import com.fr.design.gui.icombobox.DictionaryConstants; import com.fr.design.layout.FRGUIPaneFactory; @@ -20,7 +17,7 @@ import com.fr.general.Inter; public class CheckBoxDictPane extends JPanel { private DictionaryComboBox delimiterComboBox; - private UIHeadGroup returnTypeComboBox; + private UIButtonGroup returnTypeComboBox; private DictionaryComboBox startComboBox; private DictionaryComboBox endComboBox; @@ -46,12 +43,7 @@ public class CheckBoxDictPane extends JPanel { endPane.add(new UILabel(Inter.getLocText("ComboCheckBox-End_Symbol") + ":"), BorderLayout.WEST); endPane.add(endComboBox = new DictionaryComboBox(DictionaryConstants.symbols, DictionaryConstants.symbolDisplays), BorderLayout.CENTER); endComboBox.setEditable(true); - returnTypeComboBox = new UIHeadGroup(new String[]{Inter.getLocText("Widget-Array"), Inter.getLocText("String")}){ - protected void tabChanged(int newSelectedIndex) { -// checkVisible(newSelectedIndex); - //todo - } - }; + returnTypeComboBox = new UIButtonGroup(new String[]{Inter.getLocText("Widget-Array"), Inter.getLocText("String")}); returnTypePane.add(returnTypeComboBox, BorderLayout.CENTER); JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane(new Component[][]{new Component[]{new UILabel(Inter.getLocText("Widget-Date_Selector_Return_Type") + ":"), returnTypePane}}, TableLayoutHelper.FILL_LASTCOLUMN, 18, 7); this.add(jPanel); diff --git a/designer/src/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java b/designer/src/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java index 3f6a407a99..bdb6cdc90a 100644 --- a/designer/src/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/CheckBoxGroupDefinePane.java @@ -4,23 +4,15 @@ import java.awt.*; import javax.swing.BorderFactory; import javax.swing.JPanel; - -import com.fr.data.Dictionary; import com.fr.design.data.DataCreatorUI; import com.fr.design.gui.icheckbox.UICheckBox; -import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.mainframe.widget.accessibles.AccessibleDictionaryEditor; -import com.fr.design.present.dict.DictionaryPane; -import com.fr.design.widget.ui.designer.component.FormWidgetValuePane; import com.fr.form.ui.CheckBoxGroup; import com.fr.general.Inter; public class CheckBoxGroupDefinePane extends FieldEditorDefinePane { - private AccessibleDictionaryEditor dictPane; - CheckBoxDictPane checkBoxDictPane; private UICheckBox checkbox; @@ -44,8 +36,8 @@ public class CheckBoxGroupDefinePane extends FieldEditorDefinePane e public JPanel setValidatePane(){ - JPanel otherContentPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); - otherContentPane.add(GUICoreUtils.createFlowPane(new JComponent[]{directWriteCheckBox}, FlowLayout.LEFT, 5)); + JPanel otherContentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + JPanel jPanel = GUICoreUtils.createFlowPane(new JComponent[]{directWriteCheckBox}, FlowLayout.LEFT, 0); + otherContentPane.add(jPanel, BorderLayout.NORTH); return otherContentPane; } diff --git a/designer/src/com/fr/design/widget/ui/FieldEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/FieldEditorDefinePane.java index a7da99e71e..6a646996f3 100644 --- a/designer/src/com/fr/design/widget/ui/FieldEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/FieldEditorDefinePane.java @@ -68,7 +68,6 @@ public abstract class FieldEditorDefinePane extends Abstr @Override public void populateBean(T ob) { this.allowBlankCheckBox.setSelected(ob.isAllowBlank()); -// errorMsgTextField.setEnabled(!allowBlankCheckBox.isSelected()); this.errorMsgTextField.setText(ob.getErrorMessage()); populateSubFieldEditorBean(ob); @@ -101,7 +100,7 @@ public abstract class FieldEditorDefinePane extends Abstr final UILabel uiLabel = new UILabel(Inter.getLocText(new String[]{"FR-Designer_Error", "FR-Designer_Tooltips"})); errorMsgTextField = new UITextField(10); allowBlankCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Null")); - allowBlankCheckBox.setBorder(BorderFactory.createEmptyBorder(5, 5, 0, 5)); + allowBlankCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); allowBlankCheckBox.setPreferredSize(new Dimension(ALLOW_BLANK_CHECK_BOX_WIDTH, ALLOW_BLANK_CHECK_BOX_HEIGHT)); allowBlankCheckBox.addItemListener(new ItemListener() { @@ -141,15 +140,6 @@ public abstract class FieldEditorDefinePane extends Abstr UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Validate"), 280, 24, validatePane); this.add(uiExpandablePane, BorderLayout.CENTER); - -// JPanel firstPane = GUICoreUtils.createFlowPane(new JComponent[]{allowBlankCheckBox}, FlowLayout.LEFT, 5); -// validatePane.add(firstPane); -// JPanel secondPane = new JPanel(FRGUIPaneFactory.createLabelFlowLayout()); -// secondPane.add(new UILabel("错误提示" + ":")); -// secondPane.add(errorMsgTextField); -// JPanel secondPane = GUICoreUtils.createFlowPane(new JComponent[]{new UILabel(Inter.getLocText(new String[]{"Error", "Tooltips"}) + ":"), errorMsgTextField}, FlowLayout.LEFT, 24); -// secondPane.setPreferredSize(new Dimension(400, 23)); -// validatePane.add(secondPane); } public JPanel setValidatePane() { diff --git a/designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java index 01d946be91..1969bff204 100644 --- a/designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java @@ -1,6 +1,6 @@ package com.fr.design.widget.ui; -import javax.swing.JPanel; +import javax.swing.*; import com.fr.data.Dictionary; import com.fr.design.data.DataCreatorUI; @@ -8,7 +8,6 @@ import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.widget.accessibles.AccessibleDictionaryEditor; -import com.fr.design.present.dict.DictionaryPane; import com.fr.form.ui.ListEditor; import com.fr.general.Inter; @@ -38,6 +37,7 @@ public class ListEditorDefinePane extends WriteUnableRepeatEditorPane JPanel contenter = new JPanel(new BorderLayout()); singleFileCheckBox = new UICheckBox(Inter.getLocText("SINGLE_FILE_UPLOAD")); + singleFileCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); acceptType = new DictionaryComboBox(DictionaryConstants.acceptTypes, DictionaryConstants.fileTypeDisplays); // acceptType.setPreferredSize(new Dimension(100, 20)); fileSizeField = new UISpinner(0, Integer.MAX_VALUE, 1, -1); diff --git a/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java index a955939f0e..56e35ba122 100644 --- a/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java @@ -3,15 +3,13 @@ package com.fr.design.widget.ui; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; + import javax.swing.BorderFactory; import javax.swing.JComponent; import javax.swing.JFormattedTextField; import com.fr.design.constants.LayoutConstants; -import com.fr.design.constants.UIConstants; import com.fr.design.gui.ilable.UILabel; import javax.swing.JPanel; @@ -172,6 +170,7 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane public JPanel setValidatePane() { this.allowDecimalsCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Decimals")); + allowDecimalsCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); this.decimalLength = new UIBasicSpinner(new SpinnerNumberModel(16, 0, Integer.MAX_VALUE, 1)); this.decimalLength.setPreferredSize(new Dimension(155, 20)); @@ -179,8 +178,10 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane this.allowNegativeCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Negative")); this.allowNegativeCheckBox.addActionListener(actionListener2); + allowNegativeCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); this.setMaxValueCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Max_Value"), false); + setMaxValueCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); this.maxValueSpinner = new UIBasicSpinner(maxValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D)); maxValueSpinner.setPreferredSize(new Dimension(155, 20)); @@ -190,6 +191,8 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane this.maxValueSpinner.addChangeListener(changeListener1); this.setMinValueCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Min_Value"), false); + setMinValueCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + this.minValueSpinner = new UIBasicSpinner(minValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D)); minValueSpinner.setPreferredSize(new Dimension(155, 20)); setNotAllowsInvalid(this.minValueSpinner); diff --git a/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java index 482f96c252..1ed4ada2f5 100644 --- a/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/TextFieldEditorDefinePane.java @@ -1,12 +1,14 @@ package com.fr.design.widget.ui; import com.fr.design.gui.frpane.RegPane; +import com.fr.design.layout.FRGUIPaneFactory; import com.fr.form.ui.TextEditor; import com.fr.form.ui.reg.RegExp; import com.fr.general.Inter; import com.fr.stable.StringUtils; import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; @@ -56,8 +58,10 @@ public class TextFieldEditorDefinePane extends FieldEditorDefinePane } }); - - return waterMarkDictPane; + JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); + jPanel.add(waterMarkDictPane, BorderLayout.CENTER); + waterMarkDictPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); + return jPanel; } public JPanel setValidatePane(){ diff --git a/designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java b/designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java index 1c0f8967a9..d5bdb2255b 100644 --- a/designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java +++ b/designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java @@ -5,9 +5,6 @@ import com.fr.design.gui.frpane.TreeSettingPane; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.itree.refreshabletree.TreeRootPane; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.FRLeftFlowLayout; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; import com.fr.form.ui.TreeEditor; import com.fr.general.Inter; diff --git a/designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java b/designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java index 1eef2b1646..521768114a 100644 --- a/designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java +++ b/designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java @@ -3,13 +3,11 @@ package com.fr.design.widget.ui; import java.awt.*; import java.awt.event.KeyListener; -import com.fr.design.constants.LayoutConstants; import com.fr.design.gui.ilable.UILabel; import javax.swing.*; 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.form.ui.WaterMark; diff --git a/designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java b/designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java index d292bb45de..ffcf947a93 100644 --- a/designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java +++ b/designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java @@ -6,7 +6,6 @@ import javax.swing.BorderFactory; import javax.swing.JPanel; import com.fr.design.gui.icheckbox.UICheckBox; -import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; @@ -25,6 +24,7 @@ public abstract class WriteUnableRepeatEditorPane { private ButtonBackgroundPane backgroundCompPane; @Override protected Component createCenterPane() { backgroundCompPane = new ButtonBackgroundPane(); - return TableLayoutHelper.createGapTableLayoutPane(new Component[][]{new Component[]{new UILabel(Inter.getLocText("FR-Designer_Background") + ":"), backgroundCompPane}}, TableLayoutHelper.FILL_LASTCOLUMN, 18, 7); + JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane(new Component[][]{new Component[]{new UILabel(Inter.getLocText("FR-Designer_Background") + ":"), backgroundCompPane}}, TableLayoutHelper.FILL_LASTCOLUMN, 18, 7); + jPanel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + return jPanel; } @Override diff --git a/designer_base/src/com/fr/design/gui/itextfield/UITextField.java b/designer_base/src/com/fr/design/gui/itextfield/UITextField.java index f6f6c3ae0c..71e6366baf 100644 --- a/designer_base/src/com/fr/design/gui/itextfield/UITextField.java +++ b/designer_base/src/com/fr/design/gui/itextfield/UITextField.java @@ -64,7 +64,6 @@ public class UITextField extends JTextField implements UIObserver, GlobalNameObs addFocusListener(new FocusListener() { @Override public void focusGained(FocusEvent e) { - attributeChange(); } @Override diff --git a/designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java b/designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java index 4ffc762e06..a71a3cbdb9 100644 --- a/designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java +++ b/designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java @@ -32,24 +32,32 @@ public class TreeRootPane extends BasicPane { JPanel checkTypePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0(); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); checkTypeCheckBox = new UICheckBox(Inter.getLocText("Tree-Mutiple_Selection_Or_Not")); + checkTypeCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + checkTypePane.add(checkTypeCheckBox); this.add(checkTypePane); JPanel loadTypePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0(); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); loadTypeCheckBox = new UICheckBox(Inter.getLocText("Widget-Load_By_Async")); + loadTypeCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + loadTypePane.add(loadTypeCheckBox); this.add(loadTypePane); JPanel leafSelectPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0(); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); leafSelectPane.add(layerTypeCheckBox = new UICheckBox(Inter.getLocText("Tree-Select_Leaf_Only"))); + layerTypeCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + this.add(leafSelectPane); JPanel returnFullPathPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0(); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); returnFullPathPane.add(returnFullPathCheckBox = new UICheckBox(Inter.getLocText("Tree-Return_Full_Path"))); - this.add(returnFullPathPane); + returnFullPathCheckBox.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + + this.add(returnFullPathPane); } diff --git a/designer_base/src/com/fr/design/widget/btn/ButtonWithHotkeysDetailPane.java b/designer_base/src/com/fr/design/widget/btn/ButtonWithHotkeysDetailPane.java index be85d1f004..3244a962e1 100644 --- a/designer_base/src/com/fr/design/widget/btn/ButtonWithHotkeysDetailPane.java +++ b/designer_base/src/com/fr/design/widget/btn/ButtonWithHotkeysDetailPane.java @@ -49,7 +49,7 @@ public abstract class ButtonWithHotkeysDetailPane extends Butt }; hotkeysTextField.setToolTipText(StableUtils.join(ButtonConstants.HOTKEYS, ",")); JPanel panel = TableLayoutHelper.createGapTableLayoutPane(n_components, rowSize, columnSize, 16, 8); - advancePane.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); advancePane.add(panel, BorderLayout.NORTH); Component comp = createCenterPane(); if(comp != null ) { diff --git a/designer_base/src/com/fr/design/widget/component/BackgroundCompPane.java b/designer_base/src/com/fr/design/widget/component/BackgroundCompPane.java index b2de5c511e..49a931a6bb 100644 --- a/designer_base/src/com/fr/design/widget/component/BackgroundCompPane.java +++ b/designer_base/src/com/fr/design/widget/component/BackgroundCompPane.java @@ -1,14 +1,13 @@ package com.fr.design.widget.component; import com.fr.design.dialog.BasicPane; -import com.fr.design.gui.ibutton.UIHeadGroup; +import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.widget.accessibles.AccessibleBackgroundEditor; import com.fr.form.ui.Widget; -import com.fr.general.Background; import com.fr.general.Inter; import javax.swing.*; @@ -18,11 +17,11 @@ import java.awt.*; * Created by ibm on 2017/8/6. */ public abstract class BackgroundCompPane extends BasicPane { - protected UIHeadGroup backgroundHead; + protected UIButtonGroup backgroundHead; protected AccessibleBackgroundEditor initalBackgroundEditor; protected AccessibleBackgroundEditor overBackgroundEditor; protected AccessibleBackgroundEditor clickBackgroundEditor; - + private JPanel panel; public BackgroundCompPane() { initComponent(); @@ -45,27 +44,23 @@ public abstract class BackgroundCompPane extends BasicPane { new Component[]{new UILabel(Inter.getLocText("FR-Designer_Background-Over")), overBackgroundEditor}, new Component[]{new UILabel(Inter.getLocText("FR-Designer_Background-Click")), clickBackgroundEditor}, }; - final JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 7, 7); + panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 7, 7); panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); - backgroundHead = new UIHeadGroup(titles){ - @Override - public void tabChanged(int index) { - //todo - if (index == 1) { - panel.setVisible(true); - }else{ - panel.setVisible(false); - } - } - }; + backgroundHead = new UIButtonGroup(titles); this.add(backgroundHead, BorderLayout.NORTH); this.add(panel, BorderLayout.CENTER); } - public abstract void update(T e); + public void update(T e){ + } + + public void populate(T e){ + } - public abstract void populate(T e); + public void switchCard(){ + panel.setVisible(backgroundHead.getSelectedIndex() == 1); + } } diff --git a/designer_base/src/com/fr/design/widget/component/ButtonBackgroundPane.java b/designer_base/src/com/fr/design/widget/component/ButtonBackgroundPane.java index 35f7d3a077..d1ebfe0b9a 100644 --- a/designer_base/src/com/fr/design/widget/component/ButtonBackgroundPane.java +++ b/designer_base/src/com/fr/design/widget/component/ButtonBackgroundPane.java @@ -25,6 +25,7 @@ public class ButtonBackgroundPane extends BackgroundCompPane { freeButton.setOverBackground((Background) overBackgroundEditor.getValue()); freeButton.setClickBackground((Background)clickBackgroundEditor.getValue()); } + switchCard(); } public void populate(FreeButton freeButton){ @@ -39,6 +40,7 @@ public class ButtonBackgroundPane extends BackgroundCompPane { overBackgroundEditor.setValue(freeButton.getOverBackground()); clickBackgroundEditor.setValue(freeButton.getClickBackground()); } + switchCard(); } protected String title4PopupWindow() { 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 49c5c68a03..37593b88d4 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 @@ -6,6 +6,7 @@ import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.gui.frpane.AttributeChangeListener; import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.FormDesigner; import com.fr.design.widget.DataModify; import com.fr.design.widget.Operator; @@ -214,6 +215,7 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { public void fireValueChanged() { designer.repaint(); + DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); } public String getIconPath() { diff --git a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxGroupDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxGroupDefinePane.java index 89397358a0..708a6dffa1 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxGroupDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/CheckBoxGroupDefinePane.java @@ -2,6 +2,7 @@ package com.fr.design.widget.ui.designer; import com.fr.design.data.DataCreatorUI; import com.fr.design.designer.creator.XCreator; +import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIHeadGroup; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; @@ -17,7 +18,7 @@ import java.awt.*; public class CheckBoxGroupDefinePane extends ButtonGroupDefinePane { private DictionaryPane dictPane; - private UIHeadGroup returnType; + private UIButtonGroup returnType; private UICheckBox checkbox; public CheckBoxGroupDefinePane(XCreator xCreator) { @@ -42,18 +43,7 @@ public class CheckBoxGroupDefinePane extends ButtonGroupDefinePane { private UICheckBox supportTagCheckBox; - private UIHeadGroup returnType; + private UIButtonGroup returnType; private UITextField waterMarkDictPane; private UICheckBox removeRepeatCheckBox; @@ -40,18 +41,7 @@ public class ComboCheckBoxDefinePane extends DictEditorDefinePane supportTagCheckBox = new UICheckBox(Inter.getLocText("Form-SupportTag"), true); final String[] tabTitles = new String[]{Inter.getLocText("Widget-Array"), Inter.getLocText("String")}; - returnType = new UIHeadGroup(tabTitles) { - @Override - public void tabChanged(int index) { - ComboCheckBox combo = (ComboCheckBox) creator.toData(); - //todo - if (index == 1) { - combo.setReturnString(true); - } else { - combo.setReturnString(false); - } - } - }; + returnType = new UIButtonGroup(tabTitles) ; double f = TableLayout.FILL; double p = TableLayout.PREFERRED; @@ -68,11 +58,7 @@ public class ComboCheckBoxDefinePane extends DictEditorDefinePane } protected void populateSubDictionaryEditorBean(ComboCheckBox ob){ - if (ob.isReturnString()) { - returnType.setSelectedIndex(1); - } else { - returnType.setSelectedIndex(0); - } + returnType.setSelectedIndex(ob.isReturnString() ? 1 : 0); waterMarkDictPane.setText(ob.getWaterMark()); formWidgetValuePane.populate(ob); this.supportTagCheckBox.setSelected(ob.isSupportTag()); @@ -81,6 +67,7 @@ public class ComboCheckBoxDefinePane extends DictEditorDefinePane protected ComboCheckBox updateSubDictionaryEditorBean(){ ComboCheckBox combo = (ComboCheckBox) creator.toData(); + combo.setReturnString(returnType.getSelectedIndex() == 1); formWidgetValuePane.update(combo); combo.setWaterMark(waterMarkDictPane.getText()); combo.setSupportTag(this.supportTagCheckBox.isSelected()); 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 885ede6fc5..ec735a9add 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 @@ -4,6 +4,7 @@ import com.fr.base.FRContext; import com.fr.base.Formula; import com.fr.data.core.FormatField; import com.fr.design.designer.creator.XCreator; +import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIHeadGroup; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; @@ -28,7 +29,7 @@ import java.text.SimpleDateFormat; import java.util.Date; public class DateEditorDefinePane extends DirectWriteEditorDefinePane { - private UIHeadGroup returnTypeComboBox; + private UIButtonGroup returnTypeComboBox; private DateValuePane startDv; private DateValuePane endDv; private WaterMarkDictPane waterMarkDictPane; @@ -55,11 +56,7 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane(new String[] {Inter.getLocText("Date") , Inter.getLocText("String")}); JPanel formatHead = createFormatHead(); startDv = new DateValuePane(); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/FormWidgetValuePane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/FormWidgetValuePane.java index 90a5894a2e..7b1339a304 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/component/FormWidgetValuePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/FormWidgetValuePane.java @@ -2,7 +2,7 @@ package com.fr.design.widget.ui.designer.component; import com.fr.design.constants.LayoutConstants; import com.fr.design.editor.editor.*; -import com.fr.design.gui.ibutton.UIHeadGroup; +import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.mainframe.widget.editors.DataBindingEditor; import com.fr.design.mainframe.widget.editors.DataTableEditor; import com.fr.design.mainframe.widget.editors.ServerDataBindingEditor; @@ -19,46 +19,48 @@ import java.awt.*; * Created by ibm on 2017/7/27. */ public class FormWidgetValuePane extends JPanel { - private UIHeadGroup widgetValueHead; + private UIButtonGroup widgetValueHead; private Editor[] editor; + private JPanel customPane; + private CardLayout cardLayout; public FormWidgetValuePane(Object o, boolean onlyServer) { DataControl widget = (DataControl) o; editor = createWidgetValueEditor(widget, onlyServer); this.setLayout(new BorderLayout(0, LayoutConstants.VGAP_SMALL)); - final CardLayout cardLayout = new CardLayout(); - final JPanel customPane = new JPanel(cardLayout); - final String [] tabTitles = new String[editor.length]; - for(int i = 0; i < editor.length; i++){ + cardLayout = new CardLayout(); + customPane = new JPanel(cardLayout); + final String[] tabTitles = new String[editor.length]; + for (int i = 0; i < editor.length; i++) { customPane.add(editor[i], editor[i].getName()); tabTitles[i] = editor[i].getName(); } - widgetValueHead = new UIHeadGroup(tabTitles) { - @Override - public void tabChanged(int index) { - //todo - attributeChange(index, customPane, cardLayout, tabTitles); - } - }; + widgetValueHead = new UIButtonGroup(tabTitles); this.add(widgetValueHead, BorderLayout.NORTH); this.add(customPane, BorderLayout.CENTER); } - public void attributeChange(int index, JPanel customPane, CardLayout cardLayout, String[] tabTitles){ - if (ComparatorUtils.equals(tabTitles[index], Inter.getLocText("FR-Designer_Widget_Field"))) { + public void attributeChange() { + int index = widgetValueHead.getSelectedIndex(); + if (index == -1) { + index = 0; + widgetValueHead.setSelectedIndex(index); + } + if (ComparatorUtils.equals(editor[index].getName(), Inter.getLocText("FR-Designer_Widget_Field"))) { customPane.setPreferredSize(new Dimension(100, 47)); } else { customPane.setPreferredSize(new Dimension(100, 20)); } - cardLayout.show(customPane, tabTitles[index]); + cardLayout.show(customPane, editor[index].getName()); } /** * 根据类型创建 - * @param type 类型 + * + * @param type 类型 * @param onlyServer 是否是服务器 * @return 编辑器 */ @@ -73,7 +75,7 @@ public class FormWidgetValuePane extends JPanel { case DataControl.TYPE_STRING: return new com.fr.design.editor.editor.TextEditor(); case DataControl.TYPE_BOOLEAN: - return new BooleanEditor(false); + return new BooleanEditor(false); case DataControl.TYPE_DATE: return new DateEditor(true, Inter.getLocText("Date")); case DataControl.TYPE_TABLEDATA: @@ -86,13 +88,14 @@ public class FormWidgetValuePane extends JPanel { /** * 用DataControl构建 - * @param data 数据 + * + * @param data 数据 * @param onlyServer 是否是服务器 * @return 编辑器 */ public static Editor[] createWidgetValueEditor(DataControl data, boolean onlyServer) { int types[] = data.getValueType(); - Editor[] editor = new Editor[types.length ]; + Editor[] editor = new Editor[types.length]; for (int i = 0; i < types.length; i++) { editor[i] = createWidgetValueEditorByType(types[i], onlyServer); @@ -101,6 +104,7 @@ public class FormWidgetValuePane extends JPanel { } public void update(DataControl ob) { + attributeChange(); int index = widgetValueHead.getSelectedIndex(); Editor e = editor[index]; Object value = e.getValue(); @@ -109,18 +113,18 @@ public class FormWidgetValuePane extends JPanel { public void populate(DataControl ob) { WidgetValue widgetValue = ob.getWidgetValue(); - if(widgetValue == null){ - return; - } - for (int i = 0; i < editor.length; i++) { - if (editor[i].accept(widgetValue.getValue())) { - setCardValue(i, widgetValue.getValue()); - break; + if (widgetValue != null) { + for (int i = 0; i < editor.length; i++) { + if (editor[i].accept(widgetValue.getValue())) { + setCardValue(i, widgetValue.getValue()); + break; + } } } + attributeChange(); } - private void setCardValue(int i, Object object){ + private void setCardValue(int i, Object object) { widgetValueHead.setSelectedIndex(i); editor[i].setValue(object); // kunsnat: bug7861 所有的Editor值都要跟随改变, 因为populate的editor 从"" diff --git a/designer_form/src/com/fr/design/widget/ui/designer/component/TabFitLayoutBackgroundPane.java b/designer_form/src/com/fr/design/widget/ui/designer/component/TabFitLayoutBackgroundPane.java index 2fde734f57..b52069b570 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/component/TabFitLayoutBackgroundPane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/component/TabFitLayoutBackgroundPane.java @@ -26,6 +26,7 @@ public class TabFitLayoutBackgroundPane extends BackgroundCompPane