From b3d0580439b9a00c7eb918085de1694151066004 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 16:02:49 +0000
Subject: [PATCH] rename packages
---
fdx_convert/src/main/java/com/megatim/fdxconvert/views/JsonStructureTableViewController.java | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 167 insertions(+), 0 deletions(-)
diff --git a/fdx_convert/src/main/java/com/megatim/fdxconvert/views/JsonStructureTableViewController.java b/fdx_convert/src/main/java/com/megatim/fdxconvert/views/JsonStructureTableViewController.java
new file mode 100644
index 0000000..e36cc33
--- /dev/null
+++ b/fdx_convert/src/main/java/com/megatim/fdxconvert/views/JsonStructureTableViewController.java
@@ -0,0 +1,167 @@
+package com.megatim.fdxconvert.views;
+
+import com.megatim.fdxconvert.model.TypeFichierJson;
+import com.megatim.fdxconvert.viewmodel.JsonStructureTableViewModel;
+import javafx.beans.property.SimpleStringProperty;
+import javafx.event.ActionEvent;
+import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.fxml.Initializable;
+import javafx.scene.Parent;
+import javafx.scene.Scene;
+import javafx.scene.control.*;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.VBox;
+import javafx.stage.Modality;
+import javafx.stage.Stage;
+import javafx.stage.StageStyle;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Arrays;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public class JsonStructureTableViewController implements Initializable {
+
+ @FXML
+ private BorderPane searchPane;
+
+ @FXML
+ private Button btnSearch;
+
+ @FXML
+ private Button btnReset;
+
+ @FXML
+ private CheckBox advancedCheckBox;
+
+ @FXML
+ private VBox normalSearchContainer;
+
+ @FXML
+ private VBox advancedSearchContainer;
+
+ @FXML
+ private HBox buttonContainer;
+
+ @FXML
+ private Button btnAdd;
+
+ @FXML
+ private Button btnEdit;
+
+ @FXML
+ private Button btnDelete;
+
+ @FXML
+ private TableView<TypeFichierJson> elementTable;
+
+ @FXML
+ private Button btnPrevious;
+
+ @FXML
+ private Button btnNext;
+
+ @FXML
+ private Label paginationNumberInfo;
+
+ @FXML
+ private Button btnClose;
+
+ private final JsonStructureTableViewModel viewModel = new JsonStructureTableViewModel();
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources) {
+
+ viewModel.init();
+
+ initTable();
+
+ btnNext.setOnAction(event -> viewModel.nextPage());
+ btnPrevious.setOnAction(event -> viewModel.previousPage());
+ btnAdd.setOnAction(event -> openFormDialog(null));
+ btnEdit.setOnAction(event -> viewModel.loadSelectedItemChildren(selectedItem -> openFormDialog(selectedItem)));
+ btnDelete.setOnAction(event -> viewModel.deleteSelectedItem());
+
+ viewModel.selectedItemProperty().bind(elementTable.getSelectionModel().selectedItemProperty());
+
+ paginationNumberInfo.textProperty().bind(viewModel.getPaginationNumberInfo());
+ btnEdit.disableProperty().bind(elementTable.getSelectionModel().selectedItemProperty().isNull());
+ btnDelete.disableProperty().bind(elementTable.getSelectionModel().selectedItemProperty().isNull());
+ btnNext.disableProperty().bind(viewModel.getLastProperty());
+ btnPrevious.disableProperty().bind(viewModel.getFirstProperty());
+
+ }
+
+ private void initTable() {
+
+ TableColumn<TypeFichierJson, String> codeTypeFichierColumn = new TableColumn("Code type fichier");
+ codeTypeFichierColumn.setCellValueFactory(c -> {
+ return new SimpleStringProperty(c.getValue().getTypeFichier() != null ? c.getValue().getTypeFichier().getCode() : "");
+ });
+
+ TableColumn<TypeFichierJson, String> libelleTypeFichierColumn = new TableColumn("Libellé type fichier");
+ libelleTypeFichierColumn.setCellValueFactory(c -> {
+ return new SimpleStringProperty(c.getValue().getTypeFichier() != null ? c.getValue().getTypeFichier().getLibelle() : "");
+ });
+
+ elementTable.getColumns().addAll(Arrays.asList(codeTypeFichierColumn, libelleTypeFichierColumn));
+
+ this.elementTable.setPlaceholder(new Label("Pas de données"));
+
+ elementTable.setItems(viewModel.getData());
+ }
+
+ @FXML
+ public void close(ActionEvent event) {
+ ((Stage) elementTable.getScene().getWindow()).close();
+ }
+
+ @FXML
+ public void maximize(ActionEvent event) {
+ }
+
+ @FXML
+ public void minimize(ActionEvent event) {
+ }
+
+ @FXML
+ public void mouseDraggedTitleBar(MouseEvent event) {
+ }
+
+ @FXML
+ public void mousePressedTitleBar(MouseEvent event) {
+ }
+
+ private void openFormDialog(TypeFichierJson typeFichierJson) {
+ try {
+ JsonStructureFormController jsonStructureFormController = new JsonStructureFormController(typeFichierJson);
+ FXMLLoader loader = new FXMLLoader(JsonStructureFormController.class.getResource("JsonStructureFormView.fxml"));
+ loader.setController(jsonStructureFormController);
+ Parent root = loader.load();
+ setStage(root);
+
+ jsonStructureFormController.resultProperty().addListener((observable, oldValue, newValue) -> {
+ viewModel.reloadData();
+ });
+
+ } catch (IOException ex) {
+ Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, ex.getMessage(), ex);
+ }
+ }
+
+ private void setStage(Parent root) {
+ Scene scene = new Scene(root);
+ Stage stage = new Stage();
+
+ stage.setScene(scene);
+ stage.initStyle(StageStyle.UNDECORATED);
+ stage.initModality(Modality.APPLICATION_MODAL);
+ stage.show();
+ }
+
+}
--
Gitblit v1.10.0