From b1252a47c9b755fbd4d57a17069178b78e279d26 Mon Sep 17 00:00:00 2001 From: Valentin Boulanger Date: Sat, 24 Apr 2021 12:37:54 +0200 Subject: [PATCH] Ajout scrollbar dans les diagrammes UML --- AppThinker.docx | Bin 42134 -> 0 bytes .../controllers/UmlDiagramController.java | 10 +++++++++ .../appthinker/views/UmlDiagramFrame.java | 19 ++++++++++++++++++ 3 files changed, 29 insertions(+) delete mode 100644 AppThinker.docx diff --git a/AppThinker.docx b/AppThinker.docx deleted file mode 100644 index 3126970fe50337f6d22d244ab36becbd22f1dde3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42134 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 diff --git a/AppThinker/src/com/thinkode/appthinker/controllers/UmlDiagramController.java b/AppThinker/src/com/thinkode/appthinker/controllers/UmlDiagramController.java index edd72d9..ca488ae 100644 --- a/AppThinker/src/com/thinkode/appthinker/controllers/UmlDiagramController.java +++ b/AppThinker/src/com/thinkode/appthinker/controllers/UmlDiagramController.java @@ -52,6 +52,16 @@ public class UmlDiagramController { needToSave(); } + /** + * Retire un lien du diagramme. + * + * @param l Le lien à retirer. + */ + public void removeLink(Link l) { + _umlDiagram.removeLink(l); + needToSave(); + } + /** * Supprime l'ensemble des classes du diagramme. */ diff --git a/AppThinker/src/com/thinkode/appthinker/views/UmlDiagramFrame.java b/AppThinker/src/com/thinkode/appthinker/views/UmlDiagramFrame.java index 520d643..c804c79 100644 --- a/AppThinker/src/com/thinkode/appthinker/views/UmlDiagramFrame.java +++ b/AppThinker/src/com/thinkode/appthinker/views/UmlDiagramFrame.java @@ -24,6 +24,9 @@ public class UmlDiagramFrame extends CompositionFrame implements UmlToolbarListe private boolean _viewGrips = false; private int gripSize = 8; + private int _sizeX = 3000; + private int _sizeY = 3000; + private UmlDiagramController _umlDiagramController; public enum ClassGrip { @@ -52,6 +55,9 @@ public class UmlDiagramFrame extends CompositionFrame implements UmlToolbarListe super(); this.setLayout(new BorderLayout()); + _sizeX = 3000; + _sizeY = 3000; + _umlToolbar = new UmlToolbar(); _umlToolbar.addUmlToolbarListener(this); this.add(_umlToolbar, BorderLayout.NORTH); @@ -245,6 +251,7 @@ public class UmlDiagramFrame extends CompositionFrame implements UmlToolbarListe } }; _drawPanel.setBackground(new Color(218, 233, 244)); + _drawPanel.setPreferredSize(new Dimension(_sizeX, _sizeY)); _drawPanel.addMouseListener(this); _drawPanel.addMouseMotionListener(this); JScrollPane scroll = new JScrollPane(_drawPanel); @@ -343,6 +350,17 @@ public class UmlDiagramFrame extends CompositionFrame implements UmlToolbarListe _selected = null; } + /** + * Retire un lien de la composition UML. + * + * @param l Le lien à retirer. + */ + public void removeLink(Link l) { + //On supprime la classe principale + _umlDiagramController.removeLink(l); + _selected = null; + } + //Evenements souris /** @@ -504,6 +522,7 @@ public class UmlDiagramFrame extends CompositionFrame implements UmlToolbarListe System.out.println("On supprime un élément."); this.select(e.getX(), e.getY()); if (_selected instanceof Class) removeClass((Class) _selected); + else if (_selected instanceof Link) removeLink((Link) _selected); break; case COPY_TOOL: System.out.println("On copie un élément.");