2020-11-21 15:01:19 +01:00
|
|
|
import javax.imageio.ImageIO;
|
|
|
|
|
import javax.swing.*;
|
|
|
|
|
import java.awt.*;
|
|
|
|
|
|
2020-11-22 15:55:26 +01:00
|
|
|
/**
|
|
|
|
|
* Affiche une fenêtre du logiciel.
|
|
|
|
|
* @author V.BOULANGER
|
|
|
|
|
*/
|
2020-11-21 15:01:19 +01:00
|
|
|
public class AppThinkerWindow extends JFrame {
|
2020-11-22 15:55:26 +01:00
|
|
|
private Project _project;
|
|
|
|
|
private AppThinkerGrid _grid;
|
2020-11-21 15:01:19 +01:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Constructeur de la classe AppThinkerWindow
|
|
|
|
|
*/
|
|
|
|
|
public AppThinkerWindow(){
|
2020-11-21 16:28:55 +01:00
|
|
|
//Paramétrage de la fenêtre
|
2020-11-21 15:01:19 +01:00
|
|
|
this.setTitle("AppThinker");
|
|
|
|
|
this.setExtendedState(JFrame.MAXIMIZED_BOTH);
|
|
|
|
|
Image img = null;
|
|
|
|
|
try { img = ImageIO.read(AppThinker.class.getResource("img/logoAppThinker.png")); } catch (Exception ex) { }
|
|
|
|
|
this.setIconImage(img);
|
|
|
|
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
2020-11-21 19:46:43 +01:00
|
|
|
this.setLocationRelativeTo(null);
|
2020-11-21 15:01:19 +01:00
|
|
|
|
2020-11-21 16:28:55 +01:00
|
|
|
//Ajout du menu à la fenêtre
|
|
|
|
|
AppThinkerMenuBar menu = new AppThinkerMenuBar();
|
|
|
|
|
this.setJMenuBar(menu);
|
2020-11-21 19:46:43 +01:00
|
|
|
|
|
|
|
|
//Ajout de la toolbar à la fenêtre
|
|
|
|
|
AppThinkerToolbar toolbar = new AppThinkerToolbar();
|
|
|
|
|
this.add(toolbar, BorderLayout.NORTH);
|
|
|
|
|
|
|
|
|
|
//Ajout de la grille à la fenêtre
|
2020-11-22 15:55:26 +01:00
|
|
|
_grid = new AppThinkerGrid();
|
|
|
|
|
this.add(_grid, BorderLayout.CENTER);
|
2020-11-21 19:46:43 +01:00
|
|
|
|
|
|
|
|
//Ajout de la statusbar à la fenêtre
|
|
|
|
|
AppThinkerStatusbar statusbar = new AppThinkerStatusbar();
|
|
|
|
|
this.add(statusbar, BorderLayout.SOUTH);
|
|
|
|
|
this.pack();
|
2020-11-21 16:28:55 +01:00
|
|
|
}
|
2020-11-22 15:55:26 +01:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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){
|
|
|
|
|
|
|
|
|
|
}
|
2020-11-21 15:01:19 +01:00
|
|
|
}
|