Apport de modifications

This commit is contained in:
2020-11-22 15:55:26 +01:00
parent 98dad58f20
commit b5df0be481
7 changed files with 134 additions and 40 deletions

View File

@@ -1,12 +1,14 @@
import javax.swing.*; import javax.swing.*;
/**
* La classe principale du logiciel AppThinker.
* @author V.BOULANGER
*/
public class AppThinker { public class AppThinker {
//JavaDoc tags : @param @return @throws @author @version @see @since @serial @deprecated //JavaDoc tags : @param @return @throws @author @version @see @since @serial @deprecated
/** /**
* La classe principale de AppThinker * La méthode principale exécutée
* @param args Les arguments de la méthode principale. * @param args Les arguments de la méthode principale.
* @author V.BOULANGER
*/ */
public static void main(String[] args) { public static void main(String[] args) {
AppThinkerWindow window = new AppThinkerWindow(); AppThinkerWindow window = new AppThinkerWindow();

View File

@@ -1,13 +1,46 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
/**
* Affiche une grille pour l'affichage du projet.
* @author V.BOULANGER
*/
public class AppThinkerGrid extends JPanel { public class AppThinkerGrid extends JPanel {
/** /**
* Constructeur de la classe AppThinkerGrid * Constructeur de la classe AppThinkerGrid
* @author V.BOULANGER
*/ */
public AppThinkerGrid(){ public AppThinkerGrid(){
this.setBackground(new Color(192, 192, 192)); this.setBackground(new Color(192, 192, 192));
} }
/**
* Affiche les éléments du projet dans la grille.
* @param project Projet à afficher.
*/
public void displayProject(Project project){
}
/**
* Détruit tous les éléments de la grille.
*/
public void cleanProject(){
}
/**
* Applique un zoom sur la grille.
* @param percent Pourcentage du zoom (1 - 500).
*/
public void zoom(int percent){
}
/**
* Rafraîchit les modifications sur la grille.
*/
public void refresh(){
this.updateUI();
}
} }

View File

@@ -2,11 +2,14 @@ import javax.imageio.ImageIO;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
/**
* Affiche une barre de menu en entête de la fenêtre.
* @author V.BOULANGER
*/
public class AppThinkerMenuBar extends JMenuBar { public class AppThinkerMenuBar extends JMenuBar {
/** /**
* Constructeur de la classe AppThinkerMenuBar * Constructeur de la classe AppThinkerMenuBar
* @author V.BOULANGER
*/ */
public AppThinkerMenuBar(){ public AppThinkerMenuBar(){

View File

@@ -2,10 +2,13 @@ import javax.swing.*;
import javax.swing.border.BevelBorder; import javax.swing.border.BevelBorder;
import java.awt.*; import java.awt.*;
/**
* Affiche une barre de statut au pied de la fenêtre
* @author V.BOULANGER
*/
public class AppThinkerStatusbar extends JPanel { public class AppThinkerStatusbar extends JPanel {
/** /**
* Constructeur de la classe AppThinkerStatusbar * Constructeur de la classe AppThinkerStatusbar
* @author V.BOULANGER
*/ */
public AppThinkerStatusbar(){ public AppThinkerStatusbar(){
//Création de la statusBar //Création de la statusBar

View File

@@ -1,10 +1,13 @@
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
/**
* Affiche une barre d'actions en haut de la fenêtre.
* @author V.BOULANGER
*/
public class AppThinkerToolbar extends JPanel { public class AppThinkerToolbar extends JPanel {
/** /**
* Constructeur de la classe AppThinkerToolbar * Constructeur de la classe AppThinkerToolbar
* @author V.BOULANGER
*/ */
public AppThinkerToolbar(){ public AppThinkerToolbar(){
//Création de la Toolbar //Création de la Toolbar

View File

@@ -2,11 +2,16 @@ import javax.imageio.ImageIO;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
/**
* Affiche une fenêtre du logiciel.
* @author V.BOULANGER
*/
public class AppThinkerWindow extends JFrame { public class AppThinkerWindow extends JFrame {
private Project _project;
private AppThinkerGrid _grid;
/** /**
* Constructeur de la classe AppThinkerWindow * Constructeur de la classe AppThinkerWindow
* @author V.BOULANGER
*/ */
public AppThinkerWindow(){ public AppThinkerWindow(){
//Paramétrage de la fenêtre //Paramétrage de la fenêtre
@@ -27,12 +32,57 @@ public class AppThinkerWindow extends JFrame {
this.add(toolbar, BorderLayout.NORTH); this.add(toolbar, BorderLayout.NORTH);
//Ajout de la grille à la fenêtre //Ajout de la grille à la fenêtre
AppThinkerGrid grid = new AppThinkerGrid(); _grid = new AppThinkerGrid();
this.add(grid, BorderLayout.CENTER); this.add(_grid, BorderLayout.CENTER);
//Ajout de la statusbar à la fenêtre //Ajout de la statusbar à la fenêtre
AppThinkerStatusbar statusbar = new AppThinkerStatusbar(); AppThinkerStatusbar statusbar = new AppThinkerStatusbar();
this.add(statusbar, BorderLayout.SOUTH); this.add(statusbar, BorderLayout.SOUTH);
this.pack(); this.pack();
} }
/**
* Crée un nouveau Projet.
*/
public void newProject(){
this._project = new Project();
this.setTitle("AppThinker | " + _project.getName());
}
/**
* Ouvre un projet existant dans la fenêtre.
* @param path Le chemin du projet à ouvrir.
*/
public void openProject(String path){
}
/**
* Ferme le projet en cours.
*/
public void closeProject(){
this._project = null;
}
/**
* Convertit le projet actuel en chaîne XML.
*/
public void convertToXml(){
}
/**
* Sauvegarde le projet en cours.
*/
public void saveProject(){
}
/**
* Sauvegarde le projet en cours à un autre emplacement.
* @param path Le chemin de sauvegarde du projet.
*/
public void saveAsProject(String path){
}
} }

View File

@@ -7,7 +7,7 @@ import java.util.List;
*/ */
public class Project { public class Project {
private static int _projectId = 0; public static int _projectId = 0;
private int _id; private int _id;
private String _name; private String _name;
@@ -20,8 +20,7 @@ public class Project {
private List<Link> _links; private List<Link> _links;
/** /**
* Crée une instance de Projet. * Constructeur - Crée une instance de Projet.
* @author V.BOULANGER
*/ */
public Project(){ public Project(){
_projectId++; _projectId++;
@@ -36,7 +35,7 @@ public class Project {
} }
/** /**
* Crée une instance de Projet avec des paramètres déterminés. * Constructeur - Crée une instance de Projet avec des paramètres déterminés.
* @param name Le nom du projet. * @param name Le nom du projet.
* @param author L'auteur du projet. * @param author L'auteur du projet.
* @param version La version du projet. * @param version La version du projet.
@@ -44,7 +43,6 @@ public class Project {
* @param path Chemin vers le ficher enregistré. * @param path Chemin vers le ficher enregistré.
* @param classes La liste des classes du projet. * @param classes La liste des classes du projet.
* @param links La liste des liens du projet. * @param links La liste des liens du projet.
* @author V.BOULANGER
*/ */
public Project(String name, String author, String version, String designation, String path, List<Class> classes, List<Link> links){ public Project(String name, String author, String version, String designation, String path, List<Class> classes, List<Link> links){
_projectId++; _projectId++;
@@ -58,17 +56,9 @@ public class Project {
_links = links; _links = links;
} }
/**
* Récupère le nombre d'instances de Projet.
* @author V.BOULANGER
*/
public static int getProjectsNumber(){
return _projectId;
}
/** /**
* Récupère le numéro du Projet. * Récupère le numéro du Projet.
* @author V.BOULANGER * @return Le numéro du projet.
*/ */
public int getId(){ public int getId(){
return this._id; return this._id;
@@ -76,7 +66,7 @@ public class Project {
/** /**
* Récupère le nom du Projet. * Récupère le nom du Projet.
* @author V.BOULANGER * @return Le nom du projet.
*/ */
public String getName(){ public String getName(){
return this._name; return this._name;
@@ -84,7 +74,7 @@ public class Project {
/** /**
* Paramètre le nom du Projet. * Paramètre le nom du Projet.
* @author V.BOULANGER * @param name Le nom du projet.
*/ */
public void setName(String name){ public void setName(String name){
this._name = name; this._name = name;
@@ -92,7 +82,7 @@ public class Project {
/** /**
* Récupère l'auteur du Projet. * Récupère l'auteur du Projet.
* @author V.BOULANGER * @return L'auteur du projet.
*/ */
public String getAuthor(){ public String getAuthor(){
return this._author; return this._author;
@@ -100,7 +90,7 @@ public class Project {
/** /**
* Paramètre l'auteur du Projet. * Paramètre l'auteur du Projet.
* @author V.BOULANGER * @param author L'auteur du projet.
*/ */
public void setAuthor(String author){ public void setAuthor(String author){
this._author = author; this._author = author;
@@ -108,7 +98,7 @@ public class Project {
/** /**
* Récupère le numéro de version du Projet. * Récupère le numéro de version du Projet.
* @author V.BOULANGER * @return Le numéro de version du projet.
*/ */
public String getVersion(){ public String getVersion(){
return this._version; return this._version;
@@ -116,7 +106,7 @@ public class Project {
/** /**
* Paramètre le numéro de version du Projet. * Paramètre le numéro de version du Projet.
* @author V.BOULANGER * @param version Le numéro de version du projet.
*/ */
public void setVersion(String version){ public void setVersion(String version){
this._version = version; this._version = version;
@@ -124,7 +114,7 @@ public class Project {
/** /**
* Récupère la désignation du Projet. * Récupère la désignation du Projet.
* @author V.BOULANGER * @return La désignation du projet.
*/ */
public String getDesignation(){ public String getDesignation(){
return this._designation; return this._designation;
@@ -132,7 +122,7 @@ public class Project {
/** /**
* Paramètre la désignation du Projet. * Paramètre la désignation du Projet.
* @author V.BOULANGER * @param designation La désignation du projet.
*/ */
public void setDesignation(String designation){ public void setDesignation(String designation){
this._designation = designation; this._designation = designation;
@@ -140,7 +130,7 @@ public class Project {
/** /**
* Récupère la désignation du Projet. * Récupère la désignation du Projet.
* @author V.BOULANGER * @return Le chemin du fichier du projet.
*/ */
public String getPath(){ public String getPath(){
return this._path; return this._path;
@@ -148,16 +138,23 @@ public class Project {
/** /**
* Paramètre la désignation du Projet. * Paramètre la désignation du Projet.
* @author V.BOULANGER * @param path Le chemin vers le fichier du projet.
*/ */
public void setPath(String path){ public void setPath(String path){
this._path = path; this._path = path;
} }
/**
* Récupère toutes les classes du projet.
* @return Les classes du projet.
*/
public List<Class> getClasses(){
return this._classes;
}
/** /**
* Ajoute une classe au projet. * Ajoute une classe au projet.
* @param c La classe à ajouter. * @param c La classe à ajouter.
* @author V.BOULANGER
*/ */
public void addClass(Class c){ public void addClass(Class c){
this._classes.add(c); this._classes.add(c);
@@ -166,7 +163,6 @@ public class Project {
/** /**
* Retire une classe du projet. * Retire une classe du projet.
* @param index L'index de la classe à retirer. * @param index L'index de la classe à retirer.
* @author V.BOULANGER
*/ */
public void removeClass(int index){ public void removeClass(int index){
this._classes.remove(index); this._classes.remove(index);
@@ -174,16 +170,22 @@ public class Project {
/** /**
* Supprime toutes les classes du projet. * Supprime toutes les classes du projet.
* @author V.BOULANGER
*/ */
public void clearClasses(){ public void clearClasses(){
this._classes.clear(); this._classes.clear();
} }
/**
* Récupère tous les liens du projet.
* @return Les liens du projet.
*/
public List<Link> getLinks(){
return this._links;
}
/** /**
* Ajoute un lien au projet. * Ajoute un lien au projet.
* @param l Le lien à ajouter. * @param l Le lien à ajouter.
* @author V.BOULANGER
*/ */
public void addLink(Link l){ public void addLink(Link l){
this._links.add(l); this._links.add(l);
@@ -192,7 +194,6 @@ public class Project {
/** /**
* Retire un lien du projet. * Retire un lien du projet.
* @param index L'index du lien à retirer. * @param index L'index du lien à retirer.
* @author V.BOULANGER
*/ */
public void removeLink(int index){ public void removeLink(int index){
this._links.remove(index); this._links.remove(index);
@@ -200,7 +201,6 @@ public class Project {
/** /**
* Supprime tous les liens du projet. * Supprime tous les liens du projet.
* @author V.BOULANGER
*/ */
public void clearLinks(){ public void clearLinks(){
this._links.clear(); this._links.clear();