summaryrefslogtreecommitdiff
path: root/src/view
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2022-12-28 05:19:55 +0100
committerpolo <ordipolo@gmx.fr>2022-12-28 05:19:55 +0100
commit1894fc377e6b938ea34df9980567a1634ec6ef48 (patch)
tree812db64208797ecbdabbc9673a5247fbc18ebf8b /src/view
parent7d564efbccc4b361d2fa2db2902fb35882304aae (diff)
downloadAppliGestionPHP-1894fc377e6b938ea34df9980567a1634ec6ef48.zip
réorganisation + bientôt finie la section 1
Diffstat (limited to 'src/view')
-rw-r--r--src/view/Zenity.php29
-rw-r--r--src/view/ZenitySetup.php30
-rw-r--r--src/view/zenity_setup.php37
3 files changed, 46 insertions, 50 deletions
diff --git a/src/view/Zenity.php b/src/view/Zenity.php
index 1299d1c..72d5eed 100644
--- a/src/view/Zenity.php
+++ b/src/view/Zenity.php
@@ -1,7 +1,8 @@
1<?php 1<?php
2// php/Zenity.php 2// php/Zenity.php
3// 3//
4// commande système zenity 4// générer les commandes qui ouvrent les fenêtres zenity, un objet = une commande
5// s'utilisent comme ceci: exec($Objet->get());
5 6
6abstract class ZenityCmd 7abstract class ZenityCmd
7{ 8{
@@ -33,17 +34,17 @@ class ZenityList extends ZenityCmd
33{ 34{
34 private $columns = 1; // tableau simple ou multidimensionnel? 35 private $columns = 1; // tableau simple ou multidimensionnel?
35 36
36 public function __construct(string $text, array $rows = [], int $columns = 1) 37 public function __construct(string $text, array $rows = [])
37 { 38 {
38 $this->command_type = ' --list'; 39 $this->command_type = ' --list';
39 parent::__construct($text, $rows); 40 parent::__construct($text, $rows);
40 $this->columns = $columns; 41 $this->columns = 1;
41 $this->height = 80 + count($this->rows) * 25;
42 $this->command .= ' --height=' . $this->height;
43 $this->command .= ' --hide-header'; // ligne inutile, il y a déjà le --text 42 $this->command .= ' --hide-header'; // ligne inutile, il y a déjà le --text
44 if($this->rows !== []) 43 if($this->rows !== [])
45 { 44 {
46 $this->command .= ' --width=' . $this->width; 45 $this->command .= ' --width=' . $this->width;
46 $this->height = 80 + count($this->rows) * 25;
47 $this->command .= ' --height=' . $this->height;
47 $this->fillZenityList(); 48 $this->fillZenityList();
48 } 49 }
49 } 50 }
@@ -54,8 +55,10 @@ class ZenityList extends ZenityCmd
54 { 55 {
55 $this->rows = $rows; 56 $this->rows = $rows;
56 $this->columns = count(StructTablesDB::$structureOfTables[$table]); 57 $this->columns = count(StructTablesDB::$structureOfTables[$table]);
57 $this->width = 600; 58 $this->width = 800;
58 $this->command .= ' --width=' . $this->width; 59 $this->command .= ' --width=' . $this->width;
60 $this->height = 80 + count($this->rows) * 25;
61 $this->command .= ' --height=' . $this->height;
59 $this->fillZenityList(); 62 $this->fillZenityList();
60 } 63 }
61 64
@@ -100,7 +103,7 @@ class ZenityList extends ZenityCmd
100 103
101class ZenityQuestion extends ZenityCmd 104class ZenityQuestion extends ZenityCmd
102{ 105{
103 public function __construct($text) 106 public function __construct(string $text)
104 { 107 {
105 $this->command_type = ' --question'; 108 $this->command_type = ' --question';
106 parent::__construct($text); 109 parent::__construct($text);
@@ -114,7 +117,7 @@ class ZenityQuestion extends ZenityCmd
114// si on clique sur 'Annuler', renvoie une chaine vide 117// si on clique sur 'Annuler', renvoie une chaine vide
115class ZenityForms extends ZenityCmd 118class ZenityForms extends ZenityCmd
116{ 119{
117 public function __construct($text, array $rows) 120 public function __construct(string $text, array $rows)
118 { 121 {
119 $this->command_type = ' --forms'; 122 $this->command_type = ' --forms';
120 parent::__construct($text, $rows); 123 parent::__construct($text, $rows);
@@ -122,12 +125,12 @@ class ZenityForms extends ZenityCmd
122 self::entriesZenityForms($this->rows); 125 self::entriesZenityForms($this->rows);
123 } 126 }
124 127
125 private function entriesZenityForms($entries) 128 private function entriesZenityForms(array $input)
126 { 129 {
127 $output = ''; 130 $output = '';
128 foreach($entries as $one_entry) 131 foreach($input as $one_question)
129 { 132 {
130 $output .= ' --add-entry="' . $one_entry . '"'; // forme: ' "choix 1" "choix 2"' 133 $output .= ' --add-entry="' . $one_question . '"'; // forme: ' "choix 1" "choix 2"'
131 } 134 }
132 $this->command .= $output; 135 $this->command .= $output;
133 } 136 }
@@ -135,7 +138,7 @@ class ZenityForms extends ZenityCmd
135 138
136class ZenityCalendar extends ZenityCmd 139class ZenityCalendar extends ZenityCmd
137{ 140{
138 public function __construct($text) 141 public function __construct(string $text)
139 { 142 {
140 $this->command_type = ' --calendar'; 143 $this->command_type = ' --calendar';
141 parent::__construct($text); 144 parent::__construct($text);
@@ -144,7 +147,7 @@ class ZenityCalendar extends ZenityCmd
144 147
145class ZenityEntry extends ZenityCmd 148class ZenityEntry extends ZenityCmd
146{ 149{
147 public function __construct($text) 150 public function __construct(string $text)
148 { 151 {
149 $this->command_type = ' --entry'; 152 $this->command_type = ' --entry';
150 parent::__construct($text); 153 parent::__construct($text);
diff --git a/src/view/ZenitySetup.php b/src/view/ZenitySetup.php
new file mode 100644
index 0000000..e8a3ddb
--- /dev/null
+++ b/src/view/ZenitySetup.php
@@ -0,0 +1,30 @@
1<?php
2// view/ZenitySetup.php
3//
4// ces variables sont des paramètres de la commande zenity (--text, --add-entry, --column)
5// les utiliser à l'instanciation des objets Zenity à la manière de l'exemple suivant:
6// $MenuPrincipal = new ZenityList(ZenitySetup::$menu_principal_text, ZenitySetup::$menu_principal_entrees);
7
8class ZenitySetup
9{
10 static public $menu_principal_text = "Gestion d'une micro-entreprise";
11 static public $menu_principal_entrees = ["Nouvelle prestation", "Modifier enregistrement", "Fichier clients", "Créer/imprimer un document", "Communication", "Base de données"];
12 static public $question_nouveau_client_text = "Ce client figure t\'il déjà dans le fichier clients?";
13 static public $menu_enregistrement_text = "Type d\'enregistrement?";
14 static public $menu_enregistrement_entrees = ["Devis", "Facture", "CESU", "Location", "Prestation non vendue"];
15 static public $menu_documents_text = "Création de documents LaTeX";
16 static public $menu_documents_entrees = ["Devis", "Facture", "Lettre avec adresse", "Livre des recettes", "Registre des achats", "Bilan annuel"];
17 static public $menu_communication_text = "Imprimer un support de communication";
18 static public $menu_communication_entrees = ["Flyer (nécessite gimp)", "Carte de visite (nécessite scribus)", "Explorateur de fichiers"];
19 static public $recherche_client_text = "Recherche d'un client avec son nom ou son code client";
20 static public $resultats_recherche_client_text = "Résultats de la recherche, sélectionner un client";
21 static public $nouveau_client_text = "Nouveau client";
22 static public $nouveau_client_entrees = ["Prénom Nom:", "Code client, exemple: J.P.Duchmol", "Adresse::", "Telephone:", "Courriel:", "Commentaires:"];
23 static public $calendar_text = 'Nouvelle prestation étape 1/3 - Choisir une date';
24 static public $formulaire_text = 'Nouvelle prestation 2/3 - Détail des travaux';
25 static public $formulaire_facture_entrees = ["Tâches effectuées:", "Modèle du PC:", "OS:", "Données sauvegardées:", "Clés d\'activation:", "Temps main d\'oeuvre (heures):", "Total main d\'oeuvre (euros):", "Total pièces (euros):", "Déplacement (euros)", "Total HT (euros):", "Mode de paiement", "Commentaires"];
26 static public $formulaire_devis_entrees = ["Validite du devis:", "Devis signé?:"];
27 static public $formulaire_cesu_entrees = ["Tâches effectuées:", "Duree de travail:", "Salaire net"];
28 static public $formulaire_location_entrees = ["Désignation du bien", "Modèle, numéro de série, description:", "Valeur", "État des lieux du début:", "État des lieux de fin:", "Durée de la location en mois:", "Loyer mensuel:", "Nombre de loyers déjà payés:", "Montant du chèque de caution:"];
29 static public $commentaire_prestation_text = 'Nouvelle prestation 3/3 - Commentaires';
30}
diff --git a/src/view/zenity_setup.php b/src/view/zenity_setup.php
deleted file mode 100644
index 042d1ab..0000000
--- a/src/view/zenity_setup.php
+++ /dev/null
@@ -1,37 +0,0 @@
1<?php
2// php/zenity_setup.php
3
4
5// contenu des fenêtres zenity
6$menu_principal_text = "Gestion d'une micro-entreprise";
7$menu_principal_entrees = ["Nouvelle prestation", "Modifier enregistrement", "Fichier clients", "Créer/imprimer un document", "Communication", "Base de données"];
8$question_nouveau_client_text = "Ce client figure t\'il déjà dans le fichier clients?";
9$menu_enregistrement_text = "Type d\'enregistrement?";
10$menu_enregistrement_entrees = ["Devis", "Facture", "CESU", "Prestation non vendue"];
11$menu_documents_text = "Création de documents LaTeX";
12$menu_documents_entrees = ["Devis", "Facture", "Lettre avec adresse", "Livre des recettes", "Registre des achats", "Bilan annuel"];
13$menu_communication_text = "Imprimer un support de communication";
14$menu_communication_entrees = ["Flyer (nécessite gimp)", "Carte de visite (nécessite scribus)", "Explorateur de fichiers"];
15$recherche_client_text = "Recherche d'un client avec son nom ou son code client";
16$resultats_recherche_client_text = "Résultats de la recherche, sélectionner un client";
17$nouveau_client_text = "Nouveau client";
18$nouveau_client_entrees = ["Prénom Nom:", "Adresse:", "Code client, exemple: J.P.Duchmol", "Commentaires"];
19$calendar_text = 'Nouvelle prestation étape 1/3 - Choisir une date';
20$formulaire_text = 'Nouvelle prestation 2/3 - Détail des travaux';
21$formulaire_entrees = ["Tâches effectuées:", "Modèle du PC:", "OS:", "Données sauvegardées:", "Clés d\'activation:", "Temps main d\'oeuvre (heures):", "Total main d\'oeuvre (euros):", "Total pièces (euros):", "Déplacement (euros)", "Total HT (euros):",];
22$commentaire_prestation_text = 'Nouvelle prestation 3/3 - Commentaires';
23
24
25// commandes système qui ouvrent les fenêtres zenity, un objet = une commande
26// s'utilisent comme ceci: exec($Objet->get());
27$MenuPrincipal = new ZenityList($menu_principal_text, $menu_principal_entrees);
28$QuestionNouveauClient = new ZenityQuestion($question_nouveau_client_text);
29$MenuEnregistrement = new ZenityList($menu_enregistrement_text, $menu_enregistrement_entrees);
30$MenuDocuments = new ZenityList($menu_documents_text, $menu_documents_entrees);
31$MenuCommunication = new ZenityList($menu_communication_text, $menu_communication_entrees);
32$RechercheClient = new zenityEntry($recherche_client_text);
33$ResultatsRechercheClient = new ZenityList($resultats_recherche_client_text, [], 2);
34$NouveauClient = new ZenityForms($nouveau_client_text, $nouveau_client_entrees);
35$Calendrier = new ZenityCalendar($calendar_text);
36$FormulairePrestation = new ZenityForms($formulaire_text, $formulaire_entrees);
37$CommentairePrestation = new ZenityEntry($commentaire_prestation_text);