Initial commit
This commit is contained in:
335
src/main/java/Controllers/PrincipalController.java
Normal file
335
src/main/java/Controllers/PrincipalController.java
Normal file
@@ -0,0 +1,335 @@
|
||||
package Controllers;
|
||||
|
||||
import Controllers.Traitement.MyWindow;
|
||||
import Models.User.User;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
import org.apache.log4j.Logger;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.EventHandler;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.control.Accordion;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TitledPane;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.Pane;
|
||||
import javax.xml.XMLConstants;
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
public class PrincipalController implements Initializable{
|
||||
|
||||
@FXML public AnchorPane window ;
|
||||
@FXML public AnchorPane Content ;
|
||||
@FXML public Pane TitrePane;
|
||||
@FXML public Label UsernomprenomBlad;
|
||||
@FXML public Label LabelDefaultLocal;
|
||||
|
||||
@FXML public ImageView ImageViewLogoPrincipal;
|
||||
@FXML public ImageView ImageViewProfile;
|
||||
|
||||
@FXML public Accordion accord;
|
||||
@FXML public TitledPane TitledPaneAccueil;
|
||||
@FXML public TitledPane TitledPaneAchat;
|
||||
@FXML public TitledPane TitledPaneVente;
|
||||
@FXML public TitledPane TitledPaneStock;
|
||||
@FXML public TitledPane TitledPaneDiver;
|
||||
|
||||
Logger logger = Logger.getLogger(PrincipalController.class.getName());
|
||||
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
|
||||
setImageLogo();
|
||||
|
||||
UsernomprenomBlad.setText(User.nom+" "+User.prenom);
|
||||
|
||||
LabelDefaultLocal.setText(User.UserLocal);
|
||||
|
||||
ImageViewProfile.setOnMouseClicked(new EventHandler<MouseEvent>() {
|
||||
public void handle(MouseEvent me) {
|
||||
try {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/User/Profile.fxml")));
|
||||
} catch (IOException ex) {
|
||||
logger.error("PrincipalController : Profile.fxml :" + ex.getMessage());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**********************Accueil************************/
|
||||
try {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Dashboard.fxml")));
|
||||
} catch (IOException ex) {
|
||||
logger.error("PrincipalController : Dashboard.fxml :" + ex.getMessage());
|
||||
}
|
||||
accord.setExpandedPane(TitledPaneAccueil);
|
||||
|
||||
|
||||
|
||||
/********************get Width and Height Content **************************/
|
||||
|
||||
Content.widthProperty().addListener(new ChangeListener<Number>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneWidth, Number newSceneWidth) {
|
||||
MyWindow.PrincipalContentWidth = newSceneWidth;
|
||||
}
|
||||
});
|
||||
|
||||
Content.heightProperty().addListener(new ChangeListener<Number>() {
|
||||
@Override
|
||||
public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneHeight, Number newSceneHeight) {
|
||||
MyWindow.PrincipalContentHeight = newSceneHeight;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void DefaultSelectedTitledPane(Integer number_titled_Pane){
|
||||
if(number_titled_Pane == 1){
|
||||
accord.setExpandedPane(TitledPaneAccueil);
|
||||
}else if(number_titled_Pane == 2){
|
||||
accord.setExpandedPane(TitledPaneAchat);
|
||||
}else if(number_titled_Pane == 3){
|
||||
accord.setExpandedPane(TitledPaneVente);
|
||||
}else if(number_titled_Pane == 4){
|
||||
accord.setExpandedPane(TitledPaneStock);
|
||||
}else if(number_titled_Pane == 5){
|
||||
accord.setExpandedPane(TitledPaneDiver);
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************Accueil****************************************/
|
||||
@FXML
|
||||
private void DashbordButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Dashboard.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void AideButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Aide.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void ContactButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Contact.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void LogicielButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Logiciel.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void MentionsButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Home/Mentions.fxml")));
|
||||
}
|
||||
|
||||
/*********************************Pour l'Achat************************************/
|
||||
@FXML
|
||||
private void FournisseurButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Fournisseur/FournisseurGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void BonReceptionButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/BonReceptionFrs/BonReceptionGestionFrs.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void FactureFrsButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/FactureFrs/FactureFrsGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void ReglementButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Reglement/ReglementGestion.fxml")));
|
||||
}
|
||||
/*********************************Pour la Vente***********************************/
|
||||
|
||||
@FXML
|
||||
private void VenteRapideCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/VenteRapideClt/VenteRapideClt.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void PasserCommandeCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/CommandeClt/CommandeCltGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void BonLivraisonCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/BonLivraisonClt/BonLivraisonCltGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void FactureCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/FactureClt/FactureCltGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void MenuClientButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Client/MenuClient.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void DevisCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Devis/DevisCltGestion.fxml")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*********************************Pour Produit**********************************/
|
||||
@FXML
|
||||
private void AjouterProduitButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Produit/AjouterProduit.fxml")));
|
||||
}
|
||||
|
||||
|
||||
@FXML
|
||||
private void GestionProduitButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Produit/GestionProduit.fxml")));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*********************************Pour l'utilisateur***********************************/
|
||||
@FXML
|
||||
private void AddUserButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/User/AddUser.fxml")));
|
||||
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void GestionUtilisateurButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/User/GestionUtilisateur.fxml")));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/********************************* Stock ***********************************/
|
||||
|
||||
@FXML
|
||||
private void BondeSortieButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Stock/BondeSortie.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void BondeEntrerButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Stock/BondeEntrer.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void EtatStockButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Stock/EtatStockCategorie.fxml")));
|
||||
}
|
||||
|
||||
/********************************* Caisse ***********************************/
|
||||
|
||||
@FXML
|
||||
private void ChequeCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/ChequeClt/ChequeCltGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void CaisseEntreButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Caisse/CaisseEntre.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void CaisseSortieButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Caisse/CaisseSortie.fxml")));
|
||||
}
|
||||
|
||||
|
||||
@FXML
|
||||
private void FraisButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/Caisse/FraisGestion.fxml")));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void TraiteCltButtonAction(ActionEvent event) throws IOException {
|
||||
window.getChildren().clear();
|
||||
window.getChildren().add((Node) FXMLLoader.load(getClass().getResource("/Views/TraiteClt/TraiteCltGestion.fxml")));
|
||||
}
|
||||
|
||||
private void setImageLogo()
|
||||
{
|
||||
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
|
||||
try {
|
||||
// optional, but recommended
|
||||
// process XML securely, avoid attacks like XML External Entities (XXE)
|
||||
dbf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
|
||||
|
||||
// parse XML file
|
||||
DocumentBuilder db = dbf.newDocumentBuilder();
|
||||
|
||||
//PowerERP\conf\logo.xml
|
||||
Document doc = db.parse(new File("./conf/logo.xml"));
|
||||
|
||||
doc.getDocumentElement().normalize();
|
||||
|
||||
Element elementCNX = (Element) doc.getElementsByTagName("Principal").item(0);
|
||||
|
||||
String pathLogo = elementCNX.getElementsByTagName("PathImage").item(0).getTextContent();
|
||||
FileInputStream fis = new FileInputStream(pathLogo);
|
||||
ImageViewLogoPrincipal.setImage(new Image(fis));
|
||||
|
||||
ImageViewLogoPrincipal.setFitWidth(Double.parseDouble(elementCNX.getElementsByTagName("FitWidth").item(0).getTextContent()));
|
||||
ImageViewLogoPrincipal.setFitHeight(Double.parseDouble(elementCNX.getElementsByTagName("FitHeight").item(0).getTextContent()));
|
||||
ImageViewLogoPrincipal.setLayoutX(Double.parseDouble(elementCNX.getElementsByTagName("LayoutX").item(0).getTextContent()));
|
||||
ImageViewLogoPrincipal.setLayoutY(Double.parseDouble(elementCNX.getElementsByTagName("LayoutY").item(0).getTextContent()));
|
||||
}
|
||||
catch (ParserConfigurationException | SAXException | IOException e) {
|
||||
System.out.println("error AuthentificationController/setImageLogo "+e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user