From b1d873922a4ceb5d464fe49c3d983aa76a9f251d Mon Sep 17 00:00:00 2001 From: Valentin Boulanger Date: Tue, 22 Dec 2020 21:07:52 +0100 Subject: [PATCH] =?UTF-8?q?R=C3=A9solution=20#3=20Cr=C3=A9ation=20de=20lie?= =?UTF-8?q?ns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppThinker.mdzip | Bin 101697 -> 101769 bytes AppThinker.mdzip.bak | Bin 101689 -> 101697 bytes AppThinker/Documentation/AppThinker.html | 2 +- .../Documentation/AppThinkerSplashscreen.html | 2 +- .../Documentation/AppThinkerStatusbar.html | 2 +- .../Documentation/AppThinkerWindow.html | 2 +- AppThinker/Documentation/Argument.html | 4 +- AppThinker/Documentation/Attribute.html | 4 +- AppThinker/Documentation/Class.html | 2 +- AppThinker/Documentation/Method.html | 2 +- AppThinker/Documentation/Project.html | 2 +- AppThinker/Documentation/help-doc.html | 6 +- .../Documentation/index-files/index-1.html | 36 +- .../Documentation/index-files/index-10.html | 2 +- .../Documentation/index-files/index-11.html | 4 +- .../Documentation/index-files/index-12.html | 4 +- .../Documentation/index-files/index-13.html | 8 +- .../Documentation/index-files/index-14.html | 4 +- .../Documentation/index-files/index-2.html | 8 +- .../Documentation/index-files/index-3.html | 4 +- .../Documentation/index-files/index-4.html | 2 +- .../Documentation/index-files/index-7.html | 4 +- .../Documentation/index-files/index-8.html | 6 +- AppThinker/src/AboutWindow.java | 2 - AppThinker/src/AppThinker.java | 2 - AppThinker/src/AppThinkerSplashscreen.java | 4 +- AppThinker/src/Attribute.java | 2 - AppThinker/src/Class.java | 65 +-- AppThinker/src/ClassPropertiesWindow.java | 3 - AppThinker/src/Link.java | 94 +++- AppThinker/src/Project.java | 2 - AppThinker/src/UmlDiagram.java | 439 +++++++++++++----- AppThinker/src/UmlToolbar.java | 6 + 33 files changed, 505 insertions(+), 224 deletions(-) diff --git a/AppThinker.mdzip b/AppThinker.mdzip index 2d0517db1693b5bb4dd625dc6b386f85db68aac6..51065759f81b1c8305df3f996675a5ba5bd5d349 100644 GIT binary patch delta 86131 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 delta 85929 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 diff --git a/AppThinker/Documentation/AppThinker.html b/AppThinker/Documentation/AppThinker.html index 083e184..233aaf9 100644 --- a/AppThinker/Documentation/AppThinker.html +++ b/AppThinker/Documentation/AppThinker.html @@ -189,7 +189,7 @@ extends java.lang.Object
  • AppThinker

    -
    public AppThinker()
    +
    public software.AppThinker()
diff --git a/AppThinker/Documentation/AppThinkerSplashscreen.html b/AppThinker/Documentation/AppThinkerSplashscreen.html index 8ee1b9f..06fcec9 100644 --- a/AppThinker/Documentation/AppThinkerSplashscreen.html +++ b/AppThinker/Documentation/AppThinkerSplashscreen.html @@ -323,7 +323,7 @@ extends javax.swing.JFrame
  • AppThinkerSplashscreen

    -
    public AppThinkerSplashscreen()
    +
    public software.AppThinkerSplashscreen()
    Constructeur - Crée la fenêtre de démarrage
diff --git a/AppThinker/Documentation/AppThinkerStatusbar.html b/AppThinker/Documentation/AppThinkerStatusbar.html index aa788e5..636be17 100644 --- a/AppThinker/Documentation/AppThinkerStatusbar.html +++ b/AppThinker/Documentation/AppThinkerStatusbar.html @@ -324,7 +324,7 @@ extends javax.swing.JPanel
  • AppThinkerStatusbar

    -
    public AppThinkerStatusbar()
    +
    public software.AppThinkerStatusbar()
    Constructeur de la classe AppThinkerStatusbar
diff --git a/AppThinker/Documentation/AppThinkerWindow.html b/AppThinker/Documentation/AppThinkerWindow.html index c01899e..3b1e3f5 100644 --- a/AppThinker/Documentation/AppThinkerWindow.html +++ b/AppThinker/Documentation/AppThinkerWindow.html @@ -390,7 +390,7 @@ extends javax.swing.JFrame
  • AppThinkerWindow

    -
    public AppThinkerWindow()
    +
    public software.AppThinkerWindow()
    Constructeur de la classe AppThinkerWindow
diff --git a/AppThinker/Documentation/Argument.html b/AppThinker/Documentation/Argument.html index 8293741..0d6b070 100644 --- a/AppThinker/Documentation/Argument.html +++ b/AppThinker/Documentation/Argument.html @@ -258,7 +258,7 @@ implements java.io.Serializable
  • Argument

    -
    public Argument()
    +
    public umlUtilities.Argument()
    Constructeur - Crée une instance de Argument.
@@ -268,7 +268,7 @@ implements java.io.Serializable
  • Argument

    -
    public Argument(java.lang.String type,
    +
    public umlUtilities.Argument(java.lang.String type,
                     java.lang.String name)
    Constructeur - Crée une instance de Argument avec des paramètres donnés.
    diff --git a/AppThinker/Documentation/Attribute.html b/AppThinker/Documentation/Attribute.html index fecb5a9..6a9f72c 100644 --- a/AppThinker/Documentation/Attribute.html +++ b/AppThinker/Documentation/Attribute.html @@ -394,7 +394,7 @@ implements java.io.Serializable
    • Attribute

      -
      public Attribute()
      +
      public umlUtilities.Attribute()
      Constructeur - Crée une instance de Attribute.
    @@ -404,7 +404,7 @@ implements java.io.Serializable
    • Attribute

      -
      public Attribute(java.lang.String name,
      +
      public umlUtilities.Attribute(java.lang.String name,
                        java.lang.String access,
                        java.lang.String type)
      Constructeur - Crée une instance de Attribute avec des paramètres donnés.
      diff --git a/AppThinker/Documentation/Class.html b/AppThinker/Documentation/Class.html index 6baf2be..117df03 100644 --- a/AppThinker/Documentation/Class.html +++ b/AppThinker/Documentation/Class.html @@ -481,7 +481,7 @@ implements java.io.Serializable
      • Class

        -
        public Class(int posX,
        +
        public umlUtilities.Class(int posX,
                      int posY,
                      int shape)
        Constructeur - Crée une instance de Class.
        diff --git a/AppThinker/Documentation/Method.html b/AppThinker/Documentation/Method.html index 34ea6d7..bb90606 100644 --- a/AppThinker/Documentation/Method.html +++ b/AppThinker/Documentation/Method.html @@ -458,7 +458,7 @@ implements java.io.Serializable
        • Method

          -
          public Method()
          +
          public umlUtilities.Method()
          Constructeur - Crée une instance de Method.
        diff --git a/AppThinker/Documentation/Project.html b/AppThinker/Documentation/Project.html index a572fc7..4b8c60a 100644 --- a/AppThinker/Documentation/Project.html +++ b/AppThinker/Documentation/Project.html @@ -316,7 +316,7 @@ implements java.io.Serializable
        • Project

          -
          public Project()
          +
          public software.Project()
          Constructeur - Crée une instance de Projet.
        diff --git a/AppThinker/Documentation/help-doc.html b/AppThinker/Documentation/help-doc.html index 443a6db..a0b5578 100644 --- a/AppThinker/Documentation/help-doc.html +++ b/AppThinker/Documentation/help-doc.html @@ -87,15 +87,15 @@
    • -

      Class/Interface

      +

      umlUtilities.Class/Interface

      Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

      • Class inheritance diagram
      • Direct Subclasses
      • All Known Subinterfaces
      • All Known Implementing Classes
      • -
      • Class/interface declaration
      • -
      • Class/interface description
      • +
      • umlUtilities.Class/interface declaration
      • +
      • umlUtilities.Class/interface description
      • Nested Class Summary
      • diff --git a/AppThinker/Documentation/index-files/index-1.html b/AppThinker/Documentation/index-files/index-1.html index ed283bd..5e7f478 100644 --- a/AppThinker/Documentation/index-files/index-1.html +++ b/AppThinker/Documentation/index-files/index-1.html @@ -77,11 +77,11 @@
        Ajoute un argument à la méthode sélectionnée et rafraîchit la liste des arguments.
        -
        addArgument(Argument) - Method in class Method
        +
        addArgument(umlUtilities.Argument) - Method in class Method
        Ajoute un argument à la méthode.
        -
        addAttribute(Attribute) - Method in class Class
        +
        addAttribute(umlUtilities.Attribute) - Method in class Class
        Ajoute un attribut à la classe.
        @@ -89,21 +89,21 @@
        Ajoute un attribut à la classe et rafraîchit la liste des attributs.
        -
        addClass(Class) - Method in class UmlDiagram
        +
        addClass(umlUtilities.Class) - Method in class UmlDiagram
        Ajoute une classe au projet.
        -
        addCompositionMenu(Composition) - Method in class AppThinkerMenuBar
        +
        addCompositionMenu(software.Composition) - Method in class AppThinkerMenuBar
         
        -
        addLink(Link) - Method in class UmlDiagram
        +
        addLink(umlUtilities.Link) - Method in class UmlDiagram
        Ajoute un lien au projet.
        -
        addMethod(Method) - Method in class Class
        +
        addMethod(umlUtilities.Method) - Method in class Class
        Ajoute une méthode à la classe.
        -
        addMethod(int, Method) - Method in class Class
        +
        addMethod(int, umlUtilities.Method) - Method in class Class
        Ajoute une méthode à la classe.
        @@ -111,7 +111,7 @@
        Ajoute une méthode à la classe et rafraîchit la liste des méthodes.
        -
        addMethod(int, Method) - Method in class ClassPropertiesWindow
        +
        addMethod(int, umlUtilities.Method) - Method in class ClassPropertiesWindow
        Ajoute une méthode à la classe et rafraîchit la liste des méthodes.
        @@ -121,13 +121,13 @@
        La classe principale du logiciel AppThinker.
        -
        AppThinker() - Constructor for class AppThinker
        +
        software.AppThinker() - Constructor for class AppThinker
         
        AppThinkerMenuBar - Class in <Unnamed>
        Affiche une barre de menu en entête de la fenêtre.
        -
        AppThinkerMenuBar(AppThinkerWindow) - Constructor for class AppThinkerMenuBar
        +
        software.AppThinkerMenuBar(software.AppThinkerWindow) - Constructor for class AppThinkerMenuBar
        Constructeur de la classe AppThinkerMenuBar.
        @@ -135,7 +135,7 @@
        Ecran de démarrage du logiciel
        -
        AppThinkerSplashscreen() - Constructor for class AppThinkerSplashscreen
        +
        software.AppThinkerSplashscreen() - Constructor for class AppThinkerSplashscreen
        Constructeur - Crée la fenêtre de démarrage
        @@ -143,7 +143,7 @@
        Affiche une barre de statut au pied de la fenêtre
        -
        AppThinkerStatusbar() - Constructor for class AppThinkerStatusbar
        +
        software.AppThinkerStatusbar() - Constructor for class AppThinkerStatusbar
        Constructeur de la classe AppThinkerStatusbar
        @@ -151,7 +151,7 @@
        Affiche une fenêtre du logiciel.
        -
        AppThinkerWindow() - Constructor for class AppThinkerWindow
        +
        software.AppThinkerWindow() - Constructor for class AppThinkerWindow
        Constructeur de la classe AppThinkerWindow
        @@ -159,11 +159,11 @@
        Gère un argument d'une méthode.
        -
        Argument() - Constructor for class Argument
        +
        umlUtilities.Argument() - Constructor for class Argument
        Constructeur - Crée une instance de Argument.
        -
        Argument(String, String) - Constructor for class Argument
        +
        umlUtilities.Argument(String, String) - Constructor for class Argument
        Constructeur - Crée une instance de Argument avec des paramètres donnés.
        @@ -171,7 +171,7 @@
        Classe permettant la création de fenêtres pour la modification des arguments d'une méthode d'une classe.
        -
        ArgumentsPropertiesWindow(ClassPropertiesWindow, UmlDiagram, Method) - Constructor for class ArgumentsPropertiesWindow
        +
        umlUtilities.ArgumentsPropertiesWindow(ClassPropertiesWindow, UmlDiagram, umlUtilities.Method) - Constructor for class ArgumentsPropertiesWindow
         
        ASSOCIATION_TOOL - Static variable in class UmlToolbar
         
        @@ -179,11 +179,11 @@
        Gère un attribut.
        -
        Attribute() - Constructor for class Attribute
        +
        umlUtilities.Attribute() - Constructor for class Attribute
        Constructeur - Crée une instance de Attribute.
        -
        Attribute(String, String, String) - Constructor for class Attribute
        +
        umlUtilities.Attribute(String, String, String) - Constructor for class Attribute
        Constructeur - Crée une instance de Attribute avec des paramètres donnés.
        diff --git a/AppThinker/Documentation/index-files/index-10.html b/AppThinker/Documentation/index-files/index-10.html index 1827a2b..9595d0d 100644 --- a/AppThinker/Documentation/index-files/index-10.html +++ b/AppThinker/Documentation/index-files/index-10.html @@ -73,7 +73,7 @@

        O

        -
        openArgumentsWindow(Method) - Method in class ClassPropertiesWindow
        +
        openArgumentsWindow(umlUtilities.Method) - Method in class ClassPropertiesWindow
        Ouvre une fenêtre d'édition des arguments pour la méthode sélectionnée
        diff --git a/AppThinker/Documentation/index-files/index-11.html b/AppThinker/Documentation/index-files/index-11.html index 94bda10..11a6f8f 100644 --- a/AppThinker/Documentation/index-files/index-11.html +++ b/AppThinker/Documentation/index-files/index-11.html @@ -87,11 +87,11 @@
        Gère un projet.
        -
        Project() - Constructor for class Project
        +
        software.Project() - Constructor for class Project
        Constructeur - Crée une instance de Projet.
        -
        Project(String, String, String, String, String, Composition) - Constructor for class Project
        +
        software.Project(String, String, String, String, String, software.Composition) - Constructor for class Project
        Constructeur - Crée une instance de Projet avec des paramètres déterminés.
        diff --git a/AppThinker/Documentation/index-files/index-12.html b/AppThinker/Documentation/index-files/index-12.html index e03c0c1..1231f15 100644 --- a/AppThinker/Documentation/index-files/index-12.html +++ b/AppThinker/Documentation/index-files/index-12.html @@ -95,7 +95,7 @@
        Retire un attribut à la classe et rafraîchit la liste des attributs.
        -
        removeClass(Class) - Method in class UmlDiagram
        +
        removeClass(umlUtilities.Class) - Method in class UmlDiagram
        Retire une classe du projet.
        @@ -103,7 +103,7 @@
        Retire le menu de composition
        -
        removeLink(Link) - Method in class UmlDiagram
        +
        removeLink(umlUtilities.Link) - Method in class UmlDiagram
        Retire un lien du projet.
        diff --git a/AppThinker/Documentation/index-files/index-13.html b/AppThinker/Documentation/index-files/index-13.html index 3a9ac2e..662c559 100644 --- a/AppThinker/Documentation/index-files/index-13.html +++ b/AppThinker/Documentation/index-files/index-13.html @@ -139,7 +139,7 @@
        Verrouille/Déverrouille la barre d'outil.
        -
        setEnd(Class) - Method in class Link
        +
        setEnd(umlUtilities.Class) - Method in class Link
        Paramètre la classe d'arrivée.
        @@ -155,7 +155,7 @@
        Paramètre la caractéristique final de la méthode.
        -
        setMainClass(Class) - Method in class UmlDiagram
        +
        setMainClass(umlUtilities.Class) - Method in class UmlDiagram
        Paramétre la classe principale du diagramme.
        @@ -239,7 +239,7 @@
        Paramètre la taille sur l'axe Y de la classe.
        -
        setStart(Class) - Method in class Link
        +
        setStart(umlUtilities.Class) - Method in class Link
        Paramètre la classe de départ du lien.
        @@ -299,7 +299,7 @@
        Paramètre la caractéristique volatile de la méthode.
        -
        setWindow(AppThinkerWindow) - Method in class Composition
        +
        setWindow(software.AppThinkerWindow) - Method in class Composition
        Paramètre la fenêtre enfant de la composition.
        diff --git a/AppThinker/Documentation/index-files/index-14.html b/AppThinker/Documentation/index-files/index-14.html index 119b85c..233c7eb 100644 --- a/AppThinker/Documentation/index-files/index-14.html +++ b/AppThinker/Documentation/index-files/index-14.html @@ -79,7 +79,7 @@
        Cette classe permet d'afficher les éléments UML du projet.
        -
        UmlDiagram(Project) - Constructor for class UmlDiagram
        +
        umlUtilities.UmlDiagram(Project) - Constructor for class UmlDiagram
        Constructeur - Crée un nouveau diagramme UML à partir d'un projet.
        @@ -87,7 +87,7 @@
        Affiche une barre d'actions en haut de la fenêtre.
        -
        UmlToolbar(UmlDiagram) - Constructor for class UmlToolbar
        +
        umlUtilities.UmlToolbar(umlUtilities.UmlDiagram) - Constructor for class UmlToolbar
        Constructeur de la classe AppThinkerToolbar
        diff --git a/AppThinker/Documentation/index-files/index-2.html b/AppThinker/Documentation/index-files/index-2.html index 49a55ca..11468d2 100644 --- a/AppThinker/Documentation/index-files/index-2.html +++ b/AppThinker/Documentation/index-files/index-2.html @@ -85,11 +85,11 @@
        Gère une classe du projet.
        -
        Class(int, int, int) - Constructor for class Class
        +
        umlUtilities.Class(int, int, int) - Constructor for class Class
        Constructeur - Crée une instance de Class.
        -
        Class(String, int, int, int, int, int, ArrayList<Attribute>, ArrayList<Method>) - Constructor for class Class
        +
        umlUtilities.Class(String, int, int, int, int, int, ArrayList<umlUtilities.Attribute>, ArrayList<umlUtilities.Method>) - Constructor for class Class
        Constructeur - Crée une instance de Class avec les paramètres déterminés.
        @@ -99,7 +99,7 @@
        Classe permettant la création de fenêtres pour la modification des propriétés des classes.
        -
        ClassPropertiesWindow(UmlDiagram, Class) - Constructor for class ClassPropertiesWindow
        +
        umlUtilities.ClassPropertiesWindow(UmlDiagram, umlUtilities.Class) - Constructor for class ClassPropertiesWindow
        Constructeur - Crée une instance de la fenêtre de propriétés de classe à partir d'un diagramme et de la classe à modifier.
        @@ -135,7 +135,7 @@
        Gère une création qui est ajoutée à un projet
        -
        Composition(Project) - Constructor for class Composition
        +
        software.Composition(software.Project) - Constructor for class Composition
        Constructeur - Crée une nouvelle composition.
        diff --git a/AppThinker/Documentation/index-files/index-3.html b/AppThinker/Documentation/index-files/index-3.html index c82ef55..bd48480 100644 --- a/AppThinker/Documentation/index-files/index-3.html +++ b/AppThinker/Documentation/index-files/index-3.html @@ -73,11 +73,11 @@

        D

        -
        defineMainClass(Class) - Method in class ClassPropertiesWindow
        +
        defineMainClass(umlUtilities.Class) - Method in class ClassPropertiesWindow
         
        DELETE_TOOL - Static variable in class UmlToolbar
         
        -
        displayComposition(Composition) - Method in class AppThinkerWindow
        +
        displayComposition(software.Composition) - Method in class AppThinkerWindow
        Affiche une composition au centre de la fenêtre.
        diff --git a/AppThinker/Documentation/index-files/index-4.html b/AppThinker/Documentation/index-files/index-4.html index f6ba33e..b6b8602 100644 --- a/AppThinker/Documentation/index-files/index-4.html +++ b/AppThinker/Documentation/index-files/index-4.html @@ -75,7 +75,7 @@
        EDIT_TOOL - Static variable in class UmlToolbar
         
        -
        editClass(Class) - Method in class UmlDiagram
        +
        editClass(umlUtilities.Class) - Method in class UmlDiagram
        Modifie les propriétés de la classe.
        diff --git a/AppThinker/Documentation/index-files/index-7.html b/AppThinker/Documentation/index-files/index-7.html index 2745a37..4904ca8 100644 --- a/AppThinker/Documentation/index-files/index-7.html +++ b/AppThinker/Documentation/index-files/index-7.html @@ -77,11 +77,11 @@
        Gère un lien entre deux classes.
        -
        Link(Class, Class) - Constructor for class Link
        +
        umlUtilities.Link(Class, umlUtilities.Class) - Constructor for class Link
        Constructeur - Crée une instance d'une classe.
        -
        Link(Class, Class, int, int, int, int, int) - Constructor for class Link
        +
        umlUtilities.Link(Class, Class, int, int, int, int, int) - Constructor for class Link
        Constructeur - Crée une instance d'une classe avec des paramètres déterminés.
        diff --git a/AppThinker/Documentation/index-files/index-8.html b/AppThinker/Documentation/index-files/index-8.html index 6042016..29253d7 100644 --- a/AppThinker/Documentation/index-files/index-8.html +++ b/AppThinker/Documentation/index-files/index-8.html @@ -81,15 +81,15 @@
        Gère une méthode.
        -
        Method() - Constructor for class Method
        +
        umlUtilities.Method() - Constructor for class Method
        Constructeur - Crée une instance de Method.
        -
        Method(String, String, String, ArrayList<Argument>) - Constructor for class Method
        +
        umlUtilities.Method(String, String, String, ArrayList<umlUtilities.Argument>) - Constructor for class Method
        Constructeur - Crée une instance de Method avec des paramètres donnés.
        -
        Method(String, String, String, List<Argument>, boolean, boolean, boolean, boolean, boolean, boolean, boolean) - Constructor for class Method
        +
        umlUtilities.Method(String, String, String, List<umlUtilities.Argument>, boolean, boolean, boolean, boolean, boolean, boolean, boolean) - Constructor for class Method
        Constructeur - Crée une instance de Method avec des paramètres donnés.
        diff --git a/AppThinker/src/AboutWindow.java b/AppThinker/src/AboutWindow.java index 25a54c2..557eb91 100644 --- a/AppThinker/src/AboutWindow.java +++ b/AppThinker/src/AboutWindow.java @@ -1,5 +1,3 @@ -import javafx.scene.control.TextFormatter; - import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; diff --git a/AppThinker/src/AppThinker.java b/AppThinker/src/AppThinker.java index 1c7986b..83029a4 100644 --- a/AppThinker/src/AppThinker.java +++ b/AppThinker/src/AppThinker.java @@ -1,5 +1,3 @@ -import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; import java.io.*; import java.util.ArrayList; import java.util.List; diff --git a/AppThinker/src/AppThinkerSplashscreen.java b/AppThinker/src/AppThinkerSplashscreen.java index e9ab657..7b2693d 100644 --- a/AppThinker/src/AppThinkerSplashscreen.java +++ b/AppThinker/src/AppThinkerSplashscreen.java @@ -1,8 +1,6 @@ import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; -import java.io.File; -import java.io.IOException; /** * Ecran de démarrage du logiciel @@ -27,6 +25,8 @@ public class AppThinkerSplashscreen extends JFrame { protected void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; + RenderingHints rh = new RenderingHints(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + g2.setRenderingHints(rh); Image img = null; try { img = ImageIO.read(AppThinker.class.getResource("img/splashscreen.png")); } catch (Exception ex) { } g2.drawImage(img, 0, 0, 533, 300, this); diff --git a/AppThinker/src/Attribute.java b/AppThinker/src/Attribute.java index 74d57ca..06f3625 100644 --- a/AppThinker/src/Attribute.java +++ b/AppThinker/src/Attribute.java @@ -1,5 +1,3 @@ -import org.w3c.dom.Attr; - import java.io.Serializable; /** diff --git a/AppThinker/src/Class.java b/AppThinker/src/Class.java index 0816306..e032291 100644 --- a/AppThinker/src/Class.java +++ b/AppThinker/src/Class.java @@ -1,8 +1,6 @@ -import javax.swing.*; import java.awt.*; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; +import java.util.*; import java.util.List; /** @@ -12,8 +10,6 @@ import java.util.List; public class Class implements Serializable { public static int _classId = 0; - public static final int RECTANGLE = 0; - public static final int CIRCLE = 1; private int _id; private String _name; @@ -23,7 +19,6 @@ public class Class implements Serializable { private int _sizeY; private int _minSizeX; private int _minSizeY; - private int _shape; private List _attributes; private List _methods; @@ -32,9 +27,8 @@ public class Class implements Serializable { * Constructeur - Crée une instance de Class. * @param posX La position sur l'axe X de la nouvelle classe. * @param posY La position sur l'axe Y de la nouvelle classe. - * @param shape La forme de la nouvelle classe (Class.RECTANGLE ou Class.CIRCLE) */ - public Class(int posX, int posY, int shape){ + public Class(int posX, int posY){ _classId++; this._id = _classId; this._name = "Class" + _id; @@ -42,7 +36,6 @@ public class Class implements Serializable { this._posY = posY; this._sizeX = 90; this._sizeY = 50; - this._shape = shape; this._attributes = new ArrayList(); this._methods = new ArrayList(); this.computeMinSize(); @@ -55,11 +48,10 @@ public class Class implements Serializable { * @param posY La position sur l'axe Y de la classe importée. * @param sizeX La taille sur l'axe X de la classe importée. * @param sizeY La taille sur l'axe Y de la classe importée. - * @param shape La forme de la classe importée (Class.RECTANGLE ou Class.CIRCLE). * @param attributes La liste des attributs de la classe importée. * @param methods La liste des méthodes de la classe importée. */ - public Class(String name, int posX, int posY, int sizeX, int sizeY, int shape, ArrayList attributes, ArrayList methods){ + public Class(String name, int posX, int posY, int sizeX, int sizeY, ArrayList attributes, ArrayList methods){ _classId++; this._id = _classId; this._name = name; @@ -67,7 +59,6 @@ public class Class implements Serializable { this._posY = posY; this._sizeX = sizeX; this._sizeY = sizeY; - this._shape = shape; this._attributes = attributes; this._methods = methods; this.computeMinSize(); @@ -211,13 +202,13 @@ public class Class implements Serializable { int maxWidth = fm1.stringWidth(this.getName()); //Parcours des attributs for(Attribute a : this.getAttributes()){ - String chain = a.getAccess() + " " + a.getName() + " : " + a.getType(); + String chain = " " + a.getAccess() + " " + a.getName() + " : " + a.getType(); int temp = fm2.stringWidth(chain); if(temp > maxWidth) maxWidth = temp; } //Parcours des méthodes for(Method m : this.getMethods()){ - String chain = m.getAccess() + " " + m.getName() + "("; + String chain = " " + m.getAccess() + " " + m.getName() + "("; ArrayList listArguments = new ArrayList(); for(Argument ar : m.getArguments()){ listArguments.add(ar.getName() + " : " + ar.getType()); @@ -238,22 +229,6 @@ public class Class implements Serializable { if(this.getSizeY() < this.getMinSizeY()) this.setSizeY(this.getMinSizeY()); } - /** - * Récupère la forme graphique de la classe. - * @return La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE). - */ - public int getShape() { - return _shape; - } - - /** - * Paramètre la forme graphique de la classe. - * @param shape La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE). - */ - public void setShape(int shape) { - this._shape = shape; - } - /** * Récupère tous les attributs de la classe. * @return Les attributs de la classe. @@ -431,4 +406,34 @@ public class Class implements Serializable { this.setSizeX(this.getSizeX() + shiftX); if(this.getSizeX() > this.getMinSizeX()) this.setPosX(posX - this.getSizeX()/2); } + + /** + * Retourne l'ensemble des positions pour dessiner les points d'accroche. + * @return La liste des positions des points d'accroche pour la classe. + */ + public List> getGripsPosition(int gripSize){ + List> positions = new ArrayList>(); + List gripPos = new ArrayList(); + int posX = this.getPosX(); + int posY = this.getPosY(); + int sizeX = this.getSizeX(); + int sizeY = this.getSizeY(); + //Calcul des positions pour le grip N + positions.add(Arrays.asList(posX - gripSize / 2, posY - sizeY / 2 - gripSize / 2)); + //Calcul des positions pour le grip NE + positions.add(Arrays.asList(posX + sizeX / 2 - gripSize / 2, posY - sizeY / 2 - gripSize / 2)); + //Calcul des positions pour le grip E + positions.add(Arrays.asList(posX + sizeX / 2 - gripSize / 2, posY - gripSize / 2)); + //Calcul des positions pour le grip SE + positions.add(Arrays.asList(posX + sizeX / 2 - gripSize / 2, posY + sizeY / 2 - gripSize / 2)); + //Calcul des positions pour le grip S + positions.add(Arrays.asList(posX - gripSize / 2, posY + sizeY / 2 - gripSize / 2)); + //Calcul des positions pour le grip SW + positions.add(Arrays.asList(posX - sizeX / 2 - gripSize / 2, posY + sizeY / 2 - gripSize / 2)); + //Calcul des positions pour le grip W + positions.add(Arrays.asList(posX - sizeX / 2 - gripSize / 2, posY - gripSize / 2)); + //Calcul des positions pour le grip NW + positions.add(Arrays.asList(posX - sizeX / 2 - gripSize / 2, posY - sizeY / 2 - gripSize / 2)); + return positions; + } } diff --git a/AppThinker/src/ClassPropertiesWindow.java b/AppThinker/src/ClassPropertiesWindow.java index 89b7e9c..5fdfa76 100644 --- a/AppThinker/src/ClassPropertiesWindow.java +++ b/AppThinker/src/ClassPropertiesWindow.java @@ -1,12 +1,9 @@ import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableColumn; import java.awt.*; import java.awt.event.*; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; import java.util.Vector; /** diff --git a/AppThinker/src/Link.java b/AppThinker/src/Link.java index 5c84871..70166f1 100644 --- a/AppThinker/src/Link.java +++ b/AppThinker/src/Link.java @@ -17,13 +17,19 @@ public class Link implements Serializable{ public static final int CARD_ONE = 1; private int _id; + private int _type; + private String _name; + private Class _start; private int _minCardinalityStart; private int _maxCardinalityStart; + private String _gripStart; + private Class _end; private int _minCardinalityEnd; private int _maxCardinalityEnd; - private int _type; + private String _gripEnd; + /** * Constructeur - Crée une instance d'une classe. @@ -35,6 +41,7 @@ public class Link implements Serializable{ this._id = _linkId; this._start = start; this._end = end; + this._name = "relation" + _linkId; this._minCardinalityStart = Link.CARD_NULL; this._maxCardinalityStart = Link.CARD_UNLIMITED; this._minCardinalityEnd = Link.CARD_NULL; @@ -52,16 +59,19 @@ public class Link implements Serializable{ * @param maxCardinalityEnd La cardinalité maximum de la classe d'arrivée. * @param type Le type de lien. */ - public Link(Class start, Class end, int minCardinalityStart, int maxCardinalityStart, int minCardinalityEnd, int maxCardinalityEnd, int type){ + public Link(Class start, Class end, String gripStart, String gripEnd, int minCardinalityStart, int maxCardinalityStart, int minCardinalityEnd, int maxCardinalityEnd, int type){ _linkId++; this._id = _linkId; this._start = start; this._end = end; + this._gripStart = gripStart; + this._gripEnd = gripEnd; this._minCardinalityStart = minCardinalityStart; this._maxCardinalityStart = maxCardinalityStart; this._minCardinalityEnd = minCardinalityEnd; this._maxCardinalityEnd = maxCardinalityEnd; this._type = type; + this._name = "relation" + _linkId; } /** @@ -88,22 +98,6 @@ public class Link implements Serializable{ this._start = start; } - /** - * Récupère la classe d'arrivée du lien. - * @return La classe d'arrivée du lien. - */ - public Class getEnd() { - return _end; - } - - /** - * Paramètre la classe d'arrivée. - * @param end La classe d'arrivée. - */ - public void setEnd(Class end) { - this._end = end; - } - /** * Récupère la cardinalité minimum de la classe de départ. * @return La cardinalité minimum de la classe de départ. @@ -136,6 +130,38 @@ public class Link implements Serializable{ this._maxCardinalityStart = maxCardinalityStart; } + /** + * Retourne le point d'accroche du lien sur la classe de départ. + * @return Le point d'accroche du lien sur la classe de départ. + */ + public String getGripStart(){ + return _gripStart; + } + + /** + * Paramètre le point d'accroche du lien sur la classe de départ. + * @param gripStart Le point d'accroche du lien sur la classe de départ. + */ + public void setGripStart(String gripStart){ + _gripStart = gripStart; + } + + /** + * Récupère la classe d'arrivée du lien. + * @return La classe d'arrivée du lien. + */ + public Class getEnd() { + return _end; + } + + /** + * Paramètre la classe d'arrivée. + * @param end La classe d'arrivée. + */ + public void setEnd(Class end) { + this._end = end; + } + /** * Récupère la cardinalité minimum de la classe d'arrivée. * @return La cardinalité minimum de la classe d'arrivée. @@ -168,6 +194,22 @@ public class Link implements Serializable{ this._maxCardinalityEnd = maxCardinalityEnd; } + /** + * Retourne le point d'accroche du lien sur la classe d'arrivée. + * @return Le point d'accroche du lien sur la classe d'arrivée. + */ + public String getGripEnd(){ + return _gripEnd; + } + + /** + * Paramètre le point d'accroche du lien sur la classe d'arrivée. + * @param gripEnd Le point d'accroche du lien sur la classe d'arrivée. + */ + public void setGripEnd(String gripEnd){ + _gripEnd = gripEnd; + } + /** * Récupère le type du lien. * @return Le type du lien. @@ -184,6 +226,22 @@ public class Link implements Serializable{ this._type = type; } + /** + * Récupère le nom du lien. + * @return Le nom du lien. + */ + public String getName() { + return _name; + } + + /** + * Paramètre le nom du lien + * @param name Le nom du lien. + */ + public void setName(String name) { + this._name = name; + } + /** * Modifie la direction du lien (permute les classes de départ et d'arrivée). */ diff --git a/AppThinker/src/Project.java b/AppThinker/src/Project.java index 8e79991..acb5005 100644 --- a/AppThinker/src/Project.java +++ b/AppThinker/src/Project.java @@ -4,8 +4,6 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; /** * Gère un projet. diff --git a/AppThinker/src/UmlDiagram.java b/AppThinker/src/UmlDiagram.java index a3838f8..9b64110 100644 --- a/AppThinker/src/UmlDiagram.java +++ b/AppThinker/src/UmlDiagram.java @@ -1,7 +1,8 @@ import java.awt.*; import java.awt.event.MouseEvent; -import java.util.ArrayList; +import java.util.*; import java.util.List; +import java.lang.Math; /** * Cette classe permet d'afficher les éléments UML du projet. @@ -10,8 +11,24 @@ public class UmlDiagram extends Composition { private UmlToolbar _umlToolbar; private Object _selected; - private String cornerSelection = null; + private Object _hovered; + private String _gripHovered = null; + private String _gripSelected = null; + private boolean _viewGrips = false; + private int gripSize = 8; + public static final String GRIP_N = "N"; + public static final String GRIP_NE = "NE"; + public static final String GRIP_E = "E"; + public static final String GRIP_SE = "SE"; + public static final String GRIP_S = "S"; + public static final String GRIP_SW = "SW"; + public static final String GRIP_W = "W"; + public static final String GRIP_NW = "NW"; + + //Type de liens + final static float dash[] = {5.0f}; + final static BasicStroke dashed = new BasicStroke(1.0f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER, 10.0f, dash, 0.0f); private int _shiftX; private int _shiftY; @@ -26,8 +43,8 @@ public class UmlDiagram extends Composition { public UmlDiagram(Project project){ super(project); this._toolbar = new UmlToolbar(this); - this._type = UML_DIAGRAM; - this._name = "Composition " + _compositionId + " (" + _type + ")"; + this._type = Composition.UML_DIAGRAM; + this._name = "Composition " + Composition._compositionId + " (" + _type + ")"; _classes = new ArrayList(); _links = new ArrayList(); } @@ -78,7 +95,7 @@ public class UmlDiagram extends Composition { g2.setColor(new Color(39, 76, 94)); for(Attribute b : a.getAttributes()){ posCounter += font2.getSize(); - g2.drawString(b.getAccess() + " " + b.getName() + " : " + b.getType(), posX, posCounter); + g2.drawString(b.getAccess() + " " + b.getName() + " : " + b.getType(), posX+5, posCounter); //Si l'attribut est statique, on le souligne if(b.isStatic()) g2.drawLine(a.getPosX()-a.getSizeX()/2+10, posCounter+1, a.getPosX()+a.getSizeX()/2-10, posCounter+1); } @@ -101,35 +118,172 @@ public class UmlDiagram extends Composition { listArguments.add(ar.getName() + " : " + ar.getType()); } chain += String.join(", ", listArguments) + ") : " + m.getType(); - g2.drawString(chain, posX, posCounter); + g2.drawString(chain, posX+5, posCounter); //Si l'attribut est statique, on le souligne if(m.isStatic()) g2.drawLine(a.getPosX()-a.getSizeX()/2+10, posCounter+1, a.getPosX()+a.getSizeX()/2-10, posCounter+1); } - //Si la classe est sélectionnée - if(a == (Class)_selected){ - g2.setColor(new Color(39, 76, 94)); - //Top Left - g2.fillOval(posX-4, posY-4, 8, 8); + //Affichage du lien temporaire rouge + if(_selected != null && _gripSelected != null){ + Class b = (Class) _selected; + System.out.println(b.getName()); + List grips = Arrays.asList(GRIP_N, GRIP_NE, GRIP_E, GRIP_SE, GRIP_S, GRIP_SW, GRIP_W, GRIP_NW); + List> gripsPositions = b.getGripsPosition(gripSize); + g2.setColor(Color.RED); + g2.drawLine(gripsPositions.get(grips.indexOf(_gripSelected)).get(0) + gripSize/2, gripsPositions.get(grips.indexOf(_gripSelected)).get(1) + gripSize/2, this.getMousePosition().x, this.getMousePosition().y); + } + //Récupération de la liste des positions des points d'accroche pour la classe en cours + List> gripsPositions = a.getGripsPosition(gripSize); + for(Link l : _links){ + List grips = Arrays.asList(GRIP_N, GRIP_NE, GRIP_E, GRIP_SE, GRIP_S, GRIP_SW, GRIP_W, GRIP_NW); + List> gripsPositionsStart = l.getStart().getGripsPosition(gripSize); + List> gripsPositionsEnd = l.getEnd().getGripsPosition(gripSize); + int startX = gripsPositionsStart.get(grips.indexOf(l.getGripStart())).get(0) + gripSize / 2; + int startY = gripsPositionsStart.get(grips.indexOf(l.getGripStart())).get(1) + gripSize / 2; + int endX = gripsPositionsEnd.get(grips.indexOf(l.getGripEnd())).get(0) + gripSize / 2; + int endY = gripsPositionsEnd.get(grips.indexOf(l.getGripEnd())).get(1) + gripSize / 2; + //Dessin du lien en fonction du type de la relation + g2.setColor(Color.BLACK); + g2.setStroke(new BasicStroke(1f)); + //Dessin de la ligne en pointillés si le lien est faible + if(l.getType() == Link.WEAK){ + g2.setStroke(dashed); + g2.drawLine(startX, startY, endX, endY); + } + else if (l.getType() == Link.STRONG) g2.drawLine(startX, startY, endX, endY); + + //Si lien de composition, d'agrégation ou d'héritage, on dessine soit un carré ou un triangle + else{ + //On crée le carré ou le rectangle + int[][] posGrip = {{startX, startY}}; + //Détermination de l'angle pour que la figure s'adapte à la direction du lien + float angle = (float) Math.atan2(endX - startX, startY - endY); + //Détermination des points des polygones en fonction de l'angle et de la position du point d'accroche + float[][] posPol = getPolygonPoints(posGrip, -angle, l.getType()); + int[] polygonX = new int[posPol.length]; + int[] polygonY = new int[posPol.length]; + for(int i = 0; i < posPol.length; i++){ + polygonX[i] = (int)posPol[i][0]; + polygonY[i] = (int)posPol[i][1]; + } + //On dessine un polygone vide en agrégation + if(l.getType() == Link.AGGREGATION || l.getType() == Link.INHERITANCE) g2.drawPolygon(polygonX, polygonY, posPol.length); + //On dessine un polygone plein sinon + else g2.fillPolygon(polygonX, polygonY, posPol.length); + //Adaptation de la ligne sur le 3e point du polygone + g2.drawLine(polygonX[2], polygonY[2], endX, endY); + } + //Affichage des informations du lien + if(l.getType() != Link.INHERITANCE){ + //Décalage des positions pour mettre en évidence les écritures + if(l.getGripStart() == GRIP_NE || l.getGripStart() == GRIP_E || l.getGripStart() == GRIP_SE) startX += 20; + else if(l.getGripStart() == GRIP_NW || l.getGripStart() == GRIP_W || l.getGripStart() == GRIP_SW) startX -= 20; + else if(l.getGripStart() == GRIP_S) startY += 20; + if(l.getGripEnd() == GRIP_NE || l.getGripEnd() == GRIP_E || l.getGripEnd() == GRIP_SE) endX += 20; + else if(l.getGripEnd() == GRIP_NW || l.getGripEnd() == GRIP_W || l.getGripEnd() == GRIP_SW) endX -= 20; + else if(l.getGripEnd() == GRIP_S) endY += 20; + //Affichage des cardinalités sur la fin du lien + g2.drawString(l.getMinCardinalityEnd() + ".." + l.getMaxCardinalityEnd(), endX, endY); + if(l.getType() == Link.STRONG || l.getType() == Link.WEAK){ + g2.drawString(l.getMinCardinalityStart() + ".." + l.getMaxCardinalityStart(), startX, startY); + g2.drawString(l.getName(), (startX + endX)/2, (startY + endY)/2); + } + } + } + g2.setStroke(new BasicStroke(1f)); + //Affichage des points d'accroche + if(_viewGrips || (a == (Class)_selected)) { + //Changement de la couleur en fonction du mode + g2.setColor((_viewGrips) ? Color.GREEN : new Color(39, 76, 94)); //Top - g2.fillRect(posX + (a.getSizeX()/2)-4, posY-4, 8, 8); + g2.fillOval(gripsPositions.get(0).get(0), gripsPositions.get(0).get(1), gripSize, gripSize); //Top Right - g2.fillOval(posX + a.getSizeX()-4, posY-4, 8, 8); + g2.fillOval(gripsPositions.get(1).get(0), gripsPositions.get(1).get(1), gripSize, gripSize); //Right - g2.fillRect(posX + a.getSizeX()-4, posY + (a.getSizeY()/2)-4, 8, 8); + g2.fillOval(gripsPositions.get(2).get(0), gripsPositions.get(2).get(1), gripSize, gripSize); //Bottom Right - g2.fillOval(posX + a.getSizeX()-4, posY + a.getSizeY()-4, 8, 8); + g2.fillOval(gripsPositions.get(3).get(0), gripsPositions.get(3).get(1), gripSize, gripSize); //Bottom - g2.fillRect(posX + (a.getSizeX()/2)-4, posY + a.getSizeY()-4,8, 8); + g2.fillOval(gripsPositions.get(4).get(0), gripsPositions.get(4).get(1),gripSize, gripSize); //Bottom Left - g2.fillOval(posX - 4, posY + a.getSizeY()-4, 8, 8); + g2.fillOval(gripsPositions.get(5).get(0), gripsPositions.get(5).get(1), gripSize, gripSize); //Left - g2.fillRect(posX -4, posY + (a.getSizeY()/2)-4, 8, 8); - //Total rectangle - g2.drawRect(posX, posY, a.getSizeX(), a.getSizeY()); + g2.fillOval(gripsPositions.get(6).get(0), gripsPositions.get(6).get(1), gripSize, gripSize); + //Top Left + g2.fillOval(gripsPositions.get(7).get(0), gripsPositions.get(7).get(1), gripSize, gripSize); } } } + /** + * Calcule les points du polygone à tracer. + * @param position La position du point d'accroche. + * @param type Le type de relation. + * @return Les points du polygone à tracer. + */ + public float[][] getPolygonPoints(int[][] position, double angle, int type){ + //Patterns de polygon : carré pour composition et agrégation, triangle pour héritage + int[][] squarePattern = {{0,0},{-10,-10},{0,-20},{10,-10},{0,0}}; + int[][] trianglePattern = {{0,0},{-10,-20},{0,-20},{10,-20},{0,0}}; + + //Demande d'un carré ou d'un triangle selon le type de lien + float[][] points = null; + switch(type){ + case Link.INHERITANCE: + points = rotateMatrice(trianglePattern, angle); + break; + default: + points = rotateMatrice(squarePattern, angle); + break; + } + //Déplacement du pattern à la position du point d'accroche + for(int i = 0; i < points.length; i++){ + points[i][0] += position[0][0]; + points[i][1] += position[0][1]; + } + return points; + } + + /** + * Rotate le polygone sous forme de matrice. + * @param matrice Les points du pattern de polygone. + * @param angle L'angle de rotation. + * @return La matrice tournée correspondant au polygone final. + */ + public float[][] rotateMatrice(int[][] matrice, double angle){ + //Matrice de rotation en fonction de l'angle + double[][] rotate = {{Math.cos(angle), (-1)*Math.sin(angle)},{Math.sin(angle), Math.cos(angle)}}; + //Matrice finale + float[][] finalMatrice = new float[matrice.length][2]; + //Multiplication de rotate * finalMatrice + for(int i=0; i < matrice.length; i++){ + for(int j=0; j < 2; j++){ + finalMatrice[i][j] = 0; + for(int k=0; k<2 ;k++) + { + finalMatrice[i][j] += matrice[i][k] * rotate[k][j]; + } + } + } + return finalMatrice; + } + + /** + * Retourne si la vue des points d'accroches est activée pour le diagramme + * @return true : la vue des points d'accroche est activée, false sinon. + */ + public boolean viewGripsEnabled(){ + return _viewGrips; + } + + /** + * Active/Désactive la vue des points d'accroches pour les classes. + * @param enabled La vue des points d'accroches pour les classes. + */ + public void setViewGripsEnabled(boolean enabled){ + _viewGrips = enabled; + this.repaint(); + } + /** * Retourne la classe principale du diagramme. * @return La classe principale du diagramme. @@ -177,6 +331,12 @@ public class UmlDiagram extends Composition { * @param c La classe à retirer. */ public void removeClass(Class c){ + //On supprime les liens associés à cette classe + Iterator iter = _links.iterator(); + while(iter.hasNext()){ + Link link = iter.next(); + if(c.equals(link.getStart()) || c.equals(link.getEnd())) iter.remove(); + } //On supprime la classe principale. Par défaut, la 1ère classe créée devient la classe principale. this._classes.remove(c); if(_mainClass == c && _classes.size() != 0) _mainClass = _classes.get(0); @@ -188,6 +348,7 @@ public class UmlDiagram extends Composition { */ public void clearClasses(){ this._classes.clear(); + this.clearLinks(); } /** @@ -244,33 +405,32 @@ public class UmlDiagram extends Composition { * @param getY Les coordonnées de la souris sur l'axe Y. */ public void select(int getX, int getY){ - //On cherche l'objet sélectionné - boolean classSelected = false; - boolean linkSelected = false; - for(Class a : _classes){ - int posX = a.getPosX()-(a.getSizeX()/2); - int posY = a.getPosY()-(a.getSizeY()/2); - //Si la souris est dans la classe - if (getX >= posX && getX <= (posX + a.getSizeX())) { - if (getY >= posY && getY <= (posY + a.getSizeY())) { - this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); - //On sélectionne la classe - classSelected = true; - _selected = a; - break; + //Si un élément est survolé, on le sélectionne + for(Class c : _classes){ + int posX = c.getPosX(); + int posY = c.getPosY(); + int sizeX = c.getSizeX(); + int sizeY = c.getSizeY(); + //Si cette classe est survolée, on affiche son nom dans la barre de statut et on la sauvegarde temporairement + _selected = null; + if(getX >= posX - sizeX/2 - gripSize && getX <= posX + sizeX/2 + gripSize && getY >= posY - sizeY/2 - gripSize && getY <= posY + sizeY/2 + gripSize){ + AppThinker.getWindow().getStatusbar().setStatusMessage("Selected class : " + c.getName()); + _selected = c; + //Si on est en mode édition de liens, on recherche le point d'accroche survolé + if(_viewGrips) { + checkHoveredGrip((Class) _selected, getX, getY); + _gripSelected = _gripHovered; } + break; } } - if(classSelected == false && linkSelected == false && cornerSelection == null) _selected = null; //Si la classe est sélectionnée, on enregistre le décalage entre la souris et le centre de la classe - AppThinker.getWindow().getStatusbar().setSizeLabel(0, 0); if(_selected instanceof Class){ Class a = (Class) _selected; AppThinker.getWindow().getStatusbar().setSizeLabel(a.getSizeX(), a.getSizeY()); _shiftX = getX - a.getPosX(); _shiftY = getY - a.getPosY(); } - this.repaint(); } /** @@ -281,6 +441,49 @@ public class UmlDiagram extends Composition { ClassPropertiesWindow prop = new ClassPropertiesWindow(this, a); } + /** + * Vérifie si le curseur est à proximité d'un point d'accroche. Dans ce cas, il enregistre le point survolé. + * @param a La classe à vérifier. + * @param x L'abscisse du curseur. + * @param y L'ordonnée du curseur. + */ + public void checkHoveredGrip(Class a, int x, int y){ + int sensibility = 5; + int posX = a.getPosX(); + int posY = a.getPosY(); + int sizeX = a.getSizeX(); + int sizeY = a.getSizeY(); + //Si la souris est à proximité d'un point d'accroche, on affiche le curseur de redimensionnement + if (x >= posX - sensibility && x <= posX + sensibility && y >= posY - sizeY/2 - sensibility && y <= posY - sizeY/2 + sensibility) { + _gripHovered = GRIP_N; + this.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR)); + } else if (x >= posX + sizeX/2 - sensibility && x <= posX + sizeX/2 + sensibility && y >= posY - sizeY/2 - sensibility && y <= posY - sizeY/2 + sensibility) { + _gripHovered = GRIP_NE; + this.setCursor(new Cursor(Cursor.NE_RESIZE_CURSOR)); + } else if (x >= posX + sizeX/2 - sensibility && x <= posX + sizeX/2 + sensibility && y >= posY - sensibility && y <= posY + sensibility) { + _gripHovered = GRIP_E; + this.setCursor(new Cursor(Cursor.E_RESIZE_CURSOR)); + } else if (x >= posX + sizeX/2 - sensibility && x <= posX + sizeX/2 + sensibility && y >= posY + sizeY/2 - sensibility && y <= posY + sizeY/2 + sensibility) { + _gripHovered = GRIP_SE; + this.setCursor(new Cursor(Cursor.SE_RESIZE_CURSOR)); + } else if (x >= posX - sensibility && x <= posX + sensibility && y >= posY + sizeY/2 - sensibility && y <= posY + sizeY/2 + sensibility) { + _gripHovered = GRIP_S; + this.setCursor(new Cursor(Cursor.S_RESIZE_CURSOR)); + } else if (x >= posX - sizeX/2 - sensibility && x <= posX - sizeX/2 + sensibility && y >= posY + sizeY/2 - sensibility && y <= posY + sizeY/2 + sensibility) { + _gripHovered = GRIP_SW; + this.setCursor(new Cursor(Cursor.SW_RESIZE_CURSOR)); + } else if (x >= posX - sizeX/2 - sensibility && x <= posX - sizeX/2 + sensibility && y >= posY - sensibility && y <= posY + sensibility) { + _gripHovered = GRIP_W; + this.setCursor(new Cursor(Cursor.W_RESIZE_CURSOR)); + } else if (x >= posX - sizeX/2 - sensibility && x <= posX - sizeX/2 + sensibility && y >= posY - sizeY/2 - sensibility && y <= posY - sizeY/2 + sensibility) { + _gripHovered = GRIP_NW; + this.setCursor(new Cursor(Cursor.NW_RESIZE_CURSOR)); + } else { + _gripHovered = null; + this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); + } + } + //Actions de la souris sur le diagramme UML /** * Action du clic de la souris sur le diagramme. @@ -325,22 +528,27 @@ public class UmlDiagram extends Composition { break; //On essaie d'ajouter une classe case UmlToolbar.CLASS_TOOL: - this.addClass(new Class(e.getX(), e.getY(), Class.RECTANGLE)); + this.addClass(new Class(e.getX(), e.getY())); break; case UmlToolbar.STRONG_TOOL: System.out.println("On ajoute une relation forte."); + this.select(e.getX(), e.getY()); break; case UmlToolbar.WEAK_TOOL: System.out.println("On ajoute une relation faible."); + this.select(e.getX(), e.getY()); break; case UmlToolbar.COMPOSITION_TOOL: System.out.println("On ajoute une relation de composition."); + this.select(e.getX(), e.getY()); break; case UmlToolbar.AGGREGATION_TOOL: System.out.println("On ajoute une relation d'agrégation."); + this.select(e.getX(), e.getY()); break; case UmlToolbar.INHERITANCE_TOOL: System.out.println("On ajoute une relation d'héritage."); + this.select(e.getX(), e.getY()); break; default: this.select(e.getX(), e.getY()); @@ -351,7 +559,15 @@ public class UmlDiagram extends Composition { @Override public void mouseReleased(MouseEvent e) { - + //Si on lâche le curseur en cours de création de liens, on annule la saisie. + if(_viewGrips){ + if(_gripSelected != null){ + _gripSelected = null; + _selected = null; + this.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); + } + this.repaint(); + } } @Override @@ -378,51 +594,87 @@ public class UmlDiagram extends Composition { Class a = (Class)_selected; int shiftX = 0; int shiftY = 0; - //Si un coin est sélectionné, on redimensionne - if(cornerSelection != null){ - switch(cornerSelection){ - case "N": - a.resizeUp(posY); - break; - case "NE": - a.resizeUp(posY); - a.resizeRight(posX); - case "E": - a.resizeRight(posX); - break; - case "SE": - a.resizeDown(posY); - a.resizeRight(posX); - case "S": - a.resizeDown(posY); - break; - case "SW": - a.resizeDown(posY); - a.resizeLeft(posX); - break; - case "W": - a.resizeLeft(posX); - break; - case "NW": - a.resizeUp(posY); - a.resizeLeft(posX); - break; + //Sinon, soit on redimensionne une classe ou on la déplace. + if(!_viewGrips){ + if(_gripHovered != null){ + switch(_gripHovered){ + case GRIP_N: + a.resizeUp(posY); + break; + case GRIP_NE: + a.resizeUp(posY); + a.resizeRight(posX); + case GRIP_E: + a.resizeRight(posX); + break; + case GRIP_SE: + a.resizeDown(posY); + a.resizeRight(posX); + case GRIP_S: + a.resizeDown(posY); + break; + case GRIP_SW: + a.resizeDown(posY); + a.resizeLeft(posX); + break; + case GRIP_W: + a.resizeLeft(posX); + break; + case GRIP_NW: + a.resizeUp(posY); + a.resizeLeft(posX); + break; + } + AppThinker.getWindow().getStatusbar().setSizeLabel(a.getSizeX(), a.getSizeY()); + } + //Sinon on déplace + else{ + //On repositionne la classe en prenant en compte le décalage mesuré au clic de la souris + a.setPosX(posX - _shiftX); + a.setPosY(posY - _shiftY); + this.setCursor(new Cursor(Cursor.MOVE_CURSOR)); } - AppThinker.getWindow().getStatusbar().setSizeLabel(a.getSizeX(), a.getSizeY()); } - //Sinon on déplace - else{ - //On repositionne la classe en prenant en compte le décalage mesuré au clic de la souris - a.setPosX(posX - _shiftX); - a.setPosY(posY - _shiftY); - this.setCursor(new Cursor(Cursor.MOVE_CURSOR)); + } + //On est en train de créer un lien, on recherche le point d'accroche d'arrivée + if(_selected != null && _gripSelected != null){ + Class selected = (Class) _selected; + for(Class hovered : _classes){ + int posXSelected = hovered.getPosX(); + int posYSelected = hovered.getPosY(); + int sizeXSelected = hovered.getSizeX(); + int sizeYSelected = hovered.getSizeY(); + //Si cette classe est survolée, on affiche son nom dans la barre de statut et on la sauvegarde temporairement + _hovered = null; + if(posX >= posXSelected - sizeXSelected/2 - gripSize && posX <= posXSelected + sizeXSelected/2 + gripSize && posY >= posYSelected - sizeYSelected/2 - gripSize && posY <= posYSelected + sizeYSelected/2 + gripSize){ + AppThinker.getWindow().getStatusbar().setStatusMessage("Approach a target grip on this class to create the link : " + hovered.getName()); + if(hovered != _selected){ + _hovered = hovered; + //On recherche le point survolé + checkHoveredGrip((Class) _hovered, posX, posY); + //Si toutes les conditions sont réunies, on crée le lien + if(_hovered != null && _gripHovered != null && _selected != null && _gripSelected != null){ + //Récupération du type de lien + UmlToolbar toolbar = (UmlToolbar) _toolbar; + int currentTool = toolbar.getCurrentTool(); + int type = (currentTool == UmlToolbar.STRONG_TOOL) ? Link.STRONG : (currentTool == UmlToolbar.WEAK_TOOL) ? Link.WEAK : (currentTool == UmlToolbar.COMPOSITION_TOOL) ? Link.COMPOSITION : (currentTool == UmlToolbar.AGGREGATION_TOOL) ? Link.AGGREGATION : Link.INHERITANCE; + _links.add(new Link((Class) _selected, (Class) _hovered, _gripSelected, _gripHovered, 0, 0, 0, 0, type)); + _selected = null; + _gripSelected = null; + _gripHovered = null; + _hovered = null; + this.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); + } + } + break; + } } } this.repaint(); } /** - * La souris bouge dans la grille. + * Déclenchée par le mouvement de la souris, cette fonction permet de récupérer la classe actuellement survolée. * @param e L'événement souris. */ @Override @@ -432,41 +684,12 @@ public class UmlDiagram extends Composition { int sens = 5; //Mise à jour des coordonnées de la souris dans la statusbar AppThinker.getWindow().getStatusbar().setPosLabel(e.getX(), e.getY()); - //Si une classe est sélectionnée + //Si une classe est sélectionnée, on recherche si le curseur est à proximité d'un point d'accroche if (_selected instanceof Class) { Class a = (Class) _selected; AppThinker.getWindow().getStatusbar().setSizeLabel(a.getSizeX(), a.getSizeY()); - int posX = a.getPosX() - (a.getSizeX() / 2); - int posY = a.getPosY() - (a.getSizeY() / 2); - //Si la souris est à proximité d'un lien, on affiche le curseur de redimensionnement - if (getX >= posX - sens && getX <= posX + sens && getY >= posY - sens && getY <= posY + sens) { - cornerSelection = "NW"; - this.setCursor(new Cursor(Cursor.NW_RESIZE_CURSOR)); - } else if (getX >= posX + a.getSizeX() / 2 - sens && getX <= posX + a.getSizeX() / 2 + sens && getY >= posY - sens && getY <= posY + sens) { - cornerSelection = "N"; - this.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR)); - } else if (getX >= posX + a.getSizeX() - sens && getX <= posX + a.getSizeX() + sens && getY >= posY - sens && getY <= posY + sens) { - cornerSelection = "NE"; - this.setCursor(new Cursor(Cursor.NE_RESIZE_CURSOR)); - } else if (getX >= posX + a.getSizeX() - sens && getX <= posX + a.getSizeX() + sens && getY >= posY + a.getSizeY() / 2 - sens && getY <= posY + a.getSizeY() / 2 + sens) { - cornerSelection = "E"; - this.setCursor(new Cursor(Cursor.E_RESIZE_CURSOR)); - } else if (getX >= posX + a.getSizeX() - sens && getX <= posX + a.getSizeX() + sens && getY >= posY + a.getSizeY() - sens && getY <= posY + a.getSizeY() + sens) { - cornerSelection = "SE"; - this.setCursor(new Cursor(Cursor.SE_RESIZE_CURSOR)); - } else if (getX >= posX + a.getSizeX() / 2 - sens && getX <= posX + a.getSizeX() / 2 + sens && getY >= posY + a.getSizeY() - sens && getY <= posY + a.getSizeY() + sens) { - cornerSelection = "S"; - this.setCursor(new Cursor(Cursor.S_RESIZE_CURSOR)); - } else if (getX >= posX - sens && getX <= posX + sens && getY >= posY + a.getSizeY() - sens && getY <= posY + a.getSizeY() + sens) { - cornerSelection = "SW"; - this.setCursor(new Cursor(Cursor.SW_RESIZE_CURSOR)); - } else if (getX >= posX - sens && getX <= posX + sens && getY >= posY + a.getSizeY() / 2 - sens && getY <= posY + a.getSizeY() / 2 + sens) { - cornerSelection = "W"; - this.setCursor(new Cursor(Cursor.W_RESIZE_CURSOR)); - } else { - cornerSelection = null; - this.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); - } + //Si une classe est sélectionnée, on recherche si le curseur est à proximité d'un point d'accroche + checkHoveredGrip(a, getX, getY); } } } diff --git a/AppThinker/src/UmlToolbar.java b/AppThinker/src/UmlToolbar.java index 1af645b..81c43c0 100644 --- a/AppThinker/src/UmlToolbar.java +++ b/AppThinker/src/UmlToolbar.java @@ -259,6 +259,7 @@ public class UmlToolbar extends JPanel { this._currentTool = currentTool; if(this._currentTool == UmlToolbar.SELECT_TOOL) _umlDiagram.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); else _umlDiagram.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR)); + _umlDiagram.setViewGripsEnabled(false); switch(currentTool){ case EDIT_TOOL: if(_umlDiagram.getSelected() instanceof Class){ @@ -282,18 +283,23 @@ public class UmlToolbar extends JPanel { AppThinker.getWindow().getStatusbar().setStatusMessage("Class tool - Click everywhere to add a new class."); break; case STRONG_TOOL: + _umlDiagram.setViewGripsEnabled(true); AppThinker.getWindow().getStatusbar().setStatusMessage("Strong relation tool - Click on a class, hold, and release on another class."); break; case WEAK_TOOL: + _umlDiagram.setViewGripsEnabled(true); AppThinker.getWindow().getStatusbar().setStatusMessage("Weak relation tool - Click on a class, hold, and release on another class."); break; case COMPOSITION_TOOL: + _umlDiagram.setViewGripsEnabled(true); AppThinker.getWindow().getStatusbar().setStatusMessage("Composition relation tool - Click on a class, hold, and release on another class."); break; case AGGREGATION_TOOL: + _umlDiagram.setViewGripsEnabled(true); AppThinker.getWindow().getStatusbar().setStatusMessage("Aggregation relation tool - Click on a class, hold, and release on another class."); break; case INHERITANCE_TOOL: + _umlDiagram.setViewGripsEnabled(true); AppThinker.getWindow().getStatusbar().setStatusMessage("Inheritance relation tool - Click on a class, hold, and release on another class."); break; default: