Browse Source

Merge branch 'release/10.0' of https://code.fineres.com/scm/~yuan.wang/design into release/10.0

feature/big-screen
Yuan.Wang 5 years ago
parent
commit
61179451ab
  1. 1
      designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomDataPane.java
  2. 19
      designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotDataContentsTabPane.java
  3. 39
      designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java
  4. 11
      designer-realize/src/main/java/com/fr/design/actions/columnrow/ColumnRowSizingAction.java
  5. 10
      designer-realize/src/main/java/com/fr/design/cell/editor/RichTextToolBar.java
  6. 35
      designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java
  7. 4
      designer-realize/src/main/java/com/fr/grid/GridUI.java
  8. 6
      designer-realize/src/main/java/com/fr/grid/IntelliElements.java

1
designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomDataPane.java

@ -27,6 +27,7 @@ public class VanChartCustomDataPane extends ChartDataPane {
} }
contentsTabPane = new VanChartCustomPlotDataContentsTabPane((VanChartCustomPlot)chart.getPlot(), VanChartCustomDataPane.this, listener); contentsTabPane = new VanChartCustomPlotDataContentsTabPane((VanChartCustomPlot)chart.getPlot(), VanChartCustomDataPane.this, listener);
contentsTabPane.setSupportCellData(isSupportCellData());
content.add(contentsTabPane, BorderLayout.CENTER); content.add(contentsTabPane, BorderLayout.CENTER);
return content; return content;

19
designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotDataContentsTabPane.java

@ -22,10 +22,21 @@ import java.util.Map;
* Created by Fangjie on 2016/4/29. * Created by Fangjie on 2016/4/29.
*/ */
public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTabPane<VanChartCustomPlot, ChartCollection> { public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTabPane<VanChartCustomPlot, ChartCollection> {
private boolean supportCellData;
public VanChartCustomPlotDataContentsTabPane(VanChartCustomPlot plot, VanChartCustomDataPane parent, AttributeChangeListener listener) { public VanChartCustomPlotDataContentsTabPane(VanChartCustomPlot plot, VanChartCustomDataPane parent, AttributeChangeListener listener) {
super(plot, parent, listener); super(plot, parent, listener);
} }
public boolean isSupportCellData() {
return supportCellData;
}
public void setSupportCellData(boolean supportCellData) {
this.supportCellData = supportCellData;
}
@Override @Override
protected void initTabTitle() { protected void initTabTitle() {
@ -60,6 +71,7 @@ public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTab
for (int i = 0; i < customPlotList.size(); i++) { for (int i = 0; i < customPlotList.size(); i++) {
//根据不同的plot创建不同的数据配置界面 //根据不同的plot创建不同的数据配置界面
ChartDataPane contentPane = new VanChartDataPane(listener); ChartDataPane contentPane = new VanChartDataPane(listener);
contentPane.setSupportCellData(supportCellData);
paneList.add(contentPane); paneList.add(contentPane);
} }
@ -71,12 +83,9 @@ public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTab
plot = (VanChartCustomPlot) chartCollection.getSelectedChart().getPlot(); plot = (VanChartCustomPlot) chartCollection.getSelectedChart().getPlot();
if (paneList == null){
paneList = initPaneList(); paneList = initPaneList();
}
if (paneList != null){
relayoutWhenListChange();
try { try {
List<VanChartPlot> customPlotList = plot.getCustomPlotList(); List<VanChartPlot> customPlotList = plot.getCustomPlotList();
@ -104,7 +113,6 @@ public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTab
return; return;
} }
} }
}
@Override @Override
public ChartCollection updateBean() { public ChartCollection updateBean() {
@ -168,6 +176,7 @@ public class VanChartCustomPlotDataContentsTabPane extends VanChartCustomPlotTab
/** /**
* 返回绑定的属性事件. * 返回绑定的属性事件.
*
* @param listener 增加监听 * @param listener 增加监听
*/ */
public void addAttributeChangeListener(AttributeChangeListener listener) { public void addAttributeChangeListener(AttributeChangeListener listener) {

39
designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java

@ -54,11 +54,13 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
private static final long serialVersionUID = -5717246802333308973L; private static final long serialVersionUID = -5717246802333308973L;
private static final double ROTATION_MAX = 90.0; private static final double ROTATION_MAX = 90.0;
protected UIButtonGroup showTitle;
protected TinyFormulaPane titleContent; protected TinyFormulaPane titleContent;
protected UIButtonGroup<Integer> titleAlignPane; protected UIButtonGroup<Integer> titleAlignPane;
protected UIToggleButton titleUseHtml; protected UIToggleButton titleUseHtml;
protected ChartTextAttrPane titleTextAttrPane; protected ChartTextAttrPane titleTextAttrPane;
protected UINumberDragPane titleTextRotation; protected UINumberDragPane titleTextRotation;
protected JPanel titlePane;
protected UIButtonGroup showLabel; protected UIButtonGroup showLabel;
protected ChartTextAttrPane labelTextAttrPane; protected ChartTextAttrPane labelTextAttrPane;
@ -108,6 +110,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
public void setParentPane(VanChartStylePane parent) { public void setParentPane(VanChartStylePane parent) {
htmlLabelPane.setParent(parent); htmlLabelPane.setParent(parent);
} }
protected void reLayoutPane(boolean isXAxis) { protected void reLayoutPane(boolean isXAxis) {
this.removeAll(); this.removeAll();
this.add(createContentPane(isXAxis), BorderLayout.CENTER); this.add(createContentPane(isXAxis), BorderLayout.CENTER);
@ -135,6 +138,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
} }
protected JPanel createTitlePane(double[] row, double[] col, boolean isXAxis) { protected JPanel createTitlePane(double[] row, double[] col, boolean isXAxis) {
showTitle = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Use_Show"), Toolkit.i18nText("Fine-Design_Chart_Hidden")});
titleAlignPane = isXAxis ? getXAxisTitleAlignPane() : getYAxisTitleAlignPane(); titleAlignPane = isXAxis ? getXAxisTitleAlignPane() : getYAxisTitleAlignPane();
titleAlignPane.setSelectedItem(Constants.CENTER); titleAlignPane.setSelectedItem(Constants.CENTER);
titleContent = new TinyFormulaPane(); titleContent = new TinyFormulaPane();
@ -158,9 +162,21 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
UIComponentUtils.wrapWithBorderLayoutPane(titleTextRotation) UIComponentUtils.wrapWithBorderLayoutPane(titleTextRotation)
}, },
}; };
titlePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col);
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col); JPanel showTitlePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Axis_Title"), showTitle);
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(PaneTitleConstants.CHART_STYLE_TITLE_TITLE, panel); showTitle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
checkTitlePane();
}
});
JPanel jPanel = new JPanel(new BorderLayout());
jPanel.add(showTitlePane, BorderLayout.NORTH);
jPanel.add(titlePane, BorderLayout.CENTER);
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(PaneTitleConstants.CHART_STYLE_TITLE_TITLE, jPanel);
} }
private UIButtonGroup<Integer> getXAxisTitleAlignPane() { private UIButtonGroup<Integer> getXAxisTitleAlignPane() {
@ -171,6 +187,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
return new UIButtonGroup<Integer>(alignmentIconArray, alignment); return new UIButtonGroup<Integer>(alignmentIconArray, alignment);
} }
private UIButtonGroup<Integer> getYAxisTitleAlignPane() { private UIButtonGroup<Integer> getYAxisTitleAlignPane() {
Icon[] alignmentIconArray = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/v_top_normal.png"), Icon[] alignmentIconArray = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/v_top_normal.png"),
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/v_center_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/v_center_normal.png"),
@ -462,6 +479,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
protected void checkAllUse() { protected void checkAllUse() {
checkCardPane(); checkCardPane();
checkLabelPane(); checkLabelPane();
checkTitlePane();
//区域显示策略 恢复用注释。删除下面一行。 //区域显示策略 恢复用注释。删除下面一行。
checkMaxProPortionUse(); checkMaxProPortionUse();
@ -505,6 +523,12 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
} }
} }
protected void checkTitlePane() {
if (showTitle != null && titlePane != null) {
titlePane.setVisible(showTitle.getSelectedIndex() == 0);
}
}
private void checkLabelGapAndStylePane() { private void checkLabelGapAndStylePane() {
if (overlapHandleTypeGroup != null && labelGapStylePane != null) { if (overlapHandleTypeGroup != null && labelGapStylePane != null) {
boolean visible = overlapHandleTypeGroup.getSelectedItem() == OverlapHandleType.INTERVAL; boolean visible = overlapHandleTypeGroup.getSelectedItem() == OverlapHandleType.INTERVAL;
@ -528,6 +552,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
/** /**
* 是否是指定类型 * 是否是指定类型
*
* @param ob 对象 * @param ob 对象
* @return 是否是指定类型 * @return 是否是指定类型
*/ */
@ -537,6 +562,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
/** /**
* title应该是一个属性不只是对话框的标题时用到与其他组件结合时也会用得到 * title应该是一个属性不只是对话框的标题时用到与其他组件结合时也会用得到
*
* @return 绥化狂标题 * @return 绥化狂标题
*/ */
@Override @Override
@ -550,6 +576,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
public void reset() { public void reset() {
} }
@Override @Override
public void populateBean(VanChartAxis axis) { public void populateBean(VanChartAxis axis) {
populateTitle(axis); populateTitle(axis);
@ -569,6 +596,9 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
//标题 //标题
private void populateTitle(VanChartAxis axis) { private void populateTitle(VanChartAxis axis) {
if (showTitle != null) {
showTitle.setSelectedIndex(axis.isShowAxisTitle() ? 0 : 1);
}
Title axisTitle = axis.getTitle(); Title axisTitle = axis.getTitle();
if (axisTitle != null) { if (axisTitle != null) {
if (axisTitle.getTextObject() instanceof BaseFormula && titleContent != null) { if (axisTitle.getTextObject() instanceof BaseFormula && titleContent != null) {
@ -690,8 +720,12 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
updateFormat(axis); updateFormat(axis);
} }
//标题 //标题
private void updateTitle(VanChartAxis axis) { private void updateTitle(VanChartAxis axis) {
if (showTitle != null) {
axis.setShowAxisTitle(showTitle.getSelectedIndex() == 0);
}
Title axisTitle = axis.getTitle(); Title axisTitle = axis.getTitle();
if (axisTitle == null) { if (axisTitle == null) {
axisTitle = new Title(); axisTitle = new Title();
@ -810,6 +844,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
/** /**
* X坐标轴不同类型切换,new一个新的 * X坐标轴不同类型切换,new一个新的
*
* @param axisName 坐标轴名称 * @param axisName 坐标轴名称
* @return 新的axis * @return 新的axis
*/ */

11
designer-realize/src/main/java/com/fr/design/actions/columnrow/ColumnRowSizingAction.java

@ -13,6 +13,7 @@ import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.fun.ReportLengthUNITProvider; import com.fr.design.fun.ReportLengthUNITProvider;
import com.fr.design.unit.UnitConvertUtil; import com.fr.design.unit.UnitConvertUtil;
import com.fr.general.ComparatorUtils;
import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.CellSelection;
import com.fr.report.elementcase.ElementCase; import com.fr.report.elementcase.ElementCase;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
@ -39,8 +40,8 @@ public abstract class ColumnRowSizingAction extends AbstractColumnRowIndexAction
return ColumnRowSizingAction.this.title4UnitInputPane(); return ColumnRowSizingAction.this.title4UnitInputPane();
} }
}; };
UNIT len = getShowLen(report, cs); final UNIT oldLen = getShowLen(report, cs);
populateNumberDialog(uPane, len); populateNumberDialog(uPane, oldLen);
final CellSelection finalCS = cs; final CellSelection finalCS = cs;
uPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() { uPane.showSmallWindow(DesignerContext.getDesignerFrame(), new DialogActionAdapter() {
@ -51,8 +52,10 @@ public abstract class ColumnRowSizingAction extends AbstractColumnRowIndexAction
float newHeight = (float) uPane.update(); float newHeight = (float) uPane.update();
int unitType = DesignerEnvManager.getEnvManager().getReportLengthUnit(); int unitType = DesignerEnvManager.getEnvManager().getReportLengthUnit();
ReportLengthUNITProvider lengthUNIT = UnitConvertUtil.parseLengthUNIT(unitType); ReportLengthUNITProvider lengthUNIT = UnitConvertUtil.parseLengthUNIT(unitType);
UNIT len = lengthUNIT.float2UNIT(newHeight); UNIT newLen = lengthUNIT.float2UNIT(newHeight);
updateAction(report, len, finalCS); if (!ComparatorUtils.equals(oldLen, newLen)) {
updateAction(report, newLen, finalCS);
}
} catch (ValueNotChangeException e) { } catch (ValueNotChangeException e) {
// nothing // nothing
} }

10
designer-realize/src/main/java/com/fr/design/cell/editor/RichTextToolBar.java

@ -256,8 +256,11 @@ public class RichTextToolBar extends BasicPane{
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
boolean isSub = RichTextToolBar.this.subPane.isSelected(); boolean isSub = RichTextToolBar.this.subPane.isSelected();
// 调用setCharacterAttributes函数设置文本区选择文本的字体
MutableAttributeSet attr = new SimpleAttributeSet(); MutableAttributeSet attr = new SimpleAttributeSet();
if (!isSub && RichTextToolBar.this.superPane.isSelected()) {
StyleConstants.setSuperscript(attr, false);
}
// 调用setCharacterAttributes函数设置文本区选择文本的字体
StyleConstants.setSubscript(attr, !isSub); StyleConstants.setSubscript(attr, !isSub);
setCharacterAttributes(RichTextToolBar.this.textPane, attr, false); setCharacterAttributes(RichTextToolBar.this.textPane, attr, false);
} }
@ -269,6 +272,9 @@ public class RichTextToolBar extends BasicPane{
boolean isSuper = RichTextToolBar.this.superPane.isSelected(); boolean isSuper = RichTextToolBar.this.superPane.isSelected();
// 调用setCharacterAttributes函数设置文本区选择文本的字体 // 调用setCharacterAttributes函数设置文本区选择文本的字体
MutableAttributeSet attr = new SimpleAttributeSet(); MutableAttributeSet attr = new SimpleAttributeSet();
if (!isSuper && RichTextToolBar.this.subPane.isSelected()) {
StyleConstants.setSubscript(attr, false);
}
StyleConstants.setSuperscript(attr, !isSuper); StyleConstants.setSuperscript(attr, !isSuper);
setCharacterAttributes(RichTextToolBar.this.textPane, attr, false); setCharacterAttributes(RichTextToolBar.this.textPane, attr, false);
} }
@ -402,7 +408,7 @@ public class RichTextToolBar extends BasicPane{
bold.setSelected(isBold); bold.setSelected(isBold);
italic.setSelected(isItalic); italic.setSelected(isItalic);
underline.setSelected(isUnderline); underline.setSelected(isUnderline);
subPane.setSelected(isSubscript); subPane.setSelected(isSuperscript ? false : isSubscript);
superPane.setSelected(isSuperscript); superPane.setSelected(isSuperscript);
//为什么字体名称, 大小, 颜色, 不需要去判断是否全相同呢 //为什么字体名称, 大小, 颜色, 不需要去判断是否全相同呢
//因为如果全相同, 则设置为第一个字符的样式, 如果不全相同, 那么默认也设置成第一个字符的样式. //因为如果全相同, 则设置为第一个字符的样式, 如果不全相同, 那么默认也设置成第一个字符的样式.

35
designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java

@ -19,25 +19,20 @@ import java.awt.event.FocusEvent;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import javax.swing.BorderFactory; import javax.swing.*;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
import com.fr.design.gui.ispinner.ColumnRowSpinner;
import com.fr.page.PaperSettingProvider; import com.fr.page.PaperSettingProvider;
import com.fr.page.ReportSettingsProvider; import com.fr.page.ReportSettingsProvider;
import com.fr.design.gui.frpane.UITabbedPane; import com.fr.design.gui.frpane.UITabbedPane;
import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.ibutton.UIRadioButton;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import javax.swing.text.NumberFormatter;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.Margin; import com.fr.base.Margin;
@ -72,6 +67,7 @@ public class PageSetupPane extends BasicPane {
private PagePane pagePane; private PagePane pagePane;
private OtherPane otherPane; private OtherPane otherPane;
private UILabel zeroMarginWarn; private UILabel zeroMarginWarn;
private static final String E = "E";
public PageSetupPane() { public PageSetupPane() {
this.initComponents(); this.initComponents();
@ -212,6 +208,13 @@ public class PageSetupPane extends BasicPane {
((JSpinner.DefaultEditor) paperWidthSpinner.getEditor()).getTextField().setColumns(7); ((JSpinner.DefaultEditor) paperWidthSpinner.getEditor()).getTextField().setColumns(7);
paperHeightSpinner = new UIBasicSpinner(new SpinnerNumberModel(0.0, 0.0, Double.MAX_VALUE, 1.0)); paperHeightSpinner = new UIBasicSpinner(new SpinnerNumberModel(0.0, 0.0, Double.MAX_VALUE, 1.0));
((JSpinner.DefaultEditor) paperHeightSpinner.getEditor()).getTextField().setColumns(7); ((JSpinner.DefaultEditor) paperHeightSpinner.getEditor()).getTextField().setColumns(7);
JFormattedTextField txt = ((JSpinner.NumberEditor) paperWidthSpinner.getEditor()).getTextField();
((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);
txt = ((JSpinner.NumberEditor) paperHeightSpinner.getEditor()).getTextField();
((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);
unitLabel = new UnitFieldPane.UnitLabel(Constants.UNIT_MM, paperHeightSpinner.getPreferredSize().height); unitLabel = new UnitFieldPane.UnitLabel(Constants.UNIT_MM, paperHeightSpinner.getPreferredSize().height);
String[] inch = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unit_MM"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unit_INCH")}; String[] inch = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unit_MM"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unit_INCH")};
@ -738,8 +741,8 @@ public class PageSetupPane extends BasicPane {
return; return;
} }
// 最大2000,以免画的时候超边 // 最大2000,以免画的时候超边
this.paper_width = Math.min(paper_width, 2000); this.paper_width = Math.min(paper_width, Double.MAX_VALUE);
this.paper_height = Math.min(paper_height, 2000); this.paper_height = Math.min(paper_height, Double.MAX_VALUE);
this.paper_orientation = paper_orientation; this.paper_orientation = paper_orientation;
length_scale = !useLocale ? NUM_3 : NUM_POINT_3; length_scale = !useLocale ? NUM_3 : NUM_POINT_3;
} }
@ -766,18 +769,24 @@ public class PageSetupPane extends BasicPane {
FontMetrics fm = g2d.getFontMetrics(); FontMetrics fm = g2d.getFontMetrics();
// 横向的长度 // 横向的长度
String w_str = "" + paper_width; String w_str = "" + paper_width;
if (w_str.indexOf(CoreConstants.DOT) > 0) { if (!w_str.contains(E) && w_str.indexOf(CoreConstants.DOT) > 0) {
w_str = w_str.substring(0, w_str.indexOf(CoreConstants.DOT) + 2); w_str = w_str.substring(0, w_str.indexOf(CoreConstants.DOT) + 2);
} }
int w_length = fm.stringWidth(w_str); int w_length = fm.stringWidth(w_str);
paint_width = Math.max(paint_width, w_length + 26); paint_width = Math.max(paint_width, w_length + 26);
// 纵向的长度 // 纵向的长度
String h_str = "" + paper_height; String h_str = "" + paper_height;
if (h_str.indexOf(".") > 0) { //使用科学计数法显示长度的时候,限制纵向显示长度为9位
h_str = h_str.substring(0, h_str.indexOf(".") + 2); if (h_str.contains(E)) {
String str1 = h_str.substring(h_str.indexOf(E));
String str2 = h_str.substring(0, 9 - str1.length());
h_str = str2 + str1;
} else if (h_str.indexOf(CoreConstants.DOT) > 0) {
h_str = h_str.substring(0, h_str.indexOf(CoreConstants.DOT) + 2);
} }
int h_length = fm.stringWidth(h_str); int h_length = fm.stringWidth(h_str);
paint_height = Math.max(paint_height, h_length + 26); paint_height = Math.max(paint_height, h_length + 26);
paint_height = Math.min(paint_height, 74);
double startX = (pane_width - paint_width) / 2; double startX = (pane_width - paint_width) / 2;
double startY = (pane_height - paint_height) / 2; double startY = (pane_height - paint_height) / 2;
g2d.translate(startX, startY); g2d.translate(startX, startY);

4
designer-realize/src/main/java/com/fr/grid/GridUI.java

@ -300,6 +300,8 @@ public class GridUI extends ComponentUI {
private int resolution; private int resolution;
private static final double THRESHOLD = 1.0E-4D;
DrawLineHelper(int startIndex, int endIndex, boolean showGridLine, DrawLineHelper(int startIndex, int endIndex, boolean showGridLine,
boolean showPaginateLine, DynamicUnitList sizeList, double paperPaintSize, boolean showPaginateLine, DynamicUnitList sizeList, double paperPaintSize,
List paginateLineList, int resolution) { List paginateLineList, int resolution) {
@ -342,7 +344,7 @@ public class GridUI extends ComponentUI {
} }
// paint paper margin line. // paint paper margin line.
if (showPaginateLine && paperSumSize >= paperPaintSize) { if (showPaginateLine && paperSumSize - paperPaintSize > THRESHOLD) {
paginateLineList.add(getPaginateLine2D((int) sumSize)); paginateLineList.add(getPaginateLine2D((int) sumSize));
paperSumSize = tmpSize; paperSumSize = tmpSize;
} }

6
designer-realize/src/main/java/com/fr/grid/IntelliElements.java

@ -194,8 +194,12 @@ public class IntelliElements {
TemplateCellElement newCellElement = new DefaultTemplateCellElement(colIndex, rowIndex); TemplateCellElement newCellElement = new DefaultTemplateCellElement(colIndex, rowIndex);
applyStyle(newCellElement, sourceCellElement);//style applyStyle(newCellElement, sourceCellElement);//style
if (sourceCellElement.getValue() instanceof DSColumn) { if (sourceCellElement.getValue() instanceof DSColumn) {
DSColumn dsColumn = (DSColumn) sourceCellElement.getValue(); try{
DSColumn dsColumn = (DSColumn)((DSColumn) sourceCellElement.getValue()).clone();
newCellElement.setValue(dsColumn); newCellElement.setValue(dsColumn);
}catch (CloneNotSupportedException e){
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
newCellElement.setCellExpandAttr(sourceCellElement.getCellExpandAttr()); newCellElement.setCellExpandAttr(sourceCellElement.getCellExpandAttr());
} else if (sourceCellElement.getValue() instanceof Number) { } else if (sourceCellElement.getValue() instanceof Number) {
newCellElement.setValue(processNumber((Number) sourceCellElement.getValue())); newCellElement.setValue(processNumber((Number) sourceCellElement.getValue()));

Loading…
Cancel
Save