125 lines
3.2 KiB
Java
125 lines
3.2 KiB
Java
import javax.imageio.ImageIO;
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
|
|
/**
|
|
* Affiche une fenêtre du logiciel.
|
|
* @author V.BOULANGER
|
|
*/
|
|
public class AppThinkerWindow extends JFrame {
|
|
private Project _project;
|
|
|
|
private AppThinkerMenuBar _menu;
|
|
private AppThinkerToolbar _toolbar;
|
|
private AppThinkerGrid _grid;
|
|
private AppThinkerStatusbar _statusbar;
|
|
|
|
/**
|
|
* Constructeur de la classe AppThinkerWindow
|
|
*/
|
|
public AppThinkerWindow(){
|
|
//Paramétrage de la fenêtre
|
|
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);
|
|
this.setLocationRelativeTo(null);
|
|
|
|
//Ajout du menu à la fenêtre
|
|
_menu = new AppThinkerMenuBar(this);
|
|
this.setJMenuBar(_menu);
|
|
|
|
//Ajout de la toolbar à la fenêtre
|
|
_toolbar = new AppThinkerToolbar(this);
|
|
this.add(_toolbar, BorderLayout.NORTH);
|
|
|
|
//Ajout de la grille à la fenêtre
|
|
_grid = new AppThinkerGrid();
|
|
this.add(_grid, BorderLayout.CENTER);
|
|
|
|
//Ajout de la statusbar à la fenêtre
|
|
_statusbar = new AppThinkerStatusbar();
|
|
this.add(_statusbar, BorderLayout.SOUTH);
|
|
this.pack();
|
|
|
|
}
|
|
|
|
/**
|
|
* Crée un nouveau Projet.
|
|
*/
|
|
public void newProject(){
|
|
this._project = new Project();
|
|
this.setTitle("AppThinker | " + _project.getName());
|
|
this._menu.enableEditing();
|
|
this._toolbar.enableEditing();
|
|
this._statusbar.setStatusMessage("Le projet a été créé.");
|
|
this._statusbar.setFileMessage(this._project.getName());
|
|
}
|
|
|
|
/**
|
|
* Ouvre un projet existant dans la fenêtre.
|
|
*/
|
|
public void openProject(){
|
|
|
|
}
|
|
|
|
/**
|
|
* Ferme le projet en cours.
|
|
*/
|
|
public void closeProject(){
|
|
this._project = null;
|
|
this.setTitle("AppThinker");
|
|
this._menu.disableEditing();
|
|
this._toolbar.disableEditing();
|
|
this._statusbar.setStatusMessage("Le projet a été fermé.");
|
|
this._statusbar.setFileMessage("Aucun projet ouvert");
|
|
}
|
|
|
|
/**
|
|
* 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.
|
|
*/
|
|
public void saveAsProject(){
|
|
|
|
}
|
|
|
|
/**
|
|
* Récupère la toolbar contenue dans la fenêtre.
|
|
* @return La toolbar contenue dans la fenêtre.
|
|
*/
|
|
public AppThinkerToolbar getToolbar(){
|
|
return this._toolbar;
|
|
}
|
|
|
|
/**
|
|
* Récupère la grille contenue dans la fenêtre.
|
|
* @return La grille contenue dans la fenêtre.
|
|
*/
|
|
public AppThinkerGrid getGrid(){
|
|
return this._grid;
|
|
}
|
|
|
|
/**
|
|
* Récupère la statusbar contenue dans la fenêtre.
|
|
* @return La statusbar contenue dans la fenêtre.
|
|
*/
|
|
public AppThinkerStatusbar getStatusbar(){
|
|
return this._statusbar;
|
|
}
|
|
}
|