Browse Source

REPORT-132393 & REPORT-133561 fix:NewUI 修复图标问题&图表区域遗漏翻新布局

fbp/release
Levy.Xie-解安森 3 months ago
parent
commit
537286eb30
  1. 2
      designer-base/src/main/java/com/fr/design/gui/itree/filetree/EnvFileTree.java
  2. 17
      designer-base/src/main/java/com/fr/design/gui/itree/filetree/FileTreeIcon.java
  3. 13
      designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority.svg
  4. 9
      designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority_open.svg
  5. 4
      designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
  6. 17
      designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubbleSeriesPane.java
  7. 11
      designer-chart/src/main/java/com/fr/van/chart/bubble/component/VanChartBubblePane.java
  8. 2
      designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java
  9. 41
      designer-chart/src/main/java/com/fr/van/chart/column/VanChartCustomStackAndAxisConditionPane.java
  10. 14
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java
  11. 21
      designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java
  12. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/VanChartAxisButtonPane.java
  13. 39
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java
  14. 9
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAreaBackgroundPane.java
  15. 3
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAxisAreaPane.java
  16. 29
      designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java
  17. 4
      designer-chart/src/main/java/com/fr/van/chart/designer/style/series/VanChartAbstractPlotSeriesPane.java
  18. 21
      designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/data/comp/DrillMapLayerPane.java
  19. 2
      designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/data/comp/MapDataTree.java
  20. 21
      designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelSeriesPane.java
  21. 3
      designer-chart/src/main/java/com/fr/van/chart/map/VanChartMapSeriesPane.java
  22. 14
      designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java
  23. 17
      designer-chart/src/main/java/com/fr/van/chart/map/designer/type/WMSLayerPane.java
  24. 11
      designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieSeriesPane.java
  25. 7
      designer-chart/src/main/java/com/fr/van/chart/pie/VanChartPieSeriesPane.java
  26. 17
      designer-chart/src/main/java/com/fr/van/chart/radar/VanChartRadarSeriesPane.java
  27. 11
      designer-chart/src/main/java/com/fr/van/chart/range/component/GradualIntervalConfigPane.java
  28. 15
      designer-chart/src/main/java/com/fr/van/chart/range/component/LegendLabelFormatPane.java
  29. 9
      designer-chart/src/main/java/com/fr/van/chart/treemap/style/VanChartTreeMapSeriesPane.java

2
designer-base/src/main/java/com/fr/design/gui/itree/filetree/EnvFileTree.java

@ -77,7 +77,7 @@ public class EnvFileTree extends RefreshableJTree {
}
this.setIcon(FileTreeIcon.getIconWithExpandAttr(node, expanded));
} else {
this.setIcon(FileTreeIcon.getFolderHalfImageIcon());
this.setIcon(FileTreeIcon.getFolderHalfImageIcon(expanded));
}
this.setText(name);
} else if (userObj == PENDING) {

17
designer-base/src/main/java/com/fr/design/gui/itree/filetree/FileTreeIcon.java

@ -49,9 +49,10 @@ public class FileTreeIcon {
public static final Icon FRM_FILE_LOCK_ICON = new LazyIcon("frm_locked");
public static final Icon FVS_FILE_LOCK_ICON = new LazyIcon("fvs_locked");
// TODO: 以下Icon视觉暂未提供,需提供后替换
public static final Icon FOLDER_HALF_IMAGE_ICON = new LazyIcon("folder_half_authority");
public static final Icon FOLDER_HALF_IMAGE_ICON_OPEN = new LazyIcon("folder_half_authority_open");
public static final Icon BLANK_IMAGE_ICON = BaseUtils.readIcon("/com/fr/design/images/gui/blank.gif");
public static final Icon FOLDER_HALF_IMAGE_ICON = IconUtils.readIcon("/com/fr/design/standard/fileicon/folder_half_authority.svg");
public static final Icon CPTX_LOCKED_ICON = IconUtils.readIcon("/com/fr/design/standard/fileicon/cptx_icon_locked.svg");
public static final LockIcon FOLDER_LOCK_ICON =
@ -130,7 +131,17 @@ public class FileTreeIcon {
}
public static Icon getFolderHalfImageIcon() {
return FOLDER_HALF_IMAGE_ICON;
return getFolderHalfImageIcon(false);
}
/**
* 获取文件夹有部分权限时的图标
*
* @param isExpand 文件夹是否已打开
* @return 图标
*/
public static Icon getFolderHalfImageIcon(boolean isExpand) {
return isExpand ? FOLDER_HALF_IMAGE_ICON_OPEN : FOLDER_HALF_IMAGE_ICON;
}
/**

13
designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority.svg

@ -0,0 +1,13 @@
<svg width="28" height="24" viewBox="0 0 28 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group 7828">
<path id="Rectangle 34624470" d="M1 2C1 0.89543 1.89543 0 3 0L11.0925 0.499999C11.6692 0.499999 12.2178 0.74896 12.5976 1.18299L14.9024 3.81701C15.2822 4.25104 15.8308 4.5 16.4075 4.5L24.5 3.81701C25.6046 3.81701 26.5 4.71244 26.5 5.81701L25.5 20.5C25.5 21.6046 24.6046 22.5 23.5 22.5H3.5C2.39543 22.5 1.5 21.6046 1.5 20.5L1 2Z" fill="#FFD46C"/>
<path id="Union (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M26.5 21.2502V21.625L27 22C27.0027 22 27.004 21.9982 27.0039 21.9947C27.0039 21.9914 27.0025 21.9866 27 21.9802C26.982 21.935 26.9027 21.8132 26.77 21.625C26.7307 21.5693 26.6868 21.5077 26.6383 21.4406C26.5956 21.3814 26.5495 21.3179 26.5 21.2502ZM26 18.0264L25 16.6595V22.375L25.1667 22.5H2.5C2.22386 22.5 2 22.2761 2 22V2C2 1.72386 2.22386 1.5 2.5 1.5H11.0925C11.2366 1.5 11.3738 1.56224 11.4688 1.67075L13.7735 4.30477C14.4381 5.06432 15.3983 5.5 16.4075 5.5H25.5C25.7761 5.5 26 5.72386 26 6V18.0264ZM26 20.8834V21.616L25.5043 21.9787C25.5052 21.8943 25.5132 21.8012 25.5329 21.7027C25.5378 21.6781 25.5437 21.6521 25.5507 21.625C25.5794 21.5137 25.6266 21.3835 25.703 21.2502C25.774 21.1264 25.8702 20.9998 26 20.8834ZM27.5 22C27.5 22.5072 27.3112 22.9703 27 23.3229C26.9447 23.3856 26.8856 23.4447 26.8229 23.5C26.4703 23.8112 26.0072 24 25.5 24H2.5C1.39543 24 0.5 23.1046 0.5 22V2C0.5 0.89543 1.39543 0 2.5 0H11.0925C11.6692 0 12.2178 0.248961 12.5976 0.682991L14.9024 3.31701C15.2822 3.75104 15.8308 4 16.4075 4H25.5C26.6046 4 27.5 4.89543 27.5 6V22Z" fill="#E2900B"/>
<path id="Rectangle 34624473" d="M0.5 10H26.5V22.1429C26.5 23.1685 25.5688 24 24.42 24H2.58C1.43125 24 0.5 23.1685 0.5 22.1429V10Z" fill="#F9AE31"/>
<path id="Rectangle 34624473 (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M26 10.5H2V22.1429C2 22.1826 2.01471 22.2536 2.10824 22.3371C2.20445 22.4231 2.36696 22.5 2.58 22.5H25.42C25.633 22.5 25.7955 22.4231 25.8918 22.3371C25.9853 22.2536 26 22.1826 26 22.1429V10.5ZM0.5 9V22.1429C0.5 23.1685 1.43125 24 2.58 24H25.42C26.5688 24 27.5 23.1685 27.5 22.1429V9H0.5Z" fill="#E2900B"/>
<g id="Group 1210707205">
<circle id="Ellipse 321" cx="13.75" cy="14.125" r="2.125" stroke="white" stroke-width="1.5"/>
<path id="Rectangle 34627591" d="M13 16.75H14.5V20.75C14.5 21.1642 14.1642 21.5 13.75 21.5C13.3358 21.5 13 21.1642 13 20.75V16.75Z" fill="white"/>
<path id="Rectangle 34627592" d="M15.75 17.75C16.1642 17.75 16.5 18.0858 16.5 18.5C16.5 18.9142 16.1642 19.25 15.75 19.25L13 19.25L13 17.75L15.75 17.75Z" fill="white"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

9
designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority_open.svg

@ -0,0 +1,9 @@
<svg width="28" height="24" viewBox="0 0 28 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group 7828">
<path id="Rectangle 34624470" d="M1.00007 3C1.00007 1.89543 0.395507 0.5 1.50008 0.5L10.5925 1C11.1693 1 11.7179 1.24896 12.0977 1.68299L14.4025 4.31701C14.7822 4.75104 15.3309 5 15.9076 5L22.5001 4.5C23.6046 4.5 24.0001 5.89543 24.0001 7L23.0001 22C23.0001 23.1046 23.1046 24 22.0001 24H3.00007C1.8955 24 1.00007 23.1046 1.00007 22V3Z" fill="#FFD46C"/>
<path id="Union (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M23.5 18.0264L22.5 16.6595V22.375L22.6667 22.5H2C1.72386 22.5 1.5 22.2761 1.5 22V2C1.5 1.72386 1.72386 1.5 2 1.5H9.59246C9.73664 1.5 9.87381 1.56224 9.96875 1.67075L12.2735 4.30477C12.9381 5.06432 13.8983 5.5 14.9075 5.5H23C23.2761 5.5 23.5 5.72386 23.5 6V18.0264ZM23.5 20.8834V21.616L23.0043 21.9787C23.0052 21.8943 23.0132 21.8012 23.0329 21.7027C23.0378 21.6781 23.0437 21.6521 23.0507 21.625C23.0794 21.5137 23.1266 21.3835 23.203 21.2502C23.274 21.1264 23.3702 20.9998 23.5 20.8834ZM25 22C25 22.5072 24.8112 22.9703 24.5 23.3229C24.4447 23.3856 24.3856 23.4447 24.3229 23.5C23.9703 23.8112 23.5072 24 23 24H2C0.895431 24 0 23.1046 0 22V2C0 0.89543 0.895431 0 2 0H9.59246C10.1692 0 10.7178 0.248961 11.0976 0.682991L13.4024 3.31701C13.7822 3.75104 14.3308 4 14.9075 4H23C24.1046 4 25 4.89543 25 6V22Z" fill="#E2900B"/>
<path id="Rectangle 34624994" d="M3.85904 12.4118C4.11725 11.5726 4.89258 11 5.77059 11H24.5855C25.9311 11 26.8928 12.3021 26.4971 13.5882L23.7279 22.5882C23.4696 23.4274 22.6943 24 21.8163 24H3.00136C1.65575 24 0.69408 22.6979 1.0898 21.4118L3.85904 12.4118Z" fill="#F9AE31"/>
<path id="Rectangle 34624994 (Stroke)" fill-rule="evenodd" clip-rule="evenodd" d="M25.9957 12.5H5.18075C4.96125 12.5 4.76741 12.6432 4.70286 12.853L1.93363 21.853C1.8347 22.1745 2.07512 22.5 2.41152 22.5H23.2264C23.446 22.5 23.6398 22.3568 23.7043 22.147L26.4736 13.147C26.5725 12.8255 26.3321 12.5 25.9957 12.5ZM5.18075 11C4.30274 11 3.5274 11.5726 3.26919 12.4118L0.499961 21.4118C0.104236 22.6979 1.06591 24 2.41152 24H23.2264C24.1045 24 24.8798 23.4274 25.138 22.5882L27.9072 13.5882C28.303 12.3021 27.3413 11 25.9957 11H5.18075Z" fill="#E2900B"/>
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M14.125 17.5C14.125 16.7406 13.5094 16.125 12.75 16.125C11.9906 16.125 11.375 16.7406 11.375 17.5C11.375 18.2594 11.9906 18.875 12.75 18.875C13.5094 18.875 14.125 18.2594 14.125 17.5ZM12.75 14.625C14.0784 14.625 15.1963 15.5259 15.5262 16.75L16.375 16.75L16.375 15.5C16.375 15.0858 16.7108 14.75 17.125 14.75C17.5392 14.75 17.875 15.0858 17.875 15.5L17.875 16.75L19.375 16.75C19.7892 16.75 20.125 17.0858 20.125 17.5C20.125 17.9142 19.7892 18.25 19.375 18.25L17.875 18.25L16.375 18.25L15.5262 18.25C15.1963 19.4741 14.0784 20.375 12.75 20.375C11.1622 20.375 9.875 19.0878 9.875 17.5C9.875 15.9122 11.1622 14.625 12.75 14.625Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

4
designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json

@ -448,7 +448,9 @@
"layout_left": "layout/layout_left.svg",
"layout_right": "layout/layout_right.svg",
"layout_top_right": "layout/layout_top_right.svg",
"theme_edit": "theme_edit.svg"
"theme_edit": "theme_edit.svg",
"folder_half_authority" : "filetree/folder_half_authority.svg",
"folder_half_authority_open" : "filetree/folder_half_authority_open.svg"
}
}

17
designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubbleSeriesPane.java

@ -1,17 +1,16 @@
package com.fr.van.chart.bubble;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.plugin.chart.bubble.VanChartBubblePlot;
import com.fr.plugin.chart.bubble.attr.VanChartAttrBubble;
import com.fr.van.chart.bubble.component.VanChartBubblePane;
import com.fr.van.chart.custom.component.VanChartCustomAxisConditionPane;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.style.series.VanChartColorValueSeriesPane;
import com.fr.van.chart.designer.style.series.VanChartStackedAndAxisListControlPane;
@ -31,12 +30,6 @@ public class VanChartBubbleSeriesPane extends VanChartColorValueSeriesPane {
}
protected JPanel getContentInPlotType() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] row = {p, p, p, p, p, p};
double[] col = {f};
Component[][] components = new Component[][]{
new Component[]{createBubblePane()},
new Component[]{createStackedAndAxisPane()},
@ -47,7 +40,7 @@ public class VanChartBubbleSeriesPane extends VanChartColorValueSeriesPane {
components[2] = new Component[]{createLargeDataModelPane()};
}
contentPane = TableLayoutHelper.createTableLayoutPane(components, row, col);
contentPane = FineLayoutBuilder.compatibleTableLayout(0, components, new double[]{1});
return contentPane;
}
@ -71,13 +64,13 @@ public class VanChartBubbleSeriesPane extends VanChartColorValueSeriesPane {
return Toolkit.i18nText("Fine-Design_Chart_Custom_Axis");
}
};
stackAndAxisEditExpandablePane = TableLayout4VanChartHelper.createExpandablePaneWithTitle(stackAndAxisEditPane.getPaneTitle(), stackAndAxisEditPane);
stackAndAxisEditExpandablePane = new UIExpandablePane(stackAndAxisEditPane.getPaneTitle(), stackAndAxisEditPane);
return stackAndAxisEditExpandablePane;
}
private JPanel createBubblePane() {
bubblePane = new VanChartBubblePane();
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Bubble"), bubblePane);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Bubble"), bubblePane, true);
}
protected void populateCondition(ConditionAttr defaultAttr) {

11
designer-chart/src/main/java/com/fr/van/chart/bubble/component/VanChartBubblePane.java

@ -1,12 +1,11 @@
package com.fr.van.chart.bubble.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.plugin.chart.bubble.attr.VanChartAttrBubble;
@ -39,17 +38,11 @@ public class VanChartBubblePane extends BasicBeanPane<VanChartAttrBubble> {
}
protected JPanel getContentPane () {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] row = {p, p, p, p, p};
double[] col = {p, f};
return TableLayoutHelper.createTableLayoutPane(getComponent(), row, col);
return FineLayoutBuilder.compatibleTableLayout(10, getComponent(), new double[]{1.2, 3});
}
protected Component[][] getComponent () {
return new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Min_Diameter")), minDiameter},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Max_Diameter")), maxDiameter},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Shadow")), shadow},

2
designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java

@ -79,7 +79,7 @@ public class VanChartColumnSeriesPane extends VanChartAbstractPlotSeriesPane {
isFixedWidth.addActionListener(e -> checkColumnWidth());
isFillWithImage.addActionListener(e -> checkImagePane());
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Filled_With_Image"), borderPane);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Filled_With_Image"), borderPane, true);
}
private void checkAll() {

41
designer-chart/src/main/java/com/fr/van/chart/column/VanChartCustomStackAndAxisConditionPane.java

@ -1,29 +1,26 @@
package com.fr.van.chart.column;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.chart.chartglyph.ConditionAttr;
import com.fr.data.condition.AbstractCondition;
import com.fr.data.condition.ListCondition;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.condition.LiteConditionPane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.plugin.chart.base.AttrSeriesStackAndAxis;
import com.fr.van.chart.designer.style.series.VanChartSeriesConditionPane;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
import javax.swing.ScrollPaneConstants;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* 堆积和坐标轴设置
*/
@ -42,36 +39,26 @@ public class VanChartCustomStackAndAxisConditionPane extends BasicBeanPane<Condi
}
private void doLayoutPane() {
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
this.setLayout(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
this.removeAll();
//配置界面
JPanel deployPane = FRGUIPaneFactory.createBorderLayout_L_Pane();
deployPane.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Deploy") + ":", null));
deployPane.add(createDeployPane());
UIScrollPane scrollPane = new UIScrollPane(deployPane);
scrollPane.setBorder(BorderFactory.createEmptyBorder());
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
this.add(scrollPane);
Component deployPane = FineUIUtils.wrapComponentWithTitle(createDeployPane(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Deploy"));
this.add(deployPane, BorderLayout.NORTH);
//条件界面
JPanel conditionPane = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.add(conditionPane);
conditionPane.setBorder(BorderFactory.createEmptyBorder());
JPanel conditionPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
conditionPane.add(liteConditionPane = new VanChartSeriesConditionPane());
liteConditionPane.setPreferredSize(new Dimension(300, 300));
this.add(conditionPane, BorderLayout.CENTER);
this.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
}
private JPanel createDeployPane() {
isStacked = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_YES"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_NO")});
isPercentStacked = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_YES"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_NO")});
double p = TableLayout.PREFERRED;
double[] columnSize = {p, p};
double[] rowSize = {p, p, p, p};
return TableLayoutHelper.createTableLayoutPane(getDeployComponents(), rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, getDeployComponents(), new double[]{1.2, 3});
}
protected Component[][] getDeployComponents() {

14
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java

@ -1,14 +1,14 @@
package com.fr.van.chart.designer.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.plugin.chart.VanChartAttrHelper;
import com.fr.plugin.chart.base.AttrAreaSeriesFillColorBackground;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.background.VanChartMarkerBackgroundPane;
import javax.swing.JPanel;
@ -24,14 +24,9 @@ public class VanChartAreaSeriesFillColorPane extends BasicPane {
private UINumberDragPane transparent;
public VanChartAreaSeriesFillColorPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] row = {p,p};
double[] col = {f};
fillColorPane = new VanChartMarkerBackgroundPane(){
protected Component[][] getPaneComponents() {
return new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Fill_Color")), typeComboBox},
new Component[]{null, centerPane},
};
@ -39,9 +34,10 @@ public class VanChartAreaSeriesFillColorPane extends BasicPane {
};
transparent = new UINumberDragPaneWithPercent(0, 100);
JPanel transparentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha"), transparent);
JPanel transparentPane = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3},
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha")), transparent);
this.setLayout(new BorderLayout());
this.setLayout(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
this.add(fillColorPane, BorderLayout.NORTH);
this.add(transparentPane, BorderLayout.CENTER);
}

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

@ -38,7 +38,6 @@ import com.fr.stable.Constants;
import com.fr.stable.CoreConstants;
import com.fr.stable.StableUtils;
import com.fr.van.chart.config.DefaultStyleHelper4Van;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartHtmlLabelPane;
import com.fr.van.chart.designer.style.VanChartStylePane;
import com.fr.van.chart.designer.style.axis.component.VanChartCategoryStylePaneWithCheckBox;
@ -372,19 +371,15 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane<VanChartAxis> {
maxProportion = new UINumberDragPaneWithPercent(0, 100, 1);
axisLimitSize = new UIButtonGroup<Integer>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Limit"), Toolkit.i18nText("Fine-Design_Chart_Not_Limit")});
JPanel limitSizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Area_Size"), axisLimitSize);
maxProportionPane = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Max_Proportion"), maxProportion, TableLayout4VanChartHelper.SECOND_EDIT_AREA_WIDTH);
maxProportionPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0));
JPanel panel = new JPanel(new BorderLayout());
panel.add(limitSizePane, BorderLayout.NORTH);
panel.add(maxProportionPane, BorderLayout.CENTER);
JPanel limitSizePane = FineLayoutBuilder.createHorizontalLayout(10, new double[]{1.2, 3},
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Area_Size")), axisLimitSize);
maxProportionPane = FineLayoutBuilder.createHorizontalLayout(10, new double[]{1.2, 3},
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Max_Proportion")), maxProportion);
JPanel panel = column(10,
cell(limitSizePane), cell(maxProportionPane)
).getComponent();
axisLimitSize.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
checkMaxProPortionUse();
}
});
axisLimitSize.addActionListener(e -> checkMaxProPortionUse());
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Display_Strategy"), panel, true);

3
designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/VanChartAxisButtonPane.java

@ -10,6 +10,7 @@ import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.gui.imenu.UIMenuItem;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.VanChartAttrHelper;
@ -56,7 +57,7 @@ public class VanChartAxisButtonPane extends BasicBeanPane<VanChartAxisPlot> {
public VanChartAxisButtonPane(VanChartAxisPane vanChartAxisPane) {
this.parent = vanChartAxisPane;
this.setLayout(new BorderLayout());
this.setLayout(FRGUIPaneFactory.createScaledBorderLayout(10, 0));
addButton = new AddButton(new LazyIcon("add_popup"));
JPanel eastPane = new JPanel(new BorderLayout());

39
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java

@ -1,5 +1,8 @@
package com.fr.van.chart.designer.style.background;
import com.fine.swing.ui.layout.Column;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.Utils;
import com.fr.chart.base.AttrColor;
@ -14,12 +17,8 @@ import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.ispinner.chart.UISpinnerWithPx;
import com.fr.design.gui.style.FRFontPane;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.style.color.ColorSelectBox;
import com.fr.design.utils.DesignUtils;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.FRFont;
import com.fr.general.GeneralUtils;
import com.fr.plugin.chart.VanChartAttrHelper;
@ -29,10 +28,10 @@ import com.fr.stable.Constants;
import com.fr.stable.StableUtils;
import com.fr.van.chart.designer.component.LineTypeComboBox;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
@ -108,26 +107,24 @@ public class VanChartAlertValuePane extends BasicBeanPane<VanChartAlertValue> {
private void doLayoutPane() {
this.removeAll();
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
this.setLayout(new BorderLayout());
Column column = new Column();
column.setSpacing(10);
this.add(column, BorderLayout.CENTER);
//警戒线设置
JPanel top = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.add(top);
top.setBorder(GUICoreUtils.createTitledBorder(Toolkit.i18nText("Fine-Design_Chart_Alert_Set") + ":", null));
top.add(createTopPane());
Component top = FineUIUtils.wrapComponentWithTitle(createTopPane(), Toolkit.i18nText("Fine-Design_Chart_Alert_Set"));
column.add(top);
//提示文字
JPanel bottom = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.add(bottom);
bottom.setBorder(GUICoreUtils.createTitledBorder(Toolkit.i18nText("Fine-Design_Chart_Alert_Text") + ":", null));
bottom.add(createBottomPane());
Component bottom = FineUIUtils.wrapComponentWithTitle(createBottomPane(), Toolkit.i18nText("Fine-Design_Chart_Alert_Text"));
column.add(bottom);
}
protected JPanel createTopPane() {
double p = TableLayout.PREFERRED;
double[] columnSize = {p, p};
double[] rowSize = {p, p, p, p, p};
Component[][] components = getTopPaneComponents();
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
}
protected Component[][] getTopPaneComponents() {
@ -141,10 +138,6 @@ public class VanChartAlertValuePane extends BasicBeanPane<VanChartAlertValue> {
}
private JPanel createBottomPane() {
alertTextPosition.setSelectedIndex(0);
double p = TableLayout.PREFERRED;
double[] columnSize = {p, p};
double[] rowSize = {p, p, p, p, p};
Component[][] components = new Component[][]{
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Layout_Position")), alertTextPosition},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Content")), alertText},
@ -153,7 +146,7 @@ public class VanChartAlertValuePane extends BasicBeanPane<VanChartAlertValue> {
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Color")), fontColor},
};
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
}
private void checkPositionPane() {

9
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAreaBackgroundPane.java

@ -1,12 +1,14 @@
package com.fr.van.chart.designer.style.background;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.chart.chartattr.Chart;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.frpane.AbstractAttrNoScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.chart.PaneTitleConstants;
import com.fr.design.mainframe.chart.mode.ChartEditContext;
import com.fr.van.chart.designer.AbstractVanChartScrollPane;
@ -15,7 +17,6 @@ import com.fr.van.chart.designer.component.background.VanChartBackgroundPaneWith
import com.fr.van.chart.designer.component.border.VanChartBorderWithRadiusPane;
import com.fr.van.chart.designer.style.background.radar.VanChartRadarAxisAreaPane;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
@ -44,7 +45,7 @@ public class VanChartAreaBackgroundPane extends AbstractVanChartScrollPane<Chart
@Override
protected JPanel createContentPane() {
contentPane = new JPanel(new BorderLayout());
contentPane = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
chartBorderPane = new VanChartBorderWithRadiusPane();
if(isPlot) {
chartBackgroundPane = new VanChartBackgroundPane();
@ -61,7 +62,6 @@ public class VanChartAreaBackgroundPane extends AbstractVanChartScrollPane<Chart
if (!isPlot) {
tooltipLabel = new UILabel("<html>" + Toolkit.i18nText("Fine-Design_Chart_Background_Tooltip") + "</html>");
tooltipLabel.setForeground(Color.gray);
tooltipLabel.setBorder(BorderFactory.createEmptyBorder(0, 10, 5, 10));
contentPane.add(tooltipLabel, BorderLayout.NORTH);
tooltipLabel.setVisible(false);
}
@ -87,7 +87,8 @@ public class VanChartAreaBackgroundPane extends AbstractVanChartScrollPane<Chart
};
}
JPanel panel = FineLayoutBuilder.compatibleTableLayout(0, components, new double[]{1});
JPanel panel = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1});
panel.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
contentPane.add(panel, BorderLayout.CENTER);
parent.initAllListeners();

3
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAxisAreaPane.java

@ -8,6 +8,7 @@ import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.chart.gui.style.ColorSelectBoxWithThemeStyle;
import com.fr.design.style.color.ColorSelectBox;
import com.fr.general.ComparatorUtils;
@ -154,7 +155,7 @@ public class VanChartAxisAreaPane extends BasicBeanPane<Plot> {
checkCardPane();
}
});
JPanel intervalPane = new JPanel(new BorderLayout(0, 6));
JPanel intervalPane = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
JPanel panel1 = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3},
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Interval_Background")), isDefaultIntervalBackground);
intervalPane.add(panel1, BorderLayout.NORTH);

29
designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartCustomIntervalBackgroundPane.java

@ -1,5 +1,7 @@
package com.fr.van.chart.designer.style.background;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.Utils;
import com.fr.design.beans.BasicBeanPane;
@ -9,19 +11,14 @@ import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.style.color.ColorSelectBox;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.plugin.chart.VanChartAttrHelper;
import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import javax.swing.BoxLayout;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
/**
* 自定义间隔背景设置
@ -38,25 +35,17 @@ public class VanChartCustomIntervalBackgroundPane extends BasicBeanPane<VanChart
private VanChartCustomIntervalBackground customIntervalBackground;
private void doLayoutPane(){
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
//
JPanel top = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.setLayout(new BorderLayout());
this.removeAll();
this.add(top);
top.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Interval_Background") + ":", null));
top.add(createContentPane());
this.add(FineUIUtils.wrapComponentWithTitle(createContentPane(),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom_Interval_Background")), BorderLayout.CENTER);
}
private JPanel createContentPane() {
bottomValue = new DefaultTinyFormulaPane();
topValue = new DefaultTinyFormulaPane();
bottomValue.setPreferredSize(new Dimension(124,20));
topValue.setPreferredSize(new Dimension(124,20));
color = new ColorSelectBox(100);
transparent = new UINumberDragPaneWithPercent(0,100);
double p = TableLayout.PREFERRED;
double[] columnSize = {p,p};
double[] rowSize = {p,p,p};
JPanel axisPane = TableLayout4VanChartHelper.createTableLayoutPaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Axis"), backgroundAxis);
@ -64,19 +53,19 @@ public class VanChartCustomIntervalBackgroundPane extends BasicBeanPane<VanChart
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Bottom_Value")),bottomValue},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Top_Value")),topValue},
};
JPanel temp = TableLayoutHelper.createTableLayoutPane(rangeComponents, rowSize, columnSize);
JPanel temp = FineLayoutBuilder.compatibleTableLayout(10, rangeComponents, new double[]{1.2, 3});
JPanel rangePane = TableLayout4VanChartHelper.createTableLayoutPaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Range"), temp);
Component[][] styleComponents = new Component[][]{
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Color")),color},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Alpha")),transparent},
};
temp = TableLayoutHelper.createTableLayoutPane(styleComponents, rowSize, columnSize);
temp = FineLayoutBuilder.compatibleTableLayout(10, styleComponents, new double[]{1.2, 3});
JPanel stylePane = TableLayout4VanChartHelper.createTableLayoutPaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Style_Name"), temp);
Component[][] components = getPaneComponents(axisPane, rangePane, stylePane);
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
}
protected Component[][] getPaneComponents(JPanel axisPane, JPanel rangePane, JPanel stylePane) {

4
designer-chart/src/main/java/com/fr/van/chart/designer/style/series/VanChartAbstractPlotSeriesPane.java

@ -152,7 +152,7 @@ public abstract class VanChartAbstractPlotSeriesPane extends AbstractPlotSeriesP
//趋势线
protected JPanel createTrendLinePane() {
trendLinePane = new VanChartTrendLinePane();
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_TrendLine"), trendLinePane, true);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_TrendLine"), trendLinePane);
}
//线
@ -181,7 +181,7 @@ public abstract class VanChartAbstractPlotSeriesPane extends AbstractPlotSeriesP
protected JPanel createBorderPane() {
borderPane = createDiffBorderPane();
borderPane.setBorder(new ScaledEmptyBorder(0, 0, 10, 0));
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Border"), borderPane);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Border"), borderPane, true);
}

21
designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/data/comp/DrillMapLayerPane.java

@ -2,12 +2,12 @@ package com.fr.van.chart.drillmap.designer.data.comp;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.design.border.FineBorderFactory;
import com.fr.design.dialog.BasicScrollPane;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.drillmap.DrillMapHelper;
import com.fr.plugin.chart.drillmap.VanChartDrillMapPlot;
@ -15,10 +15,8 @@ import com.fr.plugin.chart.map.data.MapMatchResult;
import com.fr.plugin.chart.map.server.CompatibleGeoJSONTreeHelper;
import com.fr.plugin.chart.type.MapType;
import com.fr.plugin.chart.type.ZoomLevel;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.map.designer.type.MapStatusPane;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.util.ArrayList;
@ -66,7 +64,9 @@ public class DrillMapLayerPane extends BasicScrollPane<ChartCollection> {
}
JPanel mapDataTreePanel = new JPanel(new BorderLayout());
mapDataTreePanel.add(mapDataTree);
UIScrollPane treeScrollPane = new UIScrollPane(mapDataTree);
treeScrollPane.setBorder(FineBorderFactory.createWrappedRoundBorder());
mapDataTreePanel.add(treeScrollPane, BorderLayout.CENTER);
Component[][] components = new Component[][]{
new Component[]{new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layer_Tree"), mapDataTreePanel, true)},
@ -78,28 +78,23 @@ public class DrillMapLayerPane extends BasicScrollPane<ChartCollection> {
}
private JPanel createLayerDetailPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {f, p, p};
double[] rowSize = new double[depth + 1];
detailComps = new Component[depth + 1][3];
rowSize[0] = p;
detailComps[0] = new Component[]{
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Descriptor")),
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Zoom_Layer")),
null,
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layer_Map_Type"))
};
for (int i = 0; i < depth; i++) {
rowSize[i + 1] = p;
int d = i + 1;
UILabel label = new UILabel(String.format("%s%d%s", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Index_Article"), d, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Index_Layer")));
UIComboBox level = new UIComboBox(MapStatusPane.ZOOM_LEVELS);
level.setEnabled(i != 0);
UIComboBox type = new UIComboBox(TEMP.get(oldMapType));
detailComps[i + 1] = new Component[]{label, level, type};
detailComps[i + 1] = new Component[]{label, level, null, type};
}
return TableLayoutHelper.createGapTableLayoutPane(detailComps, rowSize, columnSize, 5, 6);
return FineLayoutBuilder.compatibleTableLayout(10, detailComps, new double[]{1.2, 1.4, 0.2, 1.4});
}
/**

2
designer-chart/src/main/java/com/fr/van/chart/drillmap/designer/data/comp/MapDataTree.java

@ -1,7 +1,6 @@
package com.fr.van.chart.drillmap.designer.data.comp;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.border.FineBorderFactory;
import com.fr.general.ComparatorUtils;
import com.fr.plugin.chart.map.designer.type.GEOJSONTreeHelper;
import com.fr.plugin.chart.map.server.ChartGEOJSONHelper;
@ -35,7 +34,6 @@ public class MapDataTree extends JTree {
this.setShowsRootHandles(true);
this.setInvokesStopCellEditing(true);
this.setCellRenderer(treeCellRenderer);
setBorder(FineBorderFactory.createWrappedRoundBorder());
setStyle(this, PURE_TREE);
}

21
designer-chart/src/main/java/com/fr/van/chart/funnel/designer/style/VanChartFunnelSeriesPane.java

@ -1,15 +1,14 @@
package com.fr.van.chart.funnel.designer.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.plugin.chart.funnel.FunnelSortType;
import com.fr.plugin.chart.funnel.VanChartFunnelPlot;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.style.series.VanChartAbstractPlotSeriesPane;
import javax.swing.JPanel;
@ -27,16 +26,12 @@ public class VanChartFunnelSeriesPane extends VanChartAbstractPlotSeriesPane {
}
protected JPanel getContentInPlotType() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {f};
double[] rowSize = {p,p,p,p,p,p,p,p,p,p};
Component[][] components = new Component[][]{
new Component[]{createFunnelStylePane()},
new Component[]{createBorderPane()},
};
contentPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
contentPane = FineLayoutBuilder.compatibleTableLayout(0, components, new double[]{1});
return contentPane;
}
@ -57,20 +52,14 @@ public class VanChartFunnelSeriesPane extends VanChartAbstractPlotSeriesPane {
Toolkit.i18nText("Fine-Design_Chart_Origin_Sort")
});
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
double[] rowSize = {p,p,p};
Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Continuity")), useSameSlantAngle},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Sort")), sort},
};
JPanel panel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
JPanel panel = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Style_Name"), panel);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Style_Name"), panel, true);
}
public void populateBean(Plot plot) {

3
designer-chart/src/main/java/com/fr/van/chart/map/VanChartMapSeriesPane.java

@ -11,6 +11,7 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.design.style.color.ColorSelectBox;
import com.fr.design.utils.gui.GUICoreUtils;
@ -273,7 +274,7 @@ public class VanChartMapSeriesPane extends VanChartColorValueSeriesPane {
//获取颜色面板
private JPanel getColorPane(MapType paneType) {
JPanel panel = new JPanel(new BorderLayout());
JPanel panel = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
stylePane = createStylePane();
mapType = ((VanChartMapPlot) plot).getAllLayersMapType();
if (mapType != MapType.CUSTOM && mapType != MapType.DRILL_CUSTOM) {

14
designer-chart/src/main/java/com/fr/van/chart/map/designer/style/label/VanChartMapLabelContentPane.java

@ -1,10 +1,11 @@
package com.fr.van.chart.map.designer.style.label;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.jxbrowser.JxUIPane;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.plugin.chart.base.AttrTooltipContent;
import com.fr.plugin.chart.base.format.AttrTooltipAreaNameFormat;
import com.fr.plugin.chart.base.format.AttrTooltipFormat;
@ -13,7 +14,6 @@ import com.fr.plugin.chart.base.format.AttrTooltipPercentFormat;
import com.fr.plugin.chart.base.format.AttrTooltipSeriesFormat;
import com.fr.plugin.chart.base.format.AttrTooltipValueFormat;
import com.fr.plugin.chart.type.TextAlign;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartLabelContentPane;
import com.fr.van.chart.designer.component.format.MapAreaNameFormatPaneWithCheckBox;
import com.fr.van.chart.designer.component.format.PercentFormatPaneWithCheckBox;
@ -67,18 +67,12 @@ public class VanChartMapLabelContentPane extends VanChartLabelContentPane {
protected JPanel getLabelContentPane(JPanel contentPane) {
showAllSeries = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Show_All_Series"));
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
double p = TableLayout.PREFERRED;
double[] row = {p, p};
Component[][] components = {
new Component[]{null, null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Display_Strategy")), showAllSeries}
};
checkPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, columnSize);
checkPane = FineLayoutBuilder.compatibleTableLayout(0, components, new double[]{1.2, 3});
JPanel panel = new JPanel(new BorderLayout());
JPanel panel = new JPanel(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
panel.add(contentPane, BorderLayout.CENTER);
panel.add(checkPane, BorderLayout.SOUTH);
return createTableLayoutPaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Content"), panel);

17
designer-chart/src/main/java/com/fr/van/chart/map/designer/type/WMSLayerPane.java

@ -1,6 +1,7 @@
package com.fr.van.chart.map.designer.type;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener;
@ -9,11 +10,10 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.plugin.chart.base.GisLayer;
import com.fr.plugin.chart.map.layer.WMSLayer;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
@ -55,24 +55,19 @@ public class WMSLayerPane extends JPanel implements UIObserver {
public WMSLayerPane() {
final double p = TableLayout.PREFERRED;
double[] rowSize = {p};
double[] COLUMN_SIZE = {TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH, 84, 44};
wmsUrl = new UITextArea();
connectButton = new UIButton(Toolkit.i18nText("Fine-Design_Chart_Connect_WMP"));
Component[][] comps = new Component[][]{
new Component[]{new UILabel("url"), wmsUrl, connectButton}
new Component[]{new UILabel("url"), wmsUrl, null, connectButton}
};
JPanel northPane = TableLayout4VanChartHelper.createGapTableLayoutPane(comps, rowSize, COLUMN_SIZE);
northPane.setBorder(TableLayout4VanChartHelper.SECOND_EDIT_AREA_BORDER);
JPanel northPane = FineLayoutBuilder.compatibleTableLayout(10, comps, new double[]{1.2, 1.4, 0.2, 1.4});
wmsLayerPane = new JPanel(new BorderLayout());
resetWMSLayerPane(new ArrayList<>());
this.setLayout(new BorderLayout(0, 6));
this.setLayout(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
this.add(northPane, BorderLayout.NORTH);
this.add(wmsLayerPane, BorderLayout.CENTER);
addListener();
@ -136,7 +131,7 @@ public class WMSLayerPane extends JPanel implements UIObserver {
wmsLayerCheckBoxs.add(checkBox);
}
wmsLayerPane.add(TableLayoutHelper.createCommonTableLayoutPane(comps, rowSize, COLUMN_SIZE, 0), BorderLayout.CENTER);
wmsLayerPane.add(FineLayoutBuilder.compatibleTableLayout(10, comps, new double[]{1.2, 3}), BorderLayout.CENTER);
updateUI();
}

11
designer-chart/src/main/java/com/fr/van/chart/multilayer/style/VanChartMultiPieSeriesPane.java

@ -1,15 +1,15 @@
package com.fr.van.chart.multilayer.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.plugin.chart.multilayer.VanChartMultiPiePlot;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartBeautyPane;
import com.fr.van.chart.pie.VanChartPieSeriesPane;
@ -39,7 +39,7 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
new Component[]{createBorderPane()},
};
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1});
}
protected JPanel createSeriesStylePane(double[] row, double[] col) {
@ -54,7 +54,6 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")});
Component[][] components = new Component[][]{
new Component[]{null,null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Gradual_Level") ),gradualLevel},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Start_Angle") ),startAngle},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_End_Angle")),endAngle},
@ -63,8 +62,8 @@ public class VanChartMultiPieSeriesPane extends VanChartPieSeriesPane {
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Rotation")),supportRotation}
};
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col);
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel);
JPanel panel = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
return new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel, true);
}
protected void populatePieAttr() {

7
designer-chart/src/main/java/com/fr/van/chart/pie/VanChartPieSeriesPane.java

@ -1,6 +1,7 @@
package com.fr.van.chart.pie;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.frpane.UINumberDragPane;
@ -9,7 +10,6 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.design.i18n.Toolkit;
@ -48,7 +48,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
new Component[]{createBorderPane()},
};
return TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize);
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1});
}
@ -60,7 +60,6 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
Component[][] components = new Component[][]{
new Component[]{null,null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Start_Angle")),startAngle},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_End_Angle")),endAngle},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Inner_Radius")),innerRadius},
@ -69,7 +68,7 @@ public class VanChartPieSeriesPane extends VanChartAbstractPlotSeriesPane {
};
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col);
JPanel panel = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel, true);
}

17
designer-chart/src/main/java/com/fr/van/chart/radar/VanChartRadarSeriesPane.java

@ -1,15 +1,15 @@
package com.fr.van.chart.radar;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.plugin.chart.radar.VanChartRadarPlot;
import com.fr.plugin.chart.type.RadarType;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartLineTypePane;
import com.fr.van.chart.designer.component.VanChartLineWidthPane;
import com.fr.van.chart.designer.style.series.VanChartAbstractPlotSeriesPane;
@ -32,12 +32,8 @@ public class VanChartRadarSeriesPane extends VanChartAbstractPlotSeriesPane {
}
protected JPanel getContentInPlotType(){
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] row = {p,p,p,p,p,p,p};
double[] col = {f};
contentPane = TableLayoutHelper.createTableLayoutPane(getPaneComponents(), row, col);
contentPane = FineLayoutBuilder.compatibleTableLayout(10, getPaneComponents(), new double[]{1});
return contentPane;
}
@ -67,8 +63,9 @@ public class VanChartRadarSeriesPane extends VanChartAbstractPlotSeriesPane {
private JPanel createRadarTypePane() {
radarType = new UIButtonGroup<String>(new String[]{Toolkit.i18nText("Fine-Design_Chart_Circle"), Toolkit.i18nText("Fine-Design_Chart_Polygonal")},
new String[]{RadarType.CIRCLE.getType(), RadarType.POLYGON.getType()});
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(Toolkit.i18nText("Fine-Design_Chart_Shape"), radarType);
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Fine-Design_Chart_Style_Present"), panel);
JPanel panel = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3},
new UILabel(Toolkit.i18nText("Fine-Design_Chart_Shape")), radarType);
return new UIExpandablePane(Toolkit.i18nText("Fine-Design_Chart_Style_Present"), panel, true);
}
protected VanChartLineTypePane getLineTypePane() {

11
designer-chart/src/main/java/com/fr/van/chart/range/component/GradualIntervalConfigPane.java

@ -1,11 +1,10 @@
package com.fr.van.chart.range.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.gui.frpane.UINumberDragPane;
import com.fr.design.gui.ilable.BoldFontTextLabel;
import com.fr.design.layout.TableLayout;
import com.fr.design.mainframe.chart.gui.ColorSelectBoxWithOutTransparent;
import com.fr.plugin.chart.range.GradualIntervalConfig;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.style.axis.component.MinMaxValuePaneWithOutTick;
import javax.swing.JPanel;
@ -51,16 +50,10 @@ public class GradualIntervalConfigPane extends JPanel {
legendGradientBar = createLegendGradientBar();
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] col = new double[]{f, e};
double[] row = new double[]{p, p, p, p};
Component[][] components = getPaneComponents(minMaxValuePane, colorSelectBox, numberDragPane, legendGradientBar);
//控件承载面板
JPanel contentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, row, col);
JPanel contentPane = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
this.setLayout(new BorderLayout());
this.add(contentPane, BorderLayout.CENTER);
}

15
designer-chart/src/main/java/com/fr/van/chart/range/component/LegendLabelFormatPane.java

@ -1,12 +1,12 @@
package com.fr.van.chart.range.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.base.LegendLabelFormat;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.style.FormatPane;
import com.fr.design.layout.TableLayout;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartHtmlLabelPaneWithOutWidthAndHeight;
import com.fr.van.chart.designer.component.format.FormatPaneWithOutFont;
import com.fr.van.chart.designer.style.VanChartStylePane;
@ -47,7 +47,6 @@ public class LegendLabelFormatPane extends JPanel {
}
};
htmlLabelPane = new VanChartHtmlLabelPaneWithOutWidthAndHeight();
htmlLabelPane.setBorder(BorderFactory.createEmptyBorder(0, (int) TableLayout4VanChartHelper.DESCRIPTION_AREA_WIDTH + TableLayout4VanChartHelper.COMPONENT_INTERVAL, 0, 0));
centerPane = new JPanel(new CardLayout()) {
@Override
@ -63,17 +62,11 @@ public class LegendLabelFormatPane extends JPanel {
centerPane.add(htmlLabelPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Custom"));
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
double[] rowSize = {p, p, p};
Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Label_Format"), SwingConstants.LEFT), labelFormatStyle},
new Component[]{centerPane, null},
};
JPanel contentPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize);
JPanel contentPane = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
labelFormatStyle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@ -82,7 +75,7 @@ public class LegendLabelFormatPane extends JPanel {
});
labelFormatStyle.setSelectedIndex(0);
JPanel panel = TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Format"), contentPane);
JPanel panel = new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Use_Format"), contentPane, true);
this.setLayout(new BorderLayout());
this.add(panel, BorderLayout.CENTER);
}

9
designer-chart/src/main/java/com/fr/van/chart/treemap/style/VanChartTreeMapSeriesPane.java

@ -1,11 +1,13 @@
package com.fr.van.chart.treemap.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot;
import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.mainframe.chart.gui.ChartStylePane;
import com.fr.plugin.chart.treemap.VanChartTreeMapPlot;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.multilayer.style.VanChartMultiPieSeriesPane;
import javax.swing.JPanel;
@ -22,8 +24,9 @@ public class VanChartTreeMapSeriesPane extends VanChartMultiPieSeriesPane {
protected JPanel createSeriesStylePane(double[] row, double[] col) {
supportDrill = new UIButtonGroup<Integer>(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Open"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Close")});
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Drill"), supportDrill);
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel);
JPanel panel = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3},
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Drill")), supportDrill);
return new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Widget_Style"), panel, true);
}
protected void populatePieAttr() {

Loading…
Cancel
Save