Browse Source

Merge pull request #1718 in BA/design from ~PLOUGH/design:release/9.0 to release/9.0

* commit '597659add90087ff3d11f90b861fb176875a5808':
  REPORT-7111 代码规范
  REPORT-7111 设计器— 表单—开启“设计手机端专属模板”功能,在报表块中新增了多条画布边缘线
superman 7 years ago
parent
commit
4b06036181
  1. 7
      designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java
  2. 36
      designer/src/com/fr/grid/Grid.java
  3. 19
      designer/src/com/fr/grid/GridUI.java

7
designer/src/com/fr/design/mainframe/form/FormElementCasePaneDelegate.java

@ -21,6 +21,7 @@ import com.fr.design.menu.ShortCut;
import com.fr.design.menu.ToolBarDef;
import com.fr.design.present.ConditionAttributesGroupPane;
import com.fr.form.main.Form;
import com.fr.grid.Grid;
import com.fr.js.NameJavaScriptGroup;
import com.fr.page.ReportSettingsProvider;
import com.fr.report.elementcase.TemplateElementCase;
@ -34,7 +35,11 @@ public class FormElementCasePaneDelegate extends ElementCasePane<FormElementCase
public FormElementCasePaneDelegate(FormElementCase sheet, Form form) {
super(sheet);
this.getGrid().setShowPaginateLine(form.getFormMobileAttr().isMobileOnly());
this.getGrid().setPaginateLineShowType(form.getFormMobileAttr().isMobileOnly()
? Grid.SINGLE_HORIZONTAL_PAGINATE_LINE
: Grid.NO_PAGINATE_LINE);
this.addSelectionChangeListener(new SelectionListener() {
@Override
public void selectionChanged(SelectionEvent e) {

36
designer/src/com/fr/grid/Grid.java

@ -48,6 +48,9 @@ public class Grid extends BaseGridComponent {
/**
* If editing, the <code>Component</code> that is handling the editing.
*/
public static final int NO_PAGINATE_LINE = 0; // 不显示分页线
public static final int MULTIPLE_PAGINATE_LINE = 1; // 绘制多条分页线
public static final int SINGLE_HORIZONTAL_PAGINATE_LINE = 2; // 仅绘制一条水平分页线
private static final int VERTICAL_EXTENT_INITIAL_VALUE = 50;
private static final int HORIZONTAL_EXTENT_INITIAL_VALUE = 40;
transient protected Component editorComponent;
@ -57,7 +60,7 @@ public class Grid extends BaseGridComponent {
private boolean showGridLine = true;
private Color gridLineColor = UIConstants.RULER_LINE_COLOR; // line color.
private boolean isShowPaginateLine = true;
private int paginateLineShowType = MULTIPLE_PAGINATE_LINE; // 分页线类型
private Color paginationLineColor = Color.RED; // line color of paper
private boolean isShowVerticalFrozenLine = true;
@ -202,25 +205,6 @@ public class Grid extends BaseGridComponent {
this.getElementCasePane().repaint();
}
/**
* 是否显示分页线
*
* @return 是否显示分页线
* @date 2014-12-21-下午6:31:45
*/
public boolean isShowPaginateLine() {
return isShowPaginateLine;
}
/**
* Sets to show pagination line.
*/
public void setShowPaginateLine(boolean showPaginateLine) {
this.isShowPaginateLine = showPaginateLine;
this.getElementCasePane().repaint();
}
/**
* Gets pagination line color.
*/
@ -1432,8 +1416,12 @@ public class Grid extends BaseGridComponent {
this.tooltipLocation.setLocation(x, y);
}
// @Override
// public void requestFocus() {
// super.requestFocus();
// }
public int getPaginateLineShowType() {
return paginateLineShowType;
}
public void setPaginateLineShowType(int paginateLineShowType) {
this.paginateLineShowType = paginateLineShowType;
this.getElementCasePane().repaint();
}
}

19
designer/src/com/fr/grid/GridUI.java

@ -125,7 +125,7 @@ public class GridUI extends ComponentUI {
// richer;聚合报表设计中,最初的ElementCase还没有加到Report中,所以elementCase.getReport()可能为空
ReportSettingsProvider reportSettings = getReportSettings(elementCase);
PaperSettingProvider psetting = reportSettings.getPaperSetting();
if (grid.isShowPaginateLine()) {// paint paper margin line.
if (grid.getPaginateLineShowType() != Grid.NO_PAGINATE_LINE) {// paint paper margin line.
PaperSize paperSize = psetting.getPaperSize();
Margin margin = psetting.getMargin();
@ -171,7 +171,7 @@ public class GridUI extends ComponentUI {
private void paintScrollBackground(Graphics2D g2d, Grid grid, Background background, PaperSettingProvider psetting, ReportSettingsProvider reportSettings) {
boolean isCanDrawImage = grid.isEditable() || isAuthority;
if (isCanDrawImage && (background instanceof ImageBackground)) {
if (!grid.isShowPaginateLine()) {
if (grid.getPaginateLineShowType() == Grid.NO_PAGINATE_LINE) {
calculatePaper(psetting, reportSettings);
}
@ -237,12 +237,15 @@ public class GridUI extends ComponentUI {
// 分页线
paginateLineList.clear();
boolean isShowVerticalPaginateLine = grid.getPaginateLineShowType() == Grid.MULTIPLE_PAGINATE_LINE;
boolean isShowHorizontalPaginateLine = grid.getPaginateLineShowType() != Grid.NO_PAGINATE_LINE;
new DrawVerticalLineHelper(grid.getVerticalBeginValue(), verticalEndValue,
grid.isShowGridLine(), grid.isShowPaginateLine(), rowHeightList, paperPaintHeight,
grid.isShowGridLine(), isShowVerticalPaginateLine, rowHeightList, paperPaintHeight,
paginateLineList, realWidth, resolution).iterateStart2End(g2d);
new DrawHorizontalLineHelper(grid.getHorizontalBeginValue(), horizontalEndValue,
grid.isShowGridLine(), grid.isShowPaginateLine(), columnWidthList, paperPaintWidth,
grid.isShowGridLine(), isShowHorizontalPaginateLine, columnWidthList, paperPaintWidth,
paginateLineList, realHeight, resolution).iterateStart2End(g2d);
}
@ -607,8 +610,12 @@ public class GridUI extends ComponentUI {
//g2d.setXORMode(Utils.getXORColor(grid.getPaginationLineColor()));
GraphHelper.setStroke(g2d, GraphHelper.getStroke(Constants.LINE_DASH_DOT));
for (int i = 0, len = paginateLineList.size(); i < len; i++) {
g2d.draw((Shape) paginateLineList.get(i));
if (grid.getPaginateLineShowType() == Grid.SINGLE_HORIZONTAL_PAGINATE_LINE) {
g2d.draw((Shape) paginateLineList.get(0));
} else {
for (int i = 0, len = paginateLineList.size(); i < len; i++) {
g2d.draw((Shape) paginateLineList.get(i));
}
}
g2d.setPaintMode();

Loading…
Cancel
Save