diff --git a/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java b/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java index 60f45450c..e0a2cf441 100644 --- a/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java +++ b/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java @@ -2,18 +2,14 @@ package com.fr.design.mainframe; import com.fr.base.FRContext; import com.fr.design.actions.utils.ReportActionUtils; -import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.present.CellWriteAttrPane; import com.fr.design.widget.WidgetPane; import com.fr.form.ui.NoneWidget; import com.fr.form.ui.Widget; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; -import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.privilege.finegrain.WidgetPrivilegeControl; import com.fr.report.cell.CellElement; @@ -34,7 +30,7 @@ public class CellWidgetPropertyPane extends BasicPane { private WidgetPane cellEditorDefPane; private ElementCasePane ePane; - public static CellWidgetPropertyPane getInstance(){ + public static CellWidgetPropertyPane getInstance() { if (singleton == null) { singleton = new CellWidgetPropertyPane(); } @@ -43,11 +39,9 @@ public class CellWidgetPropertyPane extends BasicPane { public CellWidgetPropertyPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); -// this.addAttributeChangeListener(listener); -// cellEditorDefPane = new WidgetPane(elementCasePane); } - public void clear (){ + public void clear() { singleton = null; } @@ -86,7 +80,7 @@ public class CellWidgetPropertyPane extends BasicPane { } - public void reInit(ElementCasePane ePane){ + public void reInit(ElementCasePane ePane) { this.ePane = ePane; cellEditorDefPane = new WidgetPane(ePane); this.removeAll(); @@ -97,7 +91,6 @@ public class CellWidgetPropertyPane extends BasicPane { TemplateCellElement editCellElement = tplEC.getTemplateCellElement(cs.getColumn(), cs.getRow()); if (editCellElement == null) { editCellElement = new DefaultTemplateCellElement(cs.getColumn(), cs.getRow()); - tplEC.addCellElement(editCellElement); } this.cellElement = editCellElement; this.populate(editCellElement); @@ -129,6 +122,7 @@ public class CellWidgetPropertyPane extends BasicPane { } } }); + DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); } @@ -144,14 +138,15 @@ public class CellWidgetPropertyPane extends BasicPane { return newWidget; } - @Override /** - *检测是否有效 + * 检测是否有效 + * + * @throws Exception e */ + @Override public void checkValid() throws Exception { this.cellEditorDefPane.checkValid(); } - } \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/cell/CellEditorPane.java b/designer/src/com/fr/design/mainframe/cell/CellEditorPane.java index 48b6d8a17..6fbf73dc0 100644 --- a/designer/src/com/fr/design/mainframe/cell/CellEditorPane.java +++ b/designer/src/com/fr/design/mainframe/cell/CellEditorPane.java @@ -1,6 +1,15 @@ package com.fr.design.mainframe.cell; -import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.iscrollbar.UIScrollBar; +import com.fr.design.mainframe.CellElementPropertyPane; +import com.fr.quickeditor.cellquick.CellElementBarLayout; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.AdjustmentEvent; +import java.awt.event.AdjustmentListener; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; /** * 右侧单元格元素面板抽象类 @@ -9,7 +18,20 @@ import com.fr.design.dialog.BasicPane; * @version 2017年7月25日 * @since 9.0 */ -public abstract class CellEditorPane extends BasicPane { +public abstract class CellEditorPane extends JPanel { + + /*滚动条相关配置*/ + private static final int MAXVALUE = 100; + private static final int TITLE_HEIGHT = 95; + private static final int CONTENT_PANE_WIDTH_GAP = 3; + private static final int SCROLLBAR_WIDTH = 7; + private static final int MOUSE_WHEEL_SPEED = 5; + private int maxHeight = 280; + + private JPanel leftContentPane; + private UIScrollBar scrollBar; + + protected abstract JPanel createContentPane(); public abstract String getIconPath(); @@ -22,7 +44,76 @@ public abstract class CellEditorPane extends BasicPane { /** * 更新面板数据 - * */ public abstract void populate(); + + protected void createScrollPane() { + leftContentPane = this.createContentPane(); + this.prepareScrollBar(); + leftContentPane.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 0, this.getBackground())); + + this.setLayout(new CellElementBarLayout(leftContentPane) { + @Override + public void layoutContainer(Container parent) { + maxHeight = CellElementPropertyPane.getInstance().getHeight() - TITLE_HEIGHT; + int beginY; + if ((MAXVALUE - scrollBar.getVisibleAmount()) == 0) { + beginY = 0; + } else { + int preferredHeight = leftContentPane.getPreferredSize().height; + int value = scrollBar.getValue(); + beginY = value * (preferredHeight - maxHeight) / (MAXVALUE - scrollBar.getVisibleAmount()); + } + int width = parent.getWidth(); + int height = parent.getHeight(); + if (leftContentPane.getPreferredSize().height > maxHeight) { + leftContentPane.setBounds(0, -beginY, width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, height + beginY); + scrollBar.setBounds(width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, 0, SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP, height); + } else { + leftContentPane.setBounds(0, 0, width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, height); + } + } + }); + this.add(scrollBar); + this.add(leftContentPane); + } + + + private void prepareScrollBar() { + scrollBar = new UIScrollBar(UIScrollBar.VERTICAL) { + @Override + public int getVisibleAmount() { + int preferredHeight = leftContentPane.getPreferredSize().height; + int e = MAXVALUE * (maxHeight) / preferredHeight; + setVisibleAmount(e); + return e; + } + + @Override + public int getMaximum() { + return MAXVALUE; + } + }; + + scrollBar.addAdjustmentListener(new AdjustmentListener() { + + @Override + public void adjustmentValueChanged(AdjustmentEvent e) { + doLayout(); + } + }); + this.addMouseWheelListener(new MouseWheelListener() { + + @Override + public void mouseWheelMoved(MouseWheelEvent e) { + int value = scrollBar.getValue(); + value += MOUSE_WHEEL_SPEED * e.getWheelRotation(); + scrollBar.setValue(value); + doLayout(); + } + }); + scrollBar.setPreferredSize(new Dimension(SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP, this.getHeight())); + scrollBar.setBlockIncrement(SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP); + scrollBar.setBorder(BorderFactory.createMatteBorder(0, CONTENT_PANE_WIDTH_GAP, 0, 0, this.getBackground())); + } } diff --git a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java index 961c88d10..6eac1c571 100644 --- a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java +++ b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java @@ -80,7 +80,6 @@ public class ConditionAttributesGroupPane extends UIListControlPane { editCellElement = tplEC.getTemplateCellElement(cs.getColumn(), cs.getRow()); if (editCellElement == null) { editCellElement = new DefaultTemplateCellElement(cs.getColumn(), cs.getRow()); - tplEC.addCellElement(editCellElement); } SheetUtils.calculateDefaultParent(tplEC); // 不知道这行代码的作用,怕去掉之后会出问题,先放在这里 diff --git a/designer/src/com/fr/design/widget/WidgetPane.java b/designer/src/com/fr/design/widget/WidgetPane.java index fdfba03a2..593bf2197 100644 --- a/designer/src/com/fr/design/widget/WidgetPane.java +++ b/designer/src/com/fr/design/widget/WidgetPane.java @@ -12,7 +12,6 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.CellWidgetPropertyPane; -import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.ElementCasePane; import com.fr.design.widget.btn.ButtonConstants; import com.fr.form.ui.Button; @@ -66,7 +65,7 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener this.addAttributeChangeListener(listener); } - public JPanel initNorthPane(){ + public JPanel initNorthPane() { UILabel emptyLabel = new UILabel(); emptyLabel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); @@ -81,7 +80,7 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener return jPanel; } - protected CellWidgetCardPane initWidgetCardPane(ElementCasePane pane){ + protected CellWidgetCardPane initWidgetCardPane(ElementCasePane pane) { return new CellWidgetCardPane(pane); } @@ -94,7 +93,6 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener @Override public void attributeChange() { CellWidgetPropertyPane.getInstance().update(); - DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); } }; @@ -131,30 +129,29 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener editorTypeComboBox.setSelectedIndex(-1); return; } - + // 预定义组件 if (widget instanceof NameWidget) { String name = ((NameWidget) widget).getName(); shouldFireSelectedEvent = false; editorTypeComboBox.setSelectedItem(new Item(name, name)); shouldFireSelectedEvent = true; cellEditorCardPane.populate(widget); - return; } + // 内置组件 + else { + Class clazz = widget.getClass(); + if (ArrayUtils.contains(ButtonConstants.CLASSES4BUTTON, clazz)) { + clazz = Button.class; + } + cellEditorCardPane.populate(widget); - Class clazz = widget.getClass(); - if (ArrayUtils.contains(ButtonConstants.CLASSES4BUTTON, clazz)) { - clazz = Button.class; + shouldFireSelectedEvent = false; + editorTypeComboBox.setSelectedItemByWidgetClass(clazz); + shouldFireSelectedEvent = true; } - cellEditorCardPane.populate(widget); - - shouldFireSelectedEvent = false; - editorTypeComboBox.setSelectedItemByWidgetClass(clazz); - shouldFireSelectedEvent = true; - removeAttributeChangeListener(); initAllListeners(); this.addAttributeChangeListener(listener); - } public Widget update() { diff --git a/designer/src/com/fr/quickeditor/CellQuickEditor.java b/designer/src/com/fr/quickeditor/CellQuickEditor.java index 6f0530a70..a3cd54643 100644 --- a/designer/src/com/fr/quickeditor/CellQuickEditor.java +++ b/designer/src/com/fr/quickeditor/CellQuickEditor.java @@ -18,6 +18,7 @@ import com.fr.design.menu.ShortCut; import com.fr.design.selection.QuickEditor; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; +import com.fr.quickeditor.cellquick.CellElementBarLayout; import com.fr.report.cell.TemplateCellElement; import com.fr.stable.ColumnRow; @@ -33,34 +34,145 @@ import java.util.ArrayList; */ public abstract class CellQuickEditor extends QuickEditor { + + /*面板配置*/ + protected UITextField columnRowTextField; + protected TemplateCellElement cellElement; + /*占位label*/ + protected static final Dimension LABEL_DIMENSION = new Dimension(60, 20); + protected static final UILabel EMPTY_LABEL = new UILabel(); + protected static final int VGAP = 10, HGAP = 8, VGAP_INNER = 3; + + static { + EMPTY_LABEL.setPreferredSize(LABEL_DIMENSION); + } + /*滚动条相关配置*/ private static final int MAXVALUE = 100; - private static final int TITLE_HEIGHT = 50; + private static final int CONTENT_PANE_WIDTH_GAP = 3; private static final int MOUSE_WHEEL_SPEED = 5; - private static final int CONTENT_PANE_WIDTH_GAP = 4; - private static final int SCROLLBAR_WIDTH = 8; + private static final int SCROLLBAR_WIDTH = 7; private int maxHeight = 280; - /*面板配置*/ - protected UITextField columnRowTextField; - protected TemplateCellElement cellElement; + private static final int TITLE_HEIGHT = 50; + private UIComboBox comboBox; private UpdateAction[] cellInsertActions; private int selectedIndex; + private int currentSelectedIndex; private JPanel leftContentPane; private UIScrollBar scrollBar; - /*占位label*/ - protected static UILabel emptyLabel = new UILabel(); - private int currentSelectedIndex; + public CellQuickEditor() { + double p = TableLayout.PREFERRED; + double f = TableLayout.FILL; + double[] columnSize = {p, f}; + double[] rowSize = {p, p}; + JComponent centerBody = createCenterBody(); + JPanel topContent = initTopContent(); + if (isScrollAll()) { + prepareScrollBar(); + topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 0, this.getBackground())); + centerBody.setBorder(BorderFactory.createMatteBorder(0, 10, 0, 0, this.getBackground())); + Component[][] components = new Component[][]{ + new Component[]{topContent, null}, + new Component[]{centerBody, null} + }; + leftContentPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); + this.setLayout(new CellElementBarLayout(leftContentPane) { + @Override + public void layoutContainer(Container parent) { + maxHeight = CellElementPropertyPane.getInstance().getHeight() - TITLE_HEIGHT; + int beginY; + if ((MAXVALUE - scrollBar.getVisibleAmount()) == 0) { + beginY = 0; + } else { + int preferredHeight = leftContentPane.getPreferredSize().height; + int value = scrollBar.getValue(); + beginY = value * (preferredHeight - maxHeight) / (MAXVALUE - scrollBar.getVisibleAmount()); + } + int width = parent.getWidth(); + int height = parent.getHeight(); + if (leftContentPane.getPreferredSize().height > maxHeight) { + leftContentPane.setBounds(0, -beginY, width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, height + beginY); + scrollBar.setBounds(width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, 0, SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP, height); + } else { + leftContentPane.setBounds(0, 0, width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, height); + } + leftContentPane.validate(); + } + }); + this.add(scrollBar); + this.add(leftContentPane); + } else { + topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 10, this.getBackground())); + centerBody.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 0, this.getBackground())); + Component[][] components = new Component[][]{ + new Component[]{topContent, null}, + new Component[]{centerBody, null} + }; + this.setLayout(new BorderLayout()); + this.add(TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP), BorderLayout.CENTER); + } + } - static { - emptyLabel.setPreferredSize(new Dimension(60, 20)); + /** + * 初始化详细信息面板 + * + * @return JComponent 待显示的详细信息面板 + */ + public abstract JComponent createCenterBody(); + + /** + * 是否全局具有滚动条 + * + * @return boolean 是否全局具有滚动条 + */ + public abstract boolean isScrollAll(); + + + /** + * 初始化下拉框中的类型 + * + * @return JComponent 待显示的详细信息面板 + */ + public abstract Object getComboBoxSelected(); + + /** + * 刷新 + */ + @Override + protected void refresh() { + CellSelection cs = (CellSelection) tc.getSelection(); + ColumnRow columnRow = ColumnRow.valueOf(cs.getColumn(), cs.getRow()); + columnRowTextField.setText(columnRow.toString()); + cellElement = tc.getEditingElementCase().getTemplateCellElement(cs.getColumn(), cs.getRow()); + refreshDetails(); } - protected static final int VGAP = 10, HGAP = 8, VGAP_INNER = 3; + /** + * 刷新详细信息 + */ + protected abstract void refreshDetails(); - public CellQuickEditor() { + private JPanel initTopContent() { + double p = TableLayout.PREFERRED; + double f = TableLayout.FILL; + double[] columnSize = {p, f}; + double[] rowSize = {p, p}; + UILabel cellLabel = new UILabel(Inter.getLocText("FR-Designer_Cell")); + cellLabel.setPreferredSize(LABEL_DIMENSION); + UILabel insertContentLabel = new UILabel(Inter.getLocText("FR-Designer_Insert_Cell_Element")); + insertContentLabel.setPreferredSize(LABEL_DIMENSION); + UIComboBox cellElementEditComboBox = initCellElementEditComboBox(); + Component[][] components = new Component[][]{ + new Component[]{cellLabel, columnRowTextField = initColumnRowTextField()}, + new Component[]{insertContentLabel, cellElementEditComboBox}, + }; + return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); + } + + private void prepareScrollBar() { scrollBar = new UIScrollBar(UIScrollBar.VERTICAL) { @Override public int getVisibleAmount() { @@ -74,7 +186,6 @@ public abstract class CellQuickEditor extends QuickEditor { public int getMaximum() { return MAXVALUE; } - }; scrollBar.addAdjustmentListener(new AdjustmentListener() { @@ -95,43 +206,11 @@ public abstract class CellQuickEditor extends QuickEditor { } }); - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p, f}; - double[] rowSize = {p, p}; - JComponent centerBody = createCenterBody(); - centerBody.setBorder(BorderFactory.createMatteBorder(0, 10, 0, 0, this.getBackground())); - Component[][] components = new Component[][]{ - new Component[]{initTopContent(), null}, - new Component[]{centerBody, null} - }; - leftContentPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); - this.setLayout(new BarLayout()); - this.add(scrollBar); - this.add(leftContentPane); - } - - - private JPanel initTopContent() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p, f}; - double[] rowSize = {p, p}; - UILabel cellLabel = new UILabel(Inter.getLocText("Cell")); - cellLabel.setPreferredSize(new Dimension(60, 20)); - UILabel insertContentLabel = new UILabel(Inter.getLocText("HF-Insert_Content")); - insertContentLabel.setPreferredSize(new Dimension(60, 20)); - UIComboBox cellElementEditComboBox = initCellElementEditComboBox(); - Component[][] components = new Component[][]{ - new Component[]{cellLabel, columnRowTextField = initColumnRowTextField()}, - new Component[]{insertContentLabel, cellElementEditComboBox}, - }; - JPanel topContent = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); - topContent.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 0)); - return topContent; + scrollBar.setPreferredSize(new Dimension(SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP, this.getHeight())); + scrollBar.setBlockIncrement(SCROLLBAR_WIDTH + CONTENT_PANE_WIDTH_GAP); + scrollBar.setBorder(BorderFactory.createMatteBorder(0, CONTENT_PANE_WIDTH_GAP, 0, 0, this.getBackground())); } - /** * 初始化添加按钮 * @@ -206,88 +285,4 @@ public abstract class CellQuickEditor extends QuickEditor { }); return columnRowTextField; } - - - /** - * 初始化详细信息面板 - * - * @return JComponent 待显示的详细信息面板 - */ - public abstract JComponent createCenterBody(); - - - /** - * 初始化下拉框中的类型 - * - * @return JComponent 待显示的详细信息面板 - */ - public abstract Object getComboBoxSelected(); - - /** - * 刷新 - */ - @Override - protected void refresh() { - CellSelection cs = (CellSelection) tc.getSelection(); - ColumnRow columnRow = ColumnRow.valueOf(cs.getColumn(), cs.getRow()); - columnRowTextField.setText(columnRow.toString()); - cellElement = tc.getEditingElementCase().getTemplateCellElement(cs.getColumn(), cs.getRow()); - refreshDetails(); - } - - /** - * 刷新详细信息 - */ - protected abstract void refreshDetails(); - - /** - * 属性面板的滚动条和内容区域的布局管理类 - * yaoh.wu 由于这边不能继承{@link com.fr.design.mainframe.AbstractAttrPane.BarLayout},所以冗余了一份滚动条代码进来 - * - * @see com.fr.design.mainframe.AbstractAttrPane.BarLayout - */ - protected class BarLayout implements LayoutManager { - - @Override - public void addLayoutComponent(String name, Component comp) { - - } - - @Override - public void removeLayoutComponent(Component comp) { - - } - - @Override - public Dimension preferredLayoutSize(Container parent) { - return leftContentPane.getPreferredSize(); - } - - @Override - public Dimension minimumLayoutSize(Container parent) { - return leftContentPane.getMinimumSize(); - } - - @Override - public void layoutContainer(Container parent) { - maxHeight = CellElementPropertyPane.getInstance().getHeight() - TITLE_HEIGHT; - int beginY; - if ((MAXVALUE - scrollBar.getVisibleAmount()) == 0) { - beginY = 0; - } else { - int preferredHeight = leftContentPane.getPreferredSize().height; - int value = scrollBar.getValue(); - beginY = value * (preferredHeight - maxHeight) / (MAXVALUE - scrollBar.getVisibleAmount()); - } - int width = parent.getWidth(); - int height = parent.getHeight(); - if (leftContentPane.getPreferredSize().height > maxHeight) { - leftContentPane.setBounds(0, -beginY, width - scrollBar.getWidth() - CONTENT_PANE_WIDTH_GAP, height + beginY); - scrollBar.setBounds(width - scrollBar.getWidth() - 1, 0, scrollBar.getWidth(), height); - } else { - leftContentPane.setBounds(0, 0, width - SCROLLBAR_WIDTH - CONTENT_PANE_WIDTH_GAP, height); - } - leftContentPane.validate(); - } - } } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java index c17ac8678..8347f6d0d 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java @@ -35,7 +35,7 @@ public class CellBiasTextPainterEditor extends CellQuickEditor { }); editButton.setOpaque(false); content.add(TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ - new Component[]{emptyLabel, editButton}}, + new Component[]{EMPTY_LABEL, editButton}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}, HGAP, VGAP), BorderLayout.CENTER); return content; @@ -68,4 +68,9 @@ public class CellBiasTextPainterEditor extends CellQuickEditor { protected void refreshDetails() { } + @Override + public boolean isScrollAll() { + return true; + } + } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java index 2c1a30c11..4ea7a138c 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java @@ -98,6 +98,11 @@ public class CellDSColumnEditor extends CellQuickEditor { return centerPane; } + @Override + public boolean isScrollAll() { + return false; + } + /** * 内容全部重新动态生成,不然容易出错 * 刷新详细信息面板 @@ -158,9 +163,11 @@ public class CellDSColumnEditor extends CellQuickEditor { paneList = new ArrayList<>(); /*基本设置面板*/ DSColumnBasicEditorPane cellDSColumnBasicPane = new DSColumnBasicEditorPane(); + paneList.add(cellDSColumnBasicPane); /*高级设置面板*/ cellDSColumnAdvancedPane = new DSColumnAdvancedEditorPane(); + paneList.add(cellDSColumnAdvancedPane); } @@ -209,7 +216,6 @@ public class CellDSColumnEditor extends CellQuickEditor { }; DSColumnBasicEditorPane() { - this.setLayout(new BorderLayout()); dataPane = new SelectedDataColumnPane(true, true, tc, cellElement); groupPane = new ResultSetGroupDockingPane(tc); dataPane.addListener(dataListener); @@ -217,7 +223,7 @@ public class CellDSColumnEditor extends CellQuickEditor { double[] rowSize = {P}, columnSize = {P, F}; UILabel uiLabel = new UILabel(Inter.getLocText("FR-Designer_Filter_Conditions")); - uiLabel.setPreferredSize(new Dimension(60, 20)); + uiLabel.setPreferredSize(LABEL_DIMENSION); UIButton uiButton = new UIButton(); if (tc != null) { //第一次初始化时tc为空,会引发NullPointerException @@ -231,8 +237,9 @@ public class CellDSColumnEditor extends CellQuickEditor { new Component[]{uiLabel, uiButton} }; conditionPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); - this.add(this.createContentPane(), BorderLayout.CENTER); + this.createScrollPane(); this.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + } @@ -265,7 +272,7 @@ public class CellDSColumnEditor extends CellQuickEditor { * * @return content JPanel */ - private JPanel createContentPane() { + protected JPanel createContentPane() { double[] columnSize = {F}; double[] rowSize = {P, P, P}; @@ -303,9 +310,8 @@ public class CellDSColumnEditor extends CellQuickEditor { public DSColumnAdvancedEditorPane() { - this.setLayout(new BorderLayout()); - this.add(this.createContentPane(), BorderLayout.CENTER); this.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + this.createScrollPane(); } @@ -415,7 +421,7 @@ public class CellDSColumnEditor extends CellQuickEditor { * * @return 内容面板 */ - private JPanel createContentPane() { + protected JPanel createContentPane() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); //结果集排序 sortPane = new ResultSetSortConfigPane(); @@ -481,14 +487,13 @@ public class CellDSColumnEditor extends CellQuickEditor { multiNumSpinner = new UISpinner(1, 10000, 1, 1); //数据倍数 UILabel multipleLabel = new UILabel(Inter.getLocText("Column_Multiple")); - multipleLabel.setPreferredSize(new Dimension(60, 20)); multiPane = TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ new Component[]{ multipleLabel, multiNumSpinner } }, new double[]{P}, new double[]{P, F}, HGAP, VGAP ); - multiPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + multiPane.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); multiNumPane.add(multiPane); useMultiplyNumCheckBox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -563,7 +568,7 @@ public class CellDSColumnEditor extends CellQuickEditor { centerPane.add(new JPanel(), "none"); centerPane.add(formulaField, "content"); UILabel sortLabel = new UILabel(Inter.getLocText("Sort-Sort_Order")); - sortLabel.setPreferredSize(new Dimension(60, 20)); + sortLabel.setPreferredSize(LABEL_DIMENSION); sortTypePane.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { @@ -982,7 +987,7 @@ public class CellDSColumnEditor extends CellQuickEditor { public CustomValuePane() { this.setLayout(new BorderLayout()); UILabel customValueLabel = new UILabel(Inter.getLocText("FR-Designer_Display_Value")); - customValueLabel.setPreferredSize(new Dimension(60, 20)); + customValueLabel.setPreferredSize(LABEL_DIMENSION); formulaField = new JFormulaField(DEFAULT_VALUE); this.add(TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ new Component[]{customValueLabel, formulaField}, @@ -994,14 +999,13 @@ public class CellDSColumnEditor extends CellQuickEditor { Object value = cellElement.getValue(); if (value != null && value instanceof DSColumn) { DSColumn dSColumn = (DSColumn) value; - //formula String valueFormula = dSColumn.getResult(); - if (valueFormula == null) { - valueFormula = DEFAULT_VALUE; + if (valueFormula != null) { + formulaField.populate(valueFormula); } formulaField.populateElement(cellElement); - formulaField.populate(valueFormula); + } } } diff --git a/designer/src/com/fr/quickeditor/cellquick/CellElementBarLayout.java b/designer/src/com/fr/quickeditor/cellquick/CellElementBarLayout.java new file mode 100644 index 000000000..c9714bc46 --- /dev/null +++ b/designer/src/com/fr/quickeditor/cellquick/CellElementBarLayout.java @@ -0,0 +1,41 @@ +package com.fr.quickeditor.cellquick; + +import javax.swing.*; +import java.awt.*; + +/** + * 单元格元素面板的滚动条 + * + * @see com.fr.design.mainframe.AbstractAttrPane.BarLayout + */ +public abstract class CellElementBarLayout implements LayoutManager { + + private JPanel leftContentPane; + + protected CellElementBarLayout(JPanel leftContentPane) { + this.leftContentPane = leftContentPane; + } + + @Override + public void addLayoutComponent(String name, Component comp) { + + } + + @Override + public void removeLayoutComponent(Component comp) { + + } + + @Override + public Dimension preferredLayoutSize(Container parent) { + return leftContentPane.getPreferredSize(); + } + + @Override + public Dimension minimumLayoutSize(Container parent) { + return leftContentPane.getMinimumSize(); + } + + @Override + public abstract void layoutContainer(Container parent); +} \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java index fcd16a676..7d245434c 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java @@ -121,7 +121,7 @@ public class CellFormulaQuickEditor extends CellQuickEditor { content.add(pane, BorderLayout.NORTH); return TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ - new Component[]{emptyLabel, content}}, + new Component[]{EMPTY_LABEL, content}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}, HGAP, VGAP); } @@ -203,4 +203,9 @@ public class CellFormulaQuickEditor extends CellQuickEditor { formulaTextField.getDocument().addDocumentListener(documentListener); } + @Override + public boolean isScrollAll() { + return true; + } + } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java index 51b7417ac..d33ff1828 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java @@ -43,7 +43,7 @@ public class CellImageQuickEditor extends CellQuickEditor { }); editButton.setOpaque(false); content.add(TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ - new Component[]{emptyLabel, editButton}}, + new Component[]{EMPTY_LABEL, editButton}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}, HGAP, VGAP), BorderLayout.CENTER); return content; @@ -72,6 +72,11 @@ public class CellImageQuickEditor extends CellQuickEditor { } + @Override + public boolean isScrollAll() { + return true; + } + @Override public Object getComboBoxSelected() { return ActionFactory.createAction(ImageCellAction.class); diff --git a/designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java index 8f8afbeed..1c0bdd04d 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java @@ -30,7 +30,7 @@ public class CellRichTextEditor extends CellQuickEditor { richTextButton = new UIButton(); richTextButton.setOpaque(false); content.add(TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ - new Component[]{emptyLabel, richTextButton}}, + new Component[]{EMPTY_LABEL, richTextButton}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}, HGAP, VGAP), BorderLayout.CENTER); return content; @@ -49,4 +49,9 @@ public class CellRichTextEditor extends CellQuickEditor { richTextButton.setAction(subReportCellAction); } + @Override + public boolean isScrollAll() { + return true; + } + } \ No newline at end of file diff --git a/designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java index c82a3883d..bd5ea60d1 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java @@ -90,6 +90,11 @@ public class CellStringQuickEditor extends CellQuickEditor { return content; } + @Override + public boolean isScrollAll() { + return true; + } + private void changeReportPaneCell(String tmpText) { isEditing = true; diff --git a/designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java b/designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java index e28bdbf39..be34789f9 100644 --- a/designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java +++ b/designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java @@ -31,7 +31,7 @@ public class CellSubReportEditor extends CellQuickEditor { subReportButton = new UIButton(); subReportButton.setOpaque(false); content.add(TableLayoutHelper.createGapTableLayoutPane(new Component[][]{ - new Component[]{emptyLabel, subReportButton}}, + new Component[]{EMPTY_LABEL, subReportButton}}, new double[]{TableLayout.PREFERRED}, new double[]{TableLayout.PREFERRED, TableLayout.FILL}, HGAP, VGAP), BorderLayout.CENTER); return content; @@ -50,4 +50,8 @@ public class CellSubReportEditor extends CellQuickEditor { return ActionFactory.createAction(SubReportCellAction.class); } + @Override + public boolean isScrollAll() { + return true; + } } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/condition/LiteConditionPane.java b/designer_base/src/com/fr/design/condition/LiteConditionPane.java index d6e4a2af4..33f2e30c8 100644 --- a/designer_base/src/com/fr/design/condition/LiteConditionPane.java +++ b/designer_base/src/com/fr/design/condition/LiteConditionPane.java @@ -4,6 +4,7 @@ import com.fr.base.BaseUtils; import com.fr.base.Formula; import com.fr.data.DataConstants; import com.fr.data.condition.*; +import com.fr.data.core.Compare; import com.fr.design.beans.BasicBeanPane; import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.formula.FormulaFactory; @@ -21,6 +22,7 @@ import com.fr.general.ComparatorUtils; import com.fr.general.FRLogger; import com.fr.general.Inter; import com.fr.general.data.Condition; +import com.fr.stable.StringUtils; import javax.swing.*; import javax.swing.event.TreeExpansionEvent; @@ -165,6 +167,9 @@ public abstract class LiteConditionPane extends BasicBeanPa TreePath selectedTreePath = conditionsTree.getSelectionPath(); if (selectedTreePath == null) { + // 清空编辑框 + defaultConditionPane.populateBean((T)new ObjectCondition(new Compare(Compare.EQUALS, StringUtils.EMPTY))); + formulaTextArea.setText(StringUtils.EMPTY); return; } diff --git a/designer_base/src/com/fr/design/locale/designer.properties b/designer_base/src/com/fr/design/locale/designer.properties index c048d29c5..9828576f5 100644 --- a/designer_base/src/com/fr/design/locale/designer.properties +++ b/designer_base/src/com/fr/design/locale/designer.properties @@ -71,7 +71,7 @@ FR-Designer_Button-Icon= FR-Designer_Button-Name= FR-Designer_Button-Type= FR-Designer_CardLayout= -FR-Designer_Cell= +FR-Designer_Cell=Cell FR-Designer_Chart_Cell= FR-Designer_Chart_Float= FR-Designer_Chart_Float_chart= @@ -2131,4 +2131,8 @@ FR-Designer-Download_Online_Sources= FR-Designer_Select_Color=Select Color FR-Designer-Basic_Dynamic_Parameter_Injection=Injection FR-Designer_Label= -FR-Designer_Widgetname=Widget Name \ No newline at end of file +FR-Designer_Widgetname=Widget Name +FR-Designer_Insert_Cell_Element=Insert Cell Element +FR-Designer_Add_Condition=Add Condition +FR-Designer_Use_Params_Template=use parameter template +FR-Designer_Label_Name=label name \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_en_US.properties b/designer_base/src/com/fr/design/locale/designer_en_US.properties index 4a87f1620..d46df9ef7 100644 --- a/designer_base/src/com/fr/design/locale/designer_en_US.properties +++ b/designer_base/src/com/fr/design/locale/designer_en_US.properties @@ -71,7 +71,7 @@ FR-Designer_Button-Icon=Button Icon FR-Designer_Button-Name=Button Name FR-Designer_Button-Type=Button Type FR-Designer_CardLayout=TabLayout -FR-Designer_Cell=cell +FR-Designer_Cell=Cell FR-Designer_Chart_Cell=Chart Hyperlink-Link Cell FR-Designer_Chart_Float=Chart Hyperlink-Floating Element FR-Designer_Chart_Float_chart=Chart Hyperlink-Floating Chart @@ -2127,4 +2127,8 @@ FR-Designer-Download_Online_Sources= FR-Designer_Select_Color=Select Color FR-Designer-Basic_Dynamic_Parameter_Injection=Injection FR-Designer_Label=Label -FR-Designer_Widgetname=Widget Name \ No newline at end of file +FR-Designer_Widgetname=Widget Name +FR-Designer_Insert_Cell_Element=Insert Cell Element +FR-Designer_Add_Condition=Add Condition +FR-Designer_Use_Params_Template=use parameter template +FR-Designer_Label_Name=label name \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties index 05783bc7b..fd83fe9f3 100644 --- a/designer_base/src/com/fr/design/locale/designer_ja_JP.properties +++ b/designer_base/src/com/fr/design/locale/designer_ja_JP.properties @@ -2123,6 +2123,8 @@ FR-Designer_Mobile-Height-Percent= FR-Designer_Mobile-Height-Limit= FR-Designer-Download_Online_Sources= FR-Designer_Select_Color= -FR-Designer-Basic_Dynamic_Parameter_Injection=\ +FR-Designer-Basic_Dynamic_Parameter_Injection= FR-Designer_Label=\u30E9\u30D9\u30EBa FR-Designer_Widgetname=\u30B3\u30F3\u30C8\u30ED\u30FC\u30EB\u540D +FR-Designer_Insert_Cell_Element= +FR-Designer_Add_Condition= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties index 6a660743d..7c5afbdbd 100644 --- a/designer_base/src/com/fr/design/locale/designer_ko_KR.properties +++ b/designer_base/src/com/fr/design/locale/designer_ko_KR.properties @@ -2126,4 +2126,6 @@ FR-Designer-Download_Online_Sources= FR-Designer_Select_Color= FR-Designer-Basic_Dynamic_Parameter_Injection= FR-Designer_Label=\uB808\uC774\uBE14 -FR-Designer_Widgetname=\uC18C\uD504\uD2B8\uC6E8\uC5B4\uC81C\uC5B4\uC774\uB984 \ No newline at end of file +FR-Designer_Widgetname=\uC18C\uD504\uD2B8\uC6E8\uC5B4\uC81C\uC5B4\uC774\uB984 +FR-Designer_Insert_Cell_Element= +FR-Designer_Add_Condition= \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties index 4e7b87973..1be9234d4 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_CN.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_CN.properties @@ -2139,4 +2139,5 @@ FR-Designer-Download_Online_Sources=\u56FE\u8868\u9700\u8981\u4E0B\u8F7D\u6700\u FR-Designer_Select_Color=\u9009\u62E9\u989C\u8272 FR-Designer-Basic_Dynamic_Parameter_Injection=\u6CE8\u5165 FR-Designer_Label=\u6807\u7B7E -FR-Designer_Widgetname=\u63A7\u4EF6\u540D \ No newline at end of file +FR-Designer_Widgetname=\u63A7\u4EF6\u540D +FR-Designer_Insert_Cell_Element=\u63D2\u5165\u5143\u7D20 \ No newline at end of file diff --git a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties index 95c67c32a..8451bb37e 100644 --- a/designer_base/src/com/fr/design/locale/designer_zh_TW.properties +++ b/designer_base/src/com/fr/design/locale/designer_zh_TW.properties @@ -2131,3 +2131,5 @@ FR-Designer_Select_Color= FR-Designer-Basic_Dynamic_Parameter_Injection=\u6CE8\u5165 FR-Designer_Label=\u6A19\u7C3D FR-Designer_Widgetname=\u63A7\u5236\u9805\u540D +FR-Designer_Insert_Cell_Element=\u63D2\u5165\u5143\u7D20 +FR-Designer_Add_Condition= \ No newline at end of file diff --git a/designer_base/src/com/fr/file/FILEChooserPane.java b/designer_base/src/com/fr/file/FILEChooserPane.java index 02c92f646..09e911421 100644 --- a/designer_base/src/com/fr/file/FILEChooserPane.java +++ b/designer_base/src/com/fr/file/FILEChooserPane.java @@ -475,7 +475,6 @@ public class FILEChooserPane extends BasicPane { this.type = type; this.suffix = suffix; - dialog = showWindow(parent instanceof DesignerFrame ? (Window) parent : SwingUtilities.getWindowAncestor(parent), false); JPanel contentPane = (JPanel) dialog.getContentPane(); contentPane.setLayout(FRGUIPaneFactory.createM_BorderLayout()); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java index 622dcb5df..37caea168 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDataFilterPane.java @@ -243,6 +243,8 @@ public class ChartDataFilterPane extends ThirdTabPane { preDataNumPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); preDataNumPane.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + //默认不显示 + preDataNumPane.setVisible(false); panel1.add(preDataNumPane, BorderLayout.CENTER); notShowNull = new UICheckBox(Inter.getLocText("FR-Chart-Data_NotShowCate")); panel2.add(notShowNull, BorderLayout.NORTH); @@ -416,6 +418,8 @@ public class ChartDataFilterPane extends ThirdTabPane { preDataNumPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); preDataNumPane.setBorder(BorderFactory.createEmptyBorder(0,15,0,0)); + //默认不显示 + preDataNumPane.setVisible(false); panel1.add(preDataNumPane, BorderLayout.CENTER); notShowNull = new UICheckBox(Inter.getLocText("FR-Chart-Data_NotShowSeries")); panel2.add(notShowNull, BorderLayout.NORTH); diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java index b5cdb0b74..a4771e1bf 100644 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java +++ b/designer_chart/src/com/fr/design/mainframe/chart/gui/style/series/UIColorPickerPane.java @@ -19,6 +19,7 @@ import com.fr.design.style.color.ColorControlWindow; import com.fr.design.style.color.ColorSelectBox; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.Inter; +import com.fr.plugin.chart.designer.TableLayout4VanChartHelper; import com.fr.stable.StringUtils; import javax.swing.*; @@ -32,11 +33,14 @@ import java.util.List; public class UIColorPickerPane extends BasicPane implements UIObserver { private static final int MARGIN_TOP = 10; + private static final int MARGIN_LEFT = 5; + private static final int COLORGROUP_MARGIN_LEFT = 40; private static final int OFF_HEIGHT = 6; private static final int COLOR_REC_HEIGHT = 40; private static final int COLOR_REC_WIDTH = 30; protected static final int TEXTFIELD_HEIGHT = 20; protected static final int TEXTFIELD_WIDTH = 120; + protected static final int UPCONTROLPANE_WIDTH = 230; private static final int LAYOUR_DET = 6; private static final double VALUE = 100; @@ -182,17 +186,18 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { }; double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p, f}; + double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH; + double d = TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH; + double[] columnSize = {d, e}; double[] rowSize = {p}; Component[][] tmpComp = new Component[][]{new Component[]{new BoldFontTextLabel(Inter.getLocText("FR-Chart-Value_Divided_stage")), regionNumPane}}; - - stagePanel = TableLayoutHelper.createTableLayoutPane(tmpComp, rowSize, columnSize); - + + stagePanel = TableLayout4VanChartHelper.createGapTableLayoutPane(tmpComp, rowSize, columnSize); + Component[][] components = new Component[][]{ new Component[]{new BoldFontTextLabel(Inter.getLocText("FR-Chart-Value_Tick_And_Color")), designTypeButtonGroup}, }; - upControlPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + upControlPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); this.textGroup = new TextFieldGroupPane(); this.colorGroup = new ColorGroupPane(); @@ -204,7 +209,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { this.textFieldList = this.getTextFieldList(); refreshGroupPane(colors, getValueArray(number)); - + } protected ArrayList getTextFieldList(){ @@ -249,7 +254,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { */ public Dimension getPreferredSize() { if (designTypeButtonGroup.getSelectedIndex() == 0) { - return new Dimension(colorGroup.getPreferredSize().width + textGroup.getPreferredSize().width, upControlPane.getPreferredSize().height); + return new Dimension(colorGroup.getPreferredSize().width + textGroup.getPreferredSize().width, upControlPane.getPreferredSize().height + MARGIN_TOP); } else { int extra = stagePanel == null ? 0 : stagePanel.getPreferredSize().height + this.MARGIN_TOP; return new Dimension(colorGroup.getPreferredSize().width + textGroup.getPreferredSize().width, @@ -503,7 +508,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { * 根据这些 确定每个Field的最大最小值. 并且改变背景颜色. */ public void checkEveryFiledMinMax() { - + double forValue = Double.MAX_VALUE; double backValue = -Double.MAX_VALUE; for(int i = 0, size = textFieldList.size(); i < size; i++) {// check 是否合格, 然后检查 是否改变颜色, @@ -515,9 +520,9 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { backValue = backNumber.doubleValue(); } } - + Number number = ChartBaseUtils.formula2Number(new Formula(getValue4Index(i))); - + if(number != null) { double value = number.doubleValue(); if(value < forValue && value > backValue) { @@ -571,13 +576,13 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { return null; } - @Override - public void layoutContainer(Container parent) { - upControlPane.setBounds(0, 0, parent.getPreferredSize().width, upControlPane.getPreferredSize().height); - stagePanel.setBounds(0,upControlPane.getPreferredSize().height + LAYOUR_DET, parent.getPreferredSize().width, stagePanel.getPreferredSize().height); - colorGroup.setBounds(0, MARGIN_TOP + upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); - textGroup.setBounds(colorGroup.getPreferredSize().width, upControlPane.getPreferredSize().height+ stagePanel.getPreferredSize().height + 2 * LAYOUR_DET, textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); - } + @Override + public void layoutContainer(Container parent) { + upControlPane.setBounds(MARGIN_LEFT, MARGIN_TOP, UPCONTROLPANE_WIDTH, upControlPane.getPreferredSize().height + MARGIN_TOP); + stagePanel.setBounds(MARGIN_LEFT, upControlPane.getPreferredSize().height + LAYOUR_DET + MARGIN_TOP, UPCONTROLPANE_WIDTH, stagePanel.getPreferredSize().height); + colorGroup.setBounds(COLORGROUP_MARGIN_LEFT, 2 * MARGIN_TOP + upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); + textGroup.setBounds(colorGroup.getPreferredSize().width + COLORGROUP_MARGIN_LEFT, upControlPane.getPreferredSize().height + stagePanel.getPreferredSize().height + 2 * LAYOUR_DET + MARGIN_TOP, textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); + } @Override public void addLayoutComponent(String name, Component comp) { @@ -601,12 +606,12 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { return null; } - @Override - public void layoutContainer(Container parent) { - upControlPane.setBounds(0, 0, parent.getPreferredSize().width, upControlPane.getPreferredSize().height); - colorGroup.setBounds(0, MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); - textGroup.setBounds(colorGroup.getPreferredSize().width, upControlPane.getPreferredSize().height + LAYOUR_DET, textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); - } + @Override + public void layoutContainer(Container parent) { + upControlPane.setBounds(MARGIN_LEFT, MARGIN_TOP, UPCONTROLPANE_WIDTH, upControlPane.getPreferredSize().height); + colorGroup.setBounds(COLORGROUP_MARGIN_LEFT, MARGIN_TOP + upControlPane.getPreferredSize().height + LAYOUR_DET, colorGroup.getPreferredSize().width, colorGroup.getPreferredSize().height + upControlPane.getPreferredSize().height); + textGroup.setBounds(colorGroup.getPreferredSize().width + COLORGROUP_MARGIN_LEFT, upControlPane.getPreferredSize().height + LAYOUR_DET, textGroup.getPreferredSize().width, textGroup.getPreferredSize().height); + } @Override public void addLayoutComponent(String name, Component comp) { @@ -633,7 +638,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { public int getDesignType(){ return this.designTypeButtonGroup.getSelectedIndex(); } - + public void populateBean(MapHotAreaColor hotAreaColor) { Color mainColor = hotAreaColor.getMainColor(); @@ -650,7 +655,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { regionNumPane.populateBean(value); refreshPane(); } - + private void initContainerLister(){ Container container = UIColorPickerPane.this; while (!(container instanceof ChartStylePane)) { @@ -684,7 +689,7 @@ public class UIColorPickerPane extends BasicPane implements UIObserver { // 检查 数字顺序. private boolean checkInOrder() { textGroup.checkEveryFiledMinMax(); - + boolean allInOrder = true; double maxValue = Double.MAX_VALUE; diff --git a/designer_chart/src/com/fr/plugin/chart/range/component/SectionIntervalConfigPaneWithOutNum.java b/designer_chart/src/com/fr/plugin/chart/range/component/SectionIntervalConfigPaneWithOutNum.java index 899b283e5..0500e8581 100644 --- a/designer_chart/src/com/fr/plugin/chart/range/component/SectionIntervalConfigPaneWithOutNum.java +++ b/designer_chart/src/com/fr/plugin/chart/range/component/SectionIntervalConfigPaneWithOutNum.java @@ -35,7 +35,6 @@ public class SectionIntervalConfigPaneWithOutNum extends MapColorPickerPaneWithF double d = TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH; double[] columnSize = {d, e}; JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, getRowSIze (), columnSize); - panel.setPreferredSize(new Dimension(230, (int)panel.getPreferredSize().getHeight())); return panel; } 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 fe5c305ac..7fdb11e66 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 @@ -206,20 +206,6 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { widgetBoundPane.update(); } fireValueChanged(); - - if (xCreator.acceptType(XWScaleLayout.class)) { - XCreator xCreator1 = xCreator.getEditingChildCreator(); - xCreator1.resetData(widget); - xCreator.removeAll(); - xCreator.add(xCreator1); - }else if(xCreator.acceptType(XWTitleLayout.class)){ - XCreator xCreator1 = ((XWTitleLayout) xCreator).getXCreator(0); - xCreator1.resetData(widget); - xCreator.removeAll(); - xCreator.add(xCreator1); - } else { - xCreator.resetData(widget); - } } 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 2a99a9965..966244c37 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 @@ -185,7 +185,7 @@ public class DateEditorDefinePane extends DirectWriteEditorDefinePane { @Override public IframeEditor updateBean() { - IframeEditor ob = new IframeEditor(); + IframeEditor ob = (IframeEditor)creator.toData(); ob.setSrc(srcTextField.getText()); List parameterList = parameterViewPane.update(); ob.setParameters(parameterList.toArray(new ParameterProvider[parameterList.size()])); 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 40797f9f4..714f26882 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 @@ -85,7 +85,7 @@ public class MultiFileEditorPane extends FieldEditorDefinePane @Override protected MultiFileEditor updateSubFieldEditorBean() { - MultiFileEditor ob = new MultiFileEditor(); + MultiFileEditor ob = (MultiFileEditor)creator.toData(); ob.setAccept((String) acceptType.getSelectedItem()); ob.setSingleFile(singleFileCheckBox.isSelected()); ob.setMaxSize(fileSizeField.getValue()); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/NumberEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/NumberEditorDefinePane.java index 00f204f1c..9387df85c 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/NumberEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/NumberEditorDefinePane.java @@ -278,7 +278,7 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane @Override protected NumberEditor updateSubFieldEditorBean() { - NumberEditor ob = new NumberEditor(); + NumberEditor ob = (NumberEditor)creator.toData(); formWidgetValuePane.update(ob); ob.setAllowDecimals(allowDecimalsCheckBox.isSelected()); if (allowDecimalsCheckBox.isSelected()) { diff --git a/designer_form/src/com/fr/design/widget/ui/designer/RadioDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/RadioDefinePane.java index 8ca631cff..afb618bd6 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/RadioDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/RadioDefinePane.java @@ -41,6 +41,6 @@ public class RadioDefinePane extends AbstractDataModify { @Override public Radio updateBean() { - return new Radio(); + return (Radio)creator.toData(); } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java index 5378c00ed..cc5abe66e 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/TextFieldEditorDefinePane.java @@ -108,7 +108,7 @@ public class TextFieldEditorDefinePane extends FieldEditorDefinePane @Override protected TextEditor updateSubFieldEditorBean() { - TextEditor ob = newTextEditorInstance(); + TextEditor ob = (TextEditor)creator.toData(); ob.setRegex(this.regPane.update()); ob.setWaterMark(waterMarkDictPane.getText()); formWidgetValuePane.update(ob); diff --git a/designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteLayoutDefinePane.java b/designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteLayoutDefinePane.java index 94141e4bb..05b0e2636 100644 --- a/designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteLayoutDefinePane.java +++ b/designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteLayoutDefinePane.java @@ -99,7 +99,7 @@ public class FRAbsoluteLayoutDefinePane extends AbstractDataModify { layoutComboBox.setSelectedIndex(ob.getBodyLayoutType().getTypeValue()); adaptComboBox.setSelectedIndex(ob.getCompState()); componentIntervel.setValue(ob.getCompInterval()); - background.setValue(ob.getBackground()); + background.setValue(ob.getBorderStyle()); }