Browse Source

REPORT-31454 展示为折叠树-交互改进(非cptx不展示该面板)

feature/big-screen
yaohwu 4 years ago
parent
commit
64ea27b922
  1. 7
      designer-base/src/main/java/com/fr/design/fun/CellExpandAttrPanelProvider.java
  2. 4
      designer-base/src/main/java/com/fr/design/fun/impl/AbstractCellExpandAttrPanelProvider.java
  3. 19
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandExtraAttrPane.java

7
designer-base/src/main/java/com/fr/design/fun/CellExpandAttrPanelProvider.java

@ -18,4 +18,11 @@ public interface CellExpandAttrPanelProvider extends Mutable {
* @return 创建单元格属性-扩展设置中的额外面板
*/
BasicBeanPane<TemplateCellElement> createPanel();
/**
* 是否应该展示
*
* @return return {@code true} if extra panel is displayable
*/
boolean isDisplayable();
}

4
designer-base/src/main/java/com/fr/design/fun/impl/AbstractCellExpandAttrPanelProvider.java

@ -36,4 +36,8 @@ public class AbstractCellExpandAttrPanelProvider implements CellExpandAttrPanelP
public BasicBeanPane<TemplateCellElement> createPanel() {
return null;
}
public boolean isDisplayable() {
return true;
}
}

19
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandExtraAttrPane.java

@ -73,6 +73,7 @@ public class CellExpandExtraAttrPane extends JPanel {
}
public void populate(TemplateCellElement cellElement) {
refreshExtraPanel();
this.cellElement = cellElement;
if (extras != null) {
for (BasicBeanPane<TemplateCellElement> extra : extras) {
@ -91,6 +92,13 @@ public class CellExpandExtraAttrPane extends JPanel {
}
private void refresh() {
refreshExtraPanel();
if (this.cellElement != null) {
this.populate(cellElement);
}
}
private void refreshExtraPanel() {
this.removeAll();
if (extras == null) {
extras = new ArrayList<>();
@ -99,9 +107,11 @@ public class CellExpandExtraAttrPane extends JPanel {
Set<CellExpandAttrPanelProvider> attrProviders = ExtraDesignClassManager.getInstance().getArray(CellExpandAttrPanelProvider.MARK_STRING);
if (attrProviders != null) {
for (CellExpandAttrPanelProvider attrProvider : attrProviders) {
BasicBeanPane<TemplateCellElement> extra = attrProvider.createPanel();
if (extra != null) {
extras.add(extra);
if (attrProvider.isDisplayable()) {
BasicBeanPane<TemplateCellElement> extra = attrProvider.createPanel();
if (extra != null) {
extras.add(extra);
}
}
}
}
@ -115,9 +125,6 @@ public class CellExpandExtraAttrPane extends JPanel {
double[] columnSize = {TableLayout.PREFERRED, TableLayout.FILL};
JPanel content = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, H_GAP, V_GAP);
this.add(content, BorderLayout.CENTER);
if (this.cellElement != null) {
this.populate(cellElement);
}
this.validate();
this.repaint();
}

Loading…
Cancel
Save