From 83b13ffd4baca33d1c4c3fa1cda6cdaad671e430 Mon Sep 17 00:00:00 2001 From: "Destiny.Lin" Date: Fri, 21 Jul 2023 11:13:13 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-100958=20=E3=80=90=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=B8=89=E6=9C=9F=E3=80=91=E8=BF=98=E5=8E=9F?= =?UTF-8?q?=E6=88=96=E8=80=85=E9=A2=84=E8=A7=88=E7=89=88=E6=9C=AC=EF=BC=8C?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=BA=94=E8=AF=A5=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignerFrameFileDealerPane.java | 3 +- .../design/mainframe/vcs/ui/RecyclePane.java | 45 +++++++++++++++++++ .../mainframe/vcs/ui/VcsCenterPane.java | 3 +- .../design/mainframe/vcs/ui/VcsMovePanel.java | 4 +- .../design/mainframe/vcs/ui/VcsNewPane.java | 2 + 5 files changed, 50 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index ad2980d98d..a207b75d50 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -524,8 +524,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt private void showVcsNewPane(String path) { VcsNewPane panel = new VcsNewPane(path); - BasicDialog dialog = panel.showWindow(DesignerContext.getDesignerFrame(), false); - dialog.setVisible(true); + panel.showDialog(); } /** diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java index e606fed729..e1a9bce625 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/RecyclePane.java @@ -1,10 +1,12 @@ package com.fr.design.mainframe.vcs.ui; import com.fr.base.svg.IconUtils; +import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.FineJOptionPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.vcs.VcsOperatorWorker; import com.fr.design.mainframe.vcs.TableEntity; import com.fr.design.mainframe.vcs.TableValueOperator; @@ -47,7 +49,9 @@ public class RecyclePane extends AbstractSupportSelectTablePane protected UILabel restoreLabel; private static final int COLUMNS_COUNT = 15; + private BasicDialog dialog; + private BasicDialog parent; private List tableEntities; public RecyclePane() { @@ -196,6 +200,47 @@ public class RecyclePane extends AbstractSupportSelectTablePane } + /** + * 显示弹窗 + * + */ + public void showDialog() { + dialog = this.showWindow(DesignerContext.getDesignerFrame(), false); + dialog.setVisible(true); + } + + /** + * 依据父弹窗显示弹窗 + * + * @param parent 父弹窗 + */ + public void showDialog(BasicDialog parent) { + this.parent = parent; + dialog = this.showWindow(parent, false); + dialog.setVisible(true); + } + + /** + * 关闭弹窗,如果有父弹窗,则一起关闭 + * + */ + public void closeDialog() { + if (dialog != null) { + dialog.dispose(); + } + if (parent != null) { + parent.dispose(); + } + } + + public BasicDialog getDialog() { + return dialog; + } + + public void setDialog(BasicDialog dialog) { + this.dialog = dialog; + } + /** * 删除范围 * diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java index d1ac7ad31e..474d6fbb67 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsCenterPane.java @@ -159,8 +159,7 @@ public class VcsCenterPane extends VcsNewPane { return entity.getFilename()+Toolkit.i18nText("Fine-Design_Vcs_Version_Tips"); } }; - BasicDialog dialog = pane.showWindow(DesignerContext.getDesignerFrame(), false); - dialog.setVisible(true); + pane.showDialog(getDialog()); } } }); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java index f9d362ad8d..99ce67f21c 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsMovePanel.java @@ -265,9 +265,7 @@ public class VcsMovePanel extends BasicPane { @Override public void actionPerformed(ActionEvent e) { VcsCenterPane vcsCenterPane = new VcsCenterPane(); - BasicDialog dialog = vcsCenterPane.showWindow(DesignerContext.getDesignerFrame(), false); - dialog.setVisible(true); - + vcsCenterPane.showDialog(); } }); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java index e65726bc68..8273de81da 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/VcsNewPane.java @@ -160,6 +160,7 @@ public class VcsNewPane extends RecyclePane { JOptionPane.QUESTION_MESSAGE); if (selVal == JOptionPane.YES_OPTION) { restoreEntity(entity); + VcsNewPane.this.closeDialog(); } } } @@ -229,6 +230,7 @@ public class VcsNewPane extends RecyclePane { if (o instanceof VcsTableEntity) { VcsEntity entity = ((VcsTableEntity) o).getEntity(); previewEntity(entity); + VcsNewPane.this.closeDialog(); } } });