diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/EnvFileTree.java b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/EnvFileTree.java
index 0d11eb491f..1a14821d00 100644
--- a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/EnvFileTree.java
+++ b/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) {
diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/FileTreeIcon.java b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/FileTreeIcon.java
index ca26e435aa..92de91aa1e 100644
--- a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/FileTreeIcon.java
+++ b/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;
}
/**
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority.svg b/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority.svg
new file mode 100644
index 0000000000..438cd6c89b
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority.svg
@@ -0,0 +1,13 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority_open.svg b/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority_open.svg
new file mode 100644
index 0000000000..c919f1a181
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/filetree/folder_half_authority_open.svg
@@ -0,0 +1,9 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
index aaa6df6d59..33fc126994 100644
--- a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
+++ b/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"
}
}
diff --git a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java
index e1b5a40612..8846dc0cc3 100644
--- a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java
+++ b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java
@@ -74,7 +74,7 @@ public class ChartHyperRelateFloatLinkPane extends AbstractHyperLinkPane {
}
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},
diff --git a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java b/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java
index 57176c256c..7822cb3443 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartColumnSeriesPane.java
+++ b/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() {
diff --git a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartCustomStackAndAxisConditionPane.java b/designer-chart/src/main/java/com/fr/van/chart/column/VanChartCustomStackAndAxisConditionPane.java
index 86766676b4..6ff6f35b67 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/column/VanChartCustomStackAndAxisConditionPane.java
+++ b/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(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(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() {
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java
index 241798bef3..7d4ad238f6 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartAreaSeriesFillColorPane.java
+++ b/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);
}
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java
index 1c02408a3f..54445cceab 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java
+++ b/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 {
maxProportion = new UINumberDragPaneWithPercent(0, 100, 1);
axisLimitSize = new UIButtonGroup(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);
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/VanChartAxisButtonPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/VanChartAxisButtonPane.java
index 1664b21ecf..368c9bfddf 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/component/VanChartAxisButtonPane.java
+++ b/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 {
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());
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java
index e4ceae7fa9..62afe15d2e 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAlertValuePane.java
+++ b/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 {
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 {
}
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 {
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() {
diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAreaBackgroundPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAreaBackgroundPane.java
index 9c332c3e5e..70049a4422 100644
--- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/background/VanChartAreaBackgroundPane.java
+++ b/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" + Toolkit.i18nText("Fine-Design_Chart_Background_Tooltip") + "