-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathformedittree.ui
More file actions
339 lines (339 loc) · 21.1 KB
/
formedittree.ui
File metadata and controls
339 lines (339 loc) · 21.1 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>FormEditTree</class>
<widget class="QWidget" name="FormEditTree">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>852</width>
<height>532</height>
</rect>
</property>
<property name="windowTitle">
<string>Gestion des arbres</string>
</property>
<property name="windowIcon">
<iconset resource="Images.qrc">
<normaloff>:/icons/icons/tree.png</normaloff>:/icons/icons/tree.png</iconset>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="0">
<widget class="QTreeView" name="treeView">
<property name="whatsThis">
<string><html><head/><body><p>Un arbre dans ProtonClassicSuite correspond à une organisation hiérarchique de la collectivité sur une période donnée.</p><p>Un arbre est composé de noeuds. Chaque noeud possède un type et un libellé. Un type est un attribut qui peut être utilisé pour caractériser une famille de noeuds, par exemple les noeuds de type &quot;service&quot; ou ceux de type &quot;division&quot;. Un arbre <span style=" font-weight:600;">ne peut pas posséder deux noeuds qui ont à la fois le même type et le même libellé</span>. En revanche, deux noeuds ayant un libellé identique mais des types différents sont autorisés (par exemple &quot;service A&quot; et &quot;division A&quot;).</p><p>L'élaboration d'un arbre nécessite deux étapes : la déclaration, en lui donnant un nom unique, et la fabrication, correspondant à la définition des noeuds et des liens entre ceux-ci.</p><p>Une fois que vous estimez l'arbre achevé, il est indispensable de le <span style=" font-weight:600;">terminer</span>. Un arbre terminé peut être affiché mais sa structure ne peut plus être modifiée (cependant les libellés des noeuds peuvent être changés). Il est destiné à être utilisé pour un audit ou un reporting.</p></body></html></string>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="dragDropMode">
<enum>QAbstractItemView::InternalMove</enum>
</property>
<property name="defaultDropAction">
<enum>Qt::MoveAction</enum>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="animated">
<bool>true</bool>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
<item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="pushButtonExpandAll">
<property name="text">
<string>Déplier tout</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButtonCollapseAll">
<property name="text">
<string>Replier tout</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="4" column="0">
<widget class="QGroupBox" name="groupBoxTree">
<property name="title">
<string>Arbre sélectionné</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QPushButton" name="deleteTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Supprimer l'arbre actif</p></body></html></string>
</property>
<property name="text">
<string>&Supprimer arbre</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="finishTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Terminer l'arbre actif afin de pouvoir l'utiliser dans un audit ou un reporting</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Indiquer de manière irrévocable que l'arbre est dans l'état &quot;terminé&quot;. La structure d'un arbre terminé ne peut plus être modifiée, les libellés de ses noeuds peuvent être corrigés. Il est indispensable de terminer un arbre avant de l'utiliser dans un audit ou un reporting.</p></body></html></string>
</property>
<property name="text">
<string>&Terminer arbre</string>
</property>
</widget>
</item>
<item row="0" column="2" colspan="2">
<widget class="QPushButton" name="duplicateTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Dupliquer l'arbre actif (permet de modifier un arbre terminé)</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Créer un nouvel arbre à partir de l'arbre actif. Si l'arbre actif est dans l'état &quot;terminé&quot;, l'arbre dupliqué sera dans l'état &quot;non-terminé&quot; afin de pouvoir être modifié.</p></body></html></string>
</property>
<property name="text">
<string>&Dupliquer arbre</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="viewTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Prendre un instantané de l'arbre actif</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Affiche un instantané de l'arbre actif, c'est à dire l'arbre tel qu'il est à un instant T. Les modifications ultérieures de l'arbre ne se répercuteront pas dans l'instantané.</p></body></html></string>
</property>
<property name="text">
<string>Afficher, im&primer, exporter</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2">
<widget class="QPushButton" name="consistencyButton">
<property name="toolTip">
<string><html><head/><body><p>Calculer des statistiques sur les noeuds et leur libellés</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Calcule des statistiques sur la structure de l'arbre actif et analyse les similarités entre les libellés de ses noeuds, afin de permettre à l'utilisateur de détecter d'éventuelles coquilles ou doublons.</p></body></html></string>
</property>
<property name="text">
<string>Statistiques et s&imilarités</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="guessHierarchyButton">
<property name="toolTip">
<string><html><head/><body><p>Deviner la hiérarchie contenue dans les libellés des noeuds</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Tente de deviner la structure de l'arbre actif à l'aide des libellés des noeuds. L'arbre sera modifié si des relations hiérarchiques sont trouvées. Actuellement les relations sont devinées en recherchant la présence de numéros au début du nom des noeuds. Par exemple 1-Pierre serait le père de 10-Paul qui serait le père de 100-Jacques.</p></body></html></string>
</property>
<property name="text">
<string>Deviner la hiérarchie</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Noeuds</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="addNodeButton">
<property name="toolTip">
<string><html><head/><body><p>Ajouter un noeud ayant le type sélectionné comme fils du noeud actif</p></body></html></string>
</property>
<property name="text">
<string>&Ajouter noeud</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="modifyNodeButton">
<property name="toolTip">
<string><html><head/><body><p>Modifier le type et le libellé du noeud sélectionné</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Modifie simultanément le type et le libellé du noeud actif. Sélectionnez un noeud et le type désiré. Vous serez invité à spécifier le nouveau libellé du noeud. Si vous ne souhaitez pas changer son type, vous devez sélectionner le type actuel dans la liste.</p></body></html></string>
</property>
<property name="text">
<string>&Modifier noeud</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="deleteNodeButton">
<property name="toolTip">
<string><html><head/><body><p>Supprimer le noeud actif ainsi que tous ses descendants</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Supprimer le noeud actif ainsi que tous ses descendants. Si vous désirez supprimer uniquement le noeud actif et pas ses descendants, vous pouvez utiliser le glisser/déplacer pour rattacher les noeuds descendants à un autre noeud ou à la racine de l'arbre.</p></body></html></string>
</property>
<property name="text">
<string>S&upprimer noeud</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="5" column="1">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPushButton" name="addTypeButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Ajouter type</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="deleteTypeButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string><html><head/><body><p>Supprimer le type sélectionné</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Supprimer le type sélectionné. Si des noeuds possèdes ce type la suppression est impossible, les noeuds doivent être supprimés d'abord.</p></body></html></string>
</property>
<property name="text">
<string>Supprimer type</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="1" rowspan="3">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Types des noeuds</string>
</property>
</widget>
</item>
<item>
<widget class="QListView" name="listTypesView">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string><html><head/><body><p>Liste des types disponibles pour l'arbre actif</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Liste des types pour l'arbre actif. Un type est un attribut qui caractérise un ensemble de noeuds.</p></body></html></string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="newTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Créer un nouvel arbre</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Créer un nouvel arbre vide. Pour importer un arbre à partir d'un fichier excel, utilisez plutôt le bouton &quot;importer arbre&quot;.</p></body></html></string>
</property>
<property name="text">
<string>Ajouter &arbre</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="importTreeButton">
<property name="toolTip">
<string><html><head/><body><p>Importer un arbre à partir d'un fichier Excel. La structure de données attendue est détaillée dans l'aide contextuelle de ce bouton (utiliser le dernier bouton de la barre d'outils)</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p>Importer un arbre à partir d'un fichier XLSX. La structure attendue dans le fichier est sur quatre colonnes, et chaque ligne représente un noeud de l'arbre. Les trois premières colonnes servent à décrire les noeuds de l'arbre, en indiquant pour chaque noeud son identifiant numérique unique (en commençant à 2), son type et son libellé. La dernière colonne indique l'identifiant numérique du <span style=" font-weight:600;">père</span> du noeud. Si cet identifiant vaut 1, cela signifie que le noeud est rattaché à la racine de l'arbre. Ainsi,<br/></p><table border="1" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" cellspacing="0" cellpadding="0"><tr><td style=" vertical-align:middle;"><p><span style=" font-family:'Calibri';">Identifiant noeud</span></p></td><td style=" vertical-align:middle;"><p>Type noeud</p></td><td style=" vertical-align:middle;"><p>Nom noeud</p></td><td style=" vertical-align:middle;"><p>Identifiant père</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">2</p></td><td style=" vertical-align:middle;"><p align="center"><span style=" font-family:'Calibri';">Maire adjoint</span></p></td><td style=" vertical-align:middle;"><p align="center">M1</p></td><td style=" vertical-align:middle;"><p align="center">1</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">3</p></td><td style=" vertical-align:middle;"><p align="center"><span style=" font-family:'Calibri';">Maire adjoint</span></p></td><td style=" vertical-align:middle;"><p align="center">M2</p></td><td style=" vertical-align:middle;"><p align="center">1</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">4</p></td><td style=" vertical-align:middle;"><p align="center"><span style=" font-family:'Calibri';">Maire adjoint</span></p></td><td style=" vertical-align:middle;"><p align="center">M3</p></td><td style=" vertical-align:middle;"><p align="center">1</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">5</p></td><td style=" vertical-align:middle;"><p align="center">Service</p></td><td style=" vertical-align:middle;"><p align="center">S1</p></td><td style=" vertical-align:middle;"><p align="center">2</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">6</p></td><td style=" vertical-align:middle;"><p align="center">Service</p></td><td style=" vertical-align:middle;"><p align="center">S2</p></td><td style=" vertical-align:middle;"><p align="center">3</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">7</p></td><td style=" vertical-align:middle;"><p align="center">Service</p></td><td style=" vertical-align:middle;"><p align="center"><span style=" font-family:'Calibri';">S3</span></p></td><td style=" vertical-align:middle;"><p align="center">3</p></td></tr><tr><td style=" vertical-align:middle;"><p align="center">8</p></td><td style=" vertical-align:middle;"><p align="center">Service</p></td><td style=" vertical-align:middle;"><p align="center"><span style=" font-family:'Calibri';">S4</span></p></td><td style=" vertical-align:middle;"><p align="center">4</p></td></tr></table><p>représentera l'arbre suivant :</p><p><img src=":/Pictures/icons/sample_tree.png"/></p></body></html></string>
</property>
<property name="text">
<string>&Importer arbre</string>
</property>
<property name="icon">
<iconset resource="Images.qrc">
<normaloff>:/icons/icons/excel_imports.png</normaloff>:/icons/icons/excel_imports.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="randomTreeButton">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="toolTip">
<string><html><head/><body><p>Créer un arbre aléatoire à des fins de test</p></body></html></string>
</property>
<property name="whatsThis">
<string><html><head/><body><p><span style=" font-style:normal;">Création d'un arbre à la structure et aux libellés aléatoires à des fins de test. Vous devez spécifier la taille de l'arbre.</span></p></body></html></string>
</property>
<property name="text">
<string>Arbre aléatoire</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" colspan="2">
<widget class="QComboBox" name="comboBox"/>
</item>
</layout>
</widget>
<layoutdefault spacing="6" margin="11"/>
<tabstops>
<tabstop>comboBox</tabstop>
<tabstop>treeView</tabstop>
<tabstop>pushButtonExpandAll</tabstop>
<tabstop>pushButtonCollapseAll</tabstop>
<tabstop>newTreeButton</tabstop>
<tabstop>duplicateTreeButton</tabstop>
<tabstop>importTreeButton</tabstop>
<tabstop>deleteTreeButton</tabstop>
<tabstop>finishTreeButton</tabstop>
<tabstop>randomTreeButton</tabstop>
<tabstop>viewTreeButton</tabstop>
<tabstop>consistencyButton</tabstop>
<tabstop>guessHierarchyButton</tabstop>
<tabstop>addNodeButton</tabstop>
<tabstop>modifyNodeButton</tabstop>
<tabstop>deleteNodeButton</tabstop>
<tabstop>listTypesView</tabstop>
<tabstop>addTypeButton</tabstop>
<tabstop>deleteTypeButton</tabstop>
</tabstops>
<resources>
<include location="Images.qrc"/>
</resources>
<connections/>
</ui>