Browse Source

REPORT-54123 设计器报表块组件进入和退出编辑时单元格选中状态优化

表单报表块进入编辑状态后选中某单元格, 单元格边框高亮,
之后报表块退出编辑,对报表块截图以显示在布局面板上,但
此时因为单元格未退出选中状态,导致截图中出现边框高亮的单元格。
当布局面板中出现多个这样的报表块时,产生了很混乱的效果,因此需要进行
优化。
报表块退出编辑状态后,取消单元格选中
feature/10.0
Starryi 3 years ago
parent
commit
0ec9b28391
  1. 2
      designer-base/src/main/java/com/fr/design/mainframe/form/FormECDesignerProvider.java
  2. 3
      designer-form/src/main/java/com/fr/design/mainframe/JForm.java
  3. 3
      designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java

2
designer-base/src/main/java/com/fr/design/mainframe/form/FormECDesignerProvider.java

@ -90,4 +90,6 @@ public interface FormECDesignerProvider {
BufferedImage getElementCaseImage(Dimension elementCaseContainerSize); BufferedImage getElementCaseImage(Dimension elementCaseContainerSize);
void refreshPropertyPane(); void refreshPropertyPane();
void removeSelection();
} }

3
designer-form/src/main/java/com/fr/design/mainframe/JForm.java

@ -917,6 +917,9 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm<F
ecTabAction(); ecTabAction();
} else { } else {
formDesign.setReportBlockEditing(false); formDesign.setReportBlockEditing(false);
if (elementCaseDesign != null) {
elementCaseDesign.removeSelection();
}
formTabAction(); formTabAction();
} }
refreshToolArea(); refreshToolArea();

3
designer-realize/src/main/java/com/fr/design/mainframe/form/FormElementCaseDesigner.java

@ -293,10 +293,13 @@ public class FormElementCaseDesigner
/** /**
* 移除选择 * 移除选择
*/ */
@Override
public void removeSelection() { public void removeSelection() {
TemplateElementCase templateElementCase = this.elementCasePane.getEditingElementCase(); TemplateElementCase templateElementCase = this.elementCasePane.getEditingElementCase();
if (templateElementCase instanceof WorkSheet) { if (templateElementCase instanceof WorkSheet) {
((WorkSheet) templateElementCase).setPaintSelection(false); ((WorkSheet) templateElementCase).setPaintSelection(false);
} else if (templateElementCase instanceof FormElementCase) {
this.elementCasePane.setSelection(new CellSelection(0, 0, 0, 0));
} }
elementCasePane.repaint(); elementCasePane.repaint();
} }

Loading…
Cancel
Save