Leonel FOFOU
2026-07-28 32450e295200b2bc7896518ff74161ff26772e2d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?xml version="1.0" encoding="UTF-8"?>
 
<?import java.net.URL?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.ProgressBar?>
<?import javafx.scene.control.SplitPane?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Region?>
<?import javafx.scene.layout.VBox?>
 
<BorderPane prefHeight="760.0" prefWidth="1240.0" styleClass="studio-root" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.megatim.manuel.studio.StudioController">
 
    <stylesheets>
        <URL value="@studio.css" />
    </stylesheets>
 
    <center>
        <SplitPane dividerPositions="0.32" BorderPane.alignment="CENTER">
            <items>
                <!-- Panneau gauche : sources + metadonnees + sortie + theme -->
                <VBox spacing="8.0">
                    <padding>
                        <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
                    </padding>
                    <children>
                        <Label styleClass="studio-section" text="Documents sources (Word / PowerPoint)" />
                        <ListView fx:id="sourcesList" styleClass="help-sources-list" VBox.vgrow="ALWAYS" />
                        <HBox spacing="5.0">
                            <children>
                                <Button mnemonicParsing="false" onAction="#addSources" styleClass="btn-primary" text="Ajouter…" />
                                <Button mnemonicParsing="false" onAction="#removeSource" text="Retirer" />
                                <Region HBox.hgrow="ALWAYS" />
                                <Button mnemonicParsing="false" onAction="#moveSourceUp" text="▲" />
                                <Button mnemonicParsing="false" onAction="#moveSourceDown" text="▼" />
                            </children>
                        </HBox>
                        <Label styleClass="studio-section" text="Métadonnées" />
                        <Label text="Titre du projet" />
                        <TextField fx:id="projetField" promptText="Ex. : Mon Application" />
                        <Label text="Version" />
                        <TextField fx:id="versionField" promptText="1.0.0" />
                        <Label text="Titre de l'aide" />
                        <TextField fx:id="titreAideField" promptText="Ex. : Manuel utilisateur" />
                        <Label styleClass="studio-section" text="Dossier de sortie" />
                        <HBox spacing="5.0">
                            <children>
                                <TextField fx:id="outputField" promptText="Choisir le dossier du manuel…" HBox.hgrow="ALWAYS" />
                                <Button mnemonicParsing="false" onAction="#chooseOutputDir" text="…" />
                            </children>
                        </HBox>
                        <Label styleClass="studio-section" text="Thème" />
                        <HBox spacing="5.0">
                            <children>
                                <ComboBox fx:id="themeCombo" maxWidth="Infinity" HBox.hgrow="ALWAYS" />
                                <Button mnemonicParsing="false" onAction="#loadThemeFile" text="Charger…" />
                            </children>
                        </HBox>
                        <Button fx:id="btnGenerate" maxWidth="Infinity" mnemonicParsing="false" onAction="#generateManuel" styleClass="btn-primary" text="Générer le manuel" />
                    </children>
                </VBox>
 
                <!-- Apercu du manuel genere -->
                <BorderPane fx:id="previewContainer" />
            </items>
        </SplitPane>
    </center>
 
    <bottom>
        <VBox spacing="6.0" BorderPane.alignment="CENTER">
            <padding>
                <Insets bottom="10.0" left="10.0" right="10.0" top="6.0" />
            </padding>
            <children>
                <HBox alignment="CENTER_LEFT" spacing="10.0">
                    <children>
                        <Label fx:id="statusLabel" maxWidth="Infinity" text="Prêt" HBox.hgrow="ALWAYS" />
                        <ProgressBar fx:id="progressBar" maxWidth="260.0" minWidth="260.0" prefWidth="260.0" progress="0.0" visible="false" />
                    </children>
                </HBox>
                <TextArea fx:id="journalArea" editable="false" prefRowCount="4" wrapText="true" />
            </children>
        </VBox>
    </bottom>
</BorderPane>