From dcffe47de72cde710f575296e08fe3848680149f Mon Sep 17 00:00:00 2001 From: Fabien Tessier <fabien.tessier@telecom-paristech.fr> Date: Mon, 2 Oct 2017 14:05:38 +0200 Subject: [PATCH] Fix selection bug (unselect on open diagram and change tab) --- src/main/java/ui/MainGUI.java | 3 +++ src/main/java/ui/TDiagramPanel.java | 4 ++++ src/main/java/ui/TURTLEPanelPopupListener.java | 3 +++ src/main/java/ui/avatarbd/AvatarBDBlock.java | 1 + src/main/java/ui/iod/IODRefIOD.java | 1 + src/main/java/ui/iod/IODRefSD.java | 1 + src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java | 1 + src/main/java/ui/tmlcp/TMLCPRefAD.java | 1 + src/main/java/ui/tmlcp/TMLCPRefSD.java | 3 ++- 9 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index d5d6218b60..043a53da21 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -8179,12 +8179,15 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Pe } public void mousePressed(MouseEvent e) { + activetdp.tdmm.setSelection(-1, -1); checkForPopup(e); } public void mouseReleased(MouseEvent e) { + activetdp.tdmm.setSelection(-1, -1); checkForPopup(e); } public void mouseClicked(MouseEvent e) { + activetdp.tdmm.setSelection(-1, -1); checkForPopup(e); } diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java index b5ee0e78d7..e906f43de7 100755 --- a/src/main/java/ui/TDiagramPanel.java +++ b/src/main/java/ui/TDiagramPanel.java @@ -3448,4 +3448,8 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { public void setComponentPointed(TGComponent tgc) { componentPointed = tgc; } + + public TDiagramMouseManager getMouseManager() { + return tdmm; + } } diff --git a/src/main/java/ui/TURTLEPanelPopupListener.java b/src/main/java/ui/TURTLEPanelPopupListener.java index 2b868b37fb..b4f9cefc1e 100755 --- a/src/main/java/ui/TURTLEPanelPopupListener.java +++ b/src/main/java/ui/TURTLEPanelPopupListener.java @@ -75,14 +75,17 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t } public void mousePressed(MouseEvent e) { + mgui.getCurrentTDiagramPanel().getMouseManager().setSelection(-1, -1); checkForPopup(e); } public void mouseReleased(MouseEvent e) { + mgui.getCurrentTDiagramPanel().getMouseManager().setSelection(-1, -1); checkForPopup(e); } public void mouseClicked(MouseEvent e) { + mgui.getCurrentTDiagramPanel().getMouseManager().setSelection(-1, -1); checkForPopup(e); } diff --git a/src/main/java/ui/avatarbd/AvatarBDBlock.java b/src/main/java/ui/avatarbd/AvatarBDBlock.java index 9b259ddff4..f2bbe53002 100644 --- a/src/main/java/ui/avatarbd/AvatarBDBlock.java +++ b/src/main/java/ui/avatarbd/AvatarBDBlock.java @@ -566,6 +566,7 @@ public class AvatarBDBlock extends TGCScalableWithInternalComponent implements S int textX = (int) (this.textX * this.tdp.getZoom ()); if (iconIsDrawn) { if (GraphicLib.isInRectangle(_x, _y, x + width - iconSize - textX, y + textX, iconSize, iconSize)) { + tdp.getMouseManager().setSelection(-1, -1); tdp.selectTab(getValue()); return true; } diff --git a/src/main/java/ui/iod/IODRefIOD.java b/src/main/java/ui/iod/IODRefIOD.java index 7582491915..72c08780b5 100755 --- a/src/main/java/ui/iod/IODRefIOD.java +++ b/src/main/java/ui/iod/IODRefIOD.java @@ -161,6 +161,7 @@ public class IODRefIOD extends TGCOneLineText { } else { ((InteractionOverviewDiagramPanel)tdp).createIODiagram(value); } + tdp.getMouseManager().setSelection(-1, -1); return true; } diff --git a/src/main/java/ui/iod/IODRefSD.java b/src/main/java/ui/iod/IODRefSD.java index ad4856d044..41ac75aaf1 100755 --- a/src/main/java/ui/iod/IODRefSD.java +++ b/src/main/java/ui/iod/IODRefSD.java @@ -158,6 +158,7 @@ public class IODRefSD extends TGCOneLineText { } else { ((InteractionOverviewDiagramPanel)tdp).createSequenceDiagram(value); } + tdp.getMouseManager().setSelection(-1, -1); return true; } diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java b/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java index 2c7dd57259..64b36bf3cd 100755 --- a/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java +++ b/src/main/java/ui/tmlcompd/TMLCPrimitiveComponent.java @@ -294,6 +294,7 @@ public class TMLCPrimitiveComponent extends TGCScalableWithInternalComponent imp // On the icon? if (iconIsDrawn) { if (GraphicLib.isInRectangle(_x, _y, x + width - iconSize - textX, y + textX, iconSize, iconSize)) { + tdp.getMouseManager().setSelection(-1, -1); tdp.selectTab(getValue()); return true; } diff --git a/src/main/java/ui/tmlcp/TMLCPRefAD.java b/src/main/java/ui/tmlcp/TMLCPRefAD.java index d6e31f5d4e..31b1676a04 100755 --- a/src/main/java/ui/tmlcp/TMLCPRefAD.java +++ b/src/main/java/ui/tmlcp/TMLCPRefAD.java @@ -166,6 +166,7 @@ public class TMLCPRefAD extends TGCOneLineText { else { ( (TMLCPPanel)tdp ).createTMLCPDiagram( name ); } + tdp.getMouseManager().setSelection(-1, -1); return true; } diff --git a/src/main/java/ui/tmlcp/TMLCPRefSD.java b/src/main/java/ui/tmlcp/TMLCPRefSD.java index 6441e6a161..6de4589dc3 100755 --- a/src/main/java/ui/tmlcp/TMLCPRefSD.java +++ b/src/main/java/ui/tmlcp/TMLCPRefSD.java @@ -164,7 +164,8 @@ public class TMLCPRefSD extends TGCOneLineText { } else { ( (TMLCPPanel)tdp ).createTMLCPSequenceDiagram( name ); - } + } + tdp.getMouseManager().setSelection(-1, -1); return true; } -- GitLab