From b0846831719104a7a0164216c9ae1d45e1f4f18e Mon Sep 17 00:00:00 2001 From: obo Date: Mon, 7 Aug 2023 21:22:51 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-96204=20FRBI=E6=B5=B7=E5=A4=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=9C=B0=E5=9B=BE=E7=BB=84=E4=BB=B6=E7=9A=84?= =?UTF-8?q?GIS=E5=9B=BE=E5=B1=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chart/map/designer/type/GisLayerPane.java | 86 ++++++++++++------- 1 file changed, 55 insertions(+), 31 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java index 43a770bea..b9ca8f11f 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java @@ -11,6 +11,7 @@ import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.mode.ChartEditContext; import com.fr.general.ComparatorUtils; +import com.fr.general.GeneralContext; import com.fr.plugin.chart.base.GisLayer; import com.fr.plugin.chart.map.VanChartMapPlot; import com.fr.plugin.chart.map.server.MapLayerConfigManager; @@ -29,6 +30,7 @@ import java.awt.CardLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.event.ItemEvent; +import java.util.Locale; /** * @author Bjorn @@ -39,8 +41,16 @@ public class GisLayerPane extends JPanel implements UIObserver { private UIButtonGroup gisButton; private JPanel layerPaneCheckPane; - private UIComboBox gisGaoDeLayer; - private UIComboBox gisLayer; + + /** + * 标准图层 + */ + private UIComboBox standardLayers; + + /** + * 自定义图层 + */ + private UIComboBox customLayers; private JPanel layerCardPane; private WMSLayerPane wmsLayerPane; @@ -48,7 +58,7 @@ public class GisLayerPane extends JPanel implements UIObserver { private UIComboBox zoomLevel; - private String[] layers = MapLayerConfigManager.getLayerItems(); + private String[] layers = MapLayerConfigManager.getCustomLayerItems(); public GisLayerPane() { initComps(); @@ -86,15 +96,12 @@ public class GisLayerPane extends JPanel implements UIObserver { gisButton = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Mode_Auto"), Toolkit.i18nText("Fine-Design_Form_Widget_Style_Standard"), Toolkit.i18nText("Fine-Design_Chart_Custom")}); gisButton.setSelectedIndex(ChartEditContext.supportTheme() ? 0 : 1); - gisGaoDeLayer = new UIComboBox(MapLayerConfigManager.getGaoDeLayerItems()); gisButton.addActionListener(event -> { refreshZoomLevel(); checkLayerCardPane(); }); - gisGaoDeLayer.addItemListener(event -> refreshZoomLevel()); - - initCustomGISLayerPane(); + initLayer(); initLayerCardPane(); layerPaneCheckPane = new JPanel(new CardLayout()) { @@ -104,15 +111,15 @@ public class GisLayerPane extends JPanel implements UIObserver { return new Dimension(0, 0); } if (isStandardGis()) { - return gisGaoDeLayer.getPreferredSize(); + return standardLayers.getPreferredSize(); } else { - return gisLayer.getPreferredSize(); + return customLayers.getPreferredSize(); } } }; layerPaneCheckPane.add(new JPanel(), "auto"); - layerPaneCheckPane.add(gisGaoDeLayer, "standard"); - layerPaneCheckPane.add(gisLayer, "custom"); + layerPaneCheckPane.add(standardLayers, "standard"); + layerPaneCheckPane.add(customLayers, "custom"); double p = TableLayout.PREFERRED; @@ -142,7 +149,7 @@ public class GisLayerPane extends JPanel implements UIObserver { if (isStandardGis() || isAuto()) { return new Dimension(0, 0); } - String itemName = Utils.objectToString(gisLayer.getSelectedItem()); + String itemName = Utils.objectToString(customLayers.getSelectedItem()); if (MapLayerConfigManager.isCustomLayer(itemName)) { return tileLayerPane.getPreferredSize(); } else if (MapLayerConfigManager.isCustomWmsLayer(itemName)) { @@ -163,10 +170,12 @@ public class GisLayerPane extends JPanel implements UIObserver { } } - private void initCustomGISLayerPane() { - gisLayer = new UIComboBox(layers); + private void initLayer() { + standardLayers = new UIComboBox(MapLayerConfigManager.getStandardLayerItems()); + customLayers = new UIComboBox(layers); - gisLayer.addItemListener(e -> + standardLayers.addItemListener(event -> refreshZoomLevel()); + customLayers.addItemListener(e -> { if (e.getStateChange() == ItemEvent.SELECTED) { checkCustomLayerCardPane(); @@ -175,7 +184,7 @@ public class GisLayerPane extends JPanel implements UIObserver { } ); - gisLayer.addPopupMenuListener(new PopupMenuListener() { + customLayers.addPopupMenuListener(new PopupMenuListener() { public void popupMenuCanceled(PopupMenuEvent e) { } @@ -184,12 +193,12 @@ public class GisLayerPane extends JPanel implements UIObserver { public void popupMenuWillBecomeVisible(PopupMenuEvent e) { - String selected = Utils.objectToString(gisLayer.getSelectedItem()); + String selected = Utils.objectToString(customLayers.getSelectedItem()); ZoomLevel zoomSelected = (ZoomLevel) zoomLevel.getSelectedItem(); - gisLayer.setModel(new DefaultComboBoxModel(MapLayerConfigManager.getLayerItems())); + customLayers.setModel(new DefaultComboBoxModel(MapLayerConfigManager.getCustomLayerItems())); - gisLayer.setSelectedItem(selected); + customLayers.setSelectedItem(selected); zoomLevel.setSelectedItem(zoomSelected); } }); @@ -201,15 +210,15 @@ public class GisLayerPane extends JPanel implements UIObserver { if (isAuto()) { levels = MapStatusPane.ZOOM_LEVELS; } else if (isStandardGis()) { - if (gisGaoDeLayer.getSelectedIndex() == gisGaoDeLayer.getItemCount() - 1) { + if (standardLayers.getSelectedIndex() == standardLayers.getItemCount() - 1) { levels = MapStatusPane.ZOOM_LEVELS; } else { levels = MapStatusPane.GAODE_ZOOM_LEVELS; } } else { - if (ComparatorUtils.equals(gisLayer.getSelectedItem(), Toolkit.i18nText("Fine-Design_Chart_Layer_Blue"))) { + if (ComparatorUtils.equals(customLayers.getSelectedItem(), Toolkit.i18nText("Fine-Design_Chart_Layer_Blue"))) { levels = MapStatusPane.BLUE_ZOOM_LEVELS; - } else if (ComparatorUtils.equals(gisLayer.getSelectedItem(), Toolkit.i18nText("Fine-Design_Chart_Layer_GaoDe"))) { + } else if (ComparatorUtils.equals(customLayers.getSelectedItem(), Toolkit.i18nText("Fine-Design_Chart_Layer_GaoDe"))) { levels = MapStatusPane.GAODE_ZOOM_LEVELS; } else { levels = MapStatusPane.ZOOM_LEVELS; @@ -233,7 +242,7 @@ public class GisLayerPane extends JPanel implements UIObserver { private void checkCustomLayerCardPane() { CardLayout cardLayout = (CardLayout) layerCardPane.getLayout(); - cardLayout.show(layerCardPane, Utils.objectToString(gisLayer.getSelectedItem())); + cardLayout.show(layerCardPane, Utils.objectToString(customLayers.getSelectedItem())); } public void resetGisLayer(VanChartMapPlot mapPlot) { @@ -256,8 +265,12 @@ public class GisLayerPane extends JPanel implements UIObserver { switch (layer.getGisLayerType()) { case AUTO: gisButton.setSelectedIndex(0); + layer.setGisLayerType(GISLayerType.AUTO); + layer.setLayerName(GISLayerType.getLocString(GISLayerType.AUTO)); + //dealWithTemplateTheme(layer); break; - case GAO_DE_API: + case STANDARD: + populateStandardGis(layer); case LAYER_NULL: populateStandardGis(layer); break; @@ -272,16 +285,23 @@ public class GisLayerPane extends JPanel implements UIObserver { private void populateStandardGis(GisLayer layer) { gisButton.setSelectedIndex(1); + String layerName = layer.getLayerName(); if (layer.getGisLayerType() == GISLayerType.LAYER_NULL) { - gisGaoDeLayer.setSelectedIndex(gisGaoDeLayer.getItemCount() - 1); + layer.setGisLayerType(GISLayerType.LAYER_NULL); + standardLayers.setSelectedIndex(standardLayers.getItemCount() - 1); } else { - gisGaoDeLayer.setSelectedItem(layer.getGaoDeGisType().getTypeName()); + if(Locale.CHINA.equals(GeneralContext.getLocale())) { + standardLayers.setSelectedItem(layerName); + layer.setGaoDeGisType(GaoDeGisType.parseByLocaleName(layerName)); + } else { + standardLayers.setSelectedItem(layerName); + } } } private void populateCustomGis(GisLayer layer) { gisButton.setSelectedIndex(2); - gisLayer.setSelectedItem(layer.getShowItemName()); + customLayers.setSelectedItem(layer.getShowItemName()); switch (layer.getGisLayerType()) { case CUSTOM_WMS_LAYER: @@ -295,6 +315,8 @@ public class GisLayerPane extends JPanel implements UIObserver { public void update(GisLayer layer) { if (isAuto()) { + //如果是海外环境,切换为mapbox的内容 + //浅色主题为mapbox,深色主题为黑色 layer.setGisLayerType(GISLayerType.AUTO); layer.setLayerName(GISLayerType.getLocString(GISLayerType.AUTO)); } else if (isStandardGis()) { @@ -305,18 +327,20 @@ public class GisLayerPane extends JPanel implements UIObserver { } private void updateStandardGis(GisLayer layer) { - String layerName = Utils.objectToString(gisGaoDeLayer.getSelectedItem()); + //海外情况下 + //标准:黑色、mapbox、清新、素雅、午夜、无,默认选中mapbox + String layerName = Utils.objectToString(standardLayers.getSelectedItem()); layer.setLayerName(layerName); - if (gisGaoDeLayer.getSelectedIndex() == gisGaoDeLayer.getItemCount() - 1) { + if (standardLayers.getSelectedIndex() == standardLayers.getItemCount() - 1) { layer.setGisLayerType(MapLayerConfigManager.getGisLayerType(layerName)); } else { - layer.setGisLayerType(GISLayerType.GAO_DE_API); + layer.setGisLayerType(GISLayerType.STANDARD); layer.setGaoDeGisType(GaoDeGisType.parseByLocaleName(layerName)); } } private void updateCustomGis(GisLayer layer) { - String layerName = Utils.objectToString(gisLayer.getSelectedItem()); + String layerName = Utils.objectToString(customLayers.getSelectedItem()); layer.setLayerName(layerName); layer.setGisLayerType(MapLayerConfigManager.getGisLayerType(layerName)); From 8f0b0db67b27bcf84313abdefad1a49ab9fa8d18 Mon Sep 17 00:00:00 2001 From: obo Date: Mon, 7 Aug 2023 21:24:37 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-96204=20FRBI=E6=B5=B7=E5=A4=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=9C=B0=E5=9B=BE=E7=BB=84=E4=BB=B6=E7=9A=84?= =?UTF-8?q?GIS=E5=9B=BE=E5=B1=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/van/chart/map/designer/type/GisLayerPane.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java index b9ca8f11f..d7e52d92a 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java @@ -315,8 +315,6 @@ public class GisLayerPane extends JPanel implements UIObserver { public void update(GisLayer layer) { if (isAuto()) { - //如果是海外环境,切换为mapbox的内容 - //浅色主题为mapbox,深色主题为黑色 layer.setGisLayerType(GISLayerType.AUTO); layer.setLayerName(GISLayerType.getLocString(GISLayerType.AUTO)); } else if (isStandardGis()) { @@ -327,8 +325,6 @@ public class GisLayerPane extends JPanel implements UIObserver { } private void updateStandardGis(GisLayer layer) { - //海外情况下 - //标准:黑色、mapbox、清新、素雅、午夜、无,默认选中mapbox String layerName = Utils.objectToString(standardLayers.getSelectedItem()); layer.setLayerName(layerName); if (standardLayers.getSelectedIndex() == standardLayers.getItemCount() - 1) { From 53952c30332c71005ecd795b4b76d47fddf49236 Mon Sep 17 00:00:00 2001 From: obo Date: Tue, 8 Aug 2023 10:27:37 +0800 Subject: [PATCH 3/4] =?UTF-8?q?REPORT-96204=20GISLayerType=E4=B8=ADGAO=5FD?= =?UTF-8?q?E=5FAPI=E5=91=BD=E5=90=8D=E5=9B=9E=E9=80=80=E4=B8=8B=EF=BC=8C?= =?UTF-8?q?=E8=80=83=E8=99=91=E5=85=BC=E5=AE=B9=E9=97=AE=E9=A2=98=EF=BC=8C?= =?UTF-8?q?=E9=87=8D=E6=9E=84=E7=9B=B8=E5=85=B3=E6=93=8D=E4=BD=9C=E6=94=BE?= =?UTF-8?q?=E5=90=8E=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/van/chart/map/designer/type/GisLayerPane.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java index d7e52d92a..57a0e04af 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java @@ -269,7 +269,7 @@ public class GisLayerPane extends JPanel implements UIObserver { layer.setLayerName(GISLayerType.getLocString(GISLayerType.AUTO)); //dealWithTemplateTheme(layer); break; - case STANDARD: + case GAO_DE_API: populateStandardGis(layer); case LAYER_NULL: populateStandardGis(layer); @@ -330,7 +330,7 @@ public class GisLayerPane extends JPanel implements UIObserver { if (standardLayers.getSelectedIndex() == standardLayers.getItemCount() - 1) { layer.setGisLayerType(MapLayerConfigManager.getGisLayerType(layerName)); } else { - layer.setGisLayerType(GISLayerType.STANDARD); + layer.setGisLayerType(GISLayerType.GAO_DE_API); layer.setGaoDeGisType(GaoDeGisType.parseByLocaleName(layerName)); } } From 303448d148a579ff8fa4832ad9001df291834d92 Mon Sep 17 00:00:00 2001 From: obo Date: Tue, 8 Aug 2023 18:09:25 +0800 Subject: [PATCH 4/4] =?UTF-8?q?REPORT-96204=20=E6=A0=B9=E6=8D=AEpr?= =?UTF-8?q?=E5=BB=BA=E8=AE=AE=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/van/chart/map/designer/type/GisLayerPane.java | 1 - 1 file changed, 1 deletion(-) diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java index 57a0e04af..de07a7814 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/GisLayerPane.java @@ -287,7 +287,6 @@ public class GisLayerPane extends JPanel implements UIObserver { gisButton.setSelectedIndex(1); String layerName = layer.getLayerName(); if (layer.getGisLayerType() == GISLayerType.LAYER_NULL) { - layer.setGisLayerType(GISLayerType.LAYER_NULL); standardLayers.setSelectedIndex(standardLayers.getItemCount() - 1); } else { if(Locale.CHINA.equals(GeneralContext.getLocale())) {