#!/bin/bash
#nécessite les paquets: zenity; xmlstarlet

OLDIFS=$IFS

{
projet=`zenity --title "Sélectionner le fichier projet QET" --file-selection --filename="./Bureau"`

if  [ $? != 0 ]; then # si fermeture
	exit 1
fi
[ $? -ne 0 ] && exit 2 # si annulation
}


IFS=$'\n'



#nombre de page sommaire-------------------------------------------------------------------------------------
sommaire=($(xmlstarlet sel -t -v /project/@folioSheetQuantity "$projet"))

#nombre de colonne/ligne et taille par folio-----------------------------------------------------------------
info_folio=($(xmlstarlet sel -T -t -m /project/diagram -s A:N:- "@order" -v "concat( @order, ';' ,@rowsize, ';' ,@rows, ';' ,@colsize, ';' ,@cols )" -n "$projet"))
nbr_folio=${#info_folio[*]}


#récupération liste des différents éléments SUR 8 NIVEAUX DE DOSSIERS-----------------------------------------
racine=($(xmlstarlet sel -T -t -m /project/collection/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../@name, '/' ,../../@name, ';' ,*[@lang='fr'], ';' )" -n "$projet" ))


dossier1=($(xmlstarlet sel -T -t -m /project/collection/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' , ../../../../@name, '/' ,../../../@name, '/' ,../../@name, ';' ,*[@lang='fr'], ';' )" -n "$projet" ))


dossier2=($(xmlstarlet sel -T -t -m /project/collection/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../@name, "/" ,../../../../@name, '/' ,../../../@name, '/' ,../../@name, ';' ,*[@lang='fr'], ';' )" -n "$projet" ))


dossier3=($(xmlstarlet sel -T -t -m /project/collection/category/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../../@name, '/' ,../../../../../@name , '/' ,../../../../@name, '/' ,../../../@name, '/' ,../../@name , ';' ,*[@lang='fr'], ';' )" -n "$projet" ))


dossier4=($(xmlstarlet sel -T -t -m /project/collection/category/category/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../../../@name, '/' ,../../../../../../@name, '/' ,../../../../../@name , '/' ,../../../../@name, '/' ,../../../@name, '/' ,../../@name , ';' ,*[@lang='fr'], ';')" -n "$projet" ))


dossier5="$(xmlstarlet sel -T -t -m /project/collection/category/category/category/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../../../../@name, '/' ,../../../../../../../@name, '/' ,../../../../../../@name, '/' ,../../../../../@name , '/' ,../../../../@name, '/' ,../../../@name, '/' ,../../@name , ';' ,*[@lang='fr'])" -n "$projet" )"


dossier6=($(xmlstarlet sel -T -t -m /project/collection/category/category/category/category/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../../../../../@name, '/' ,../../../../../../../../@name, '/' ,../../../../../../../@name, '/' ,../../../../../../@name, '/' ,../../../../../@name , '/' ,../../../../@name, '/' ,../../../@name, '/' ,../../@name , ';' ,*[@lang='fr'], ';')" -n "$projet" ))


dossier7=($(xmlstarlet sel -T -t -m /project/collection/category/category/category/category/category/category/category/category/element/definition/names -s A:N:- "@name" -v "concat( 'embed://' ,../../../../../../../../../../@name, '/' ,../../../../../../../../../@name, '/' ,../../../../../../../../@name, '/' ,../../../../../../../@name, '/' ,../../../../../../@name, '/' ,../../../../../@name , '/' ,../../../../@name, '/' ,../../../@name, '/' ,../../@name , ';' ,*[@lang='fr'], ';')" -n "$projet" ))


#ISOLER L'ADRESSE DES ELEMENTS QUI S'APPELLENT "Borne" EN FRANCAIS---------------------------------------------------------
y=0

x=0
nbr=${#racine[*]}
while ((x <= nbr ));do
	nom_element=`echo "${racine[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${racine[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier1[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier1[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier1[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier2[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier2[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier2[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier3[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier3[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier3[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier4[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier4[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier4[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier5[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier5[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier5[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier6[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier6[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier6[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

x=0
nbr=${#dossier1[*]}
while ((x <= nbr ));do
	nom_element=`echo "${dossier7[$x]}" | cut -d";" -f2`
	chemin_element=`echo "${dossier7[$x]}" | cut -d";" -f1`
	if [ "$nom_element" = "Borne" ];then
		adresse[$y]="$chemin_element"
		((y+=1))
	fi
	((x+=1))
done

nbr_adresse=${#adresse[*]}


#récupération de la position des éléments----------------------------------------------------------------------
#[element]=texte/label;fichier élément;id d'une des bornes;orientation;folio;position en x;position en y
element=($(xmlstarlet sel -T -t -m /project/diagram/elements/element/inputs/input -s A:T:- "inputs" -v "concat(@text, ';' ,../../@type, ';', ../../terminals/terminal/@id,';' ,../../terminals/terminal/@orientation, ';' ,../../../../@order, ';' ,../../@x, ';' ,../../@y )" -n "$projet" ))

nbr_element=${#element[*]}


#RECUPERER TOUTES LES LIGNES DU TABLEAU [element] DONT LE FICHIER ELEMENT EST DANS LA TABLE [adresse] DES FICHIERS "Borne" 
#[element]=texte/label;fichier élément;id d'une des bornes;orientation;folio;position en x;position en y
#[adresse]=fichier élément;nom en français de l'élément


x=0
z=0

while ((x <= nbr_element ));do
	fichier_elm1=`echo "${element[$x]}" | cut -d";" -f2`
	y=0
	while ((y <= nbr_adresse ));do
		val_adresse=${adresse[$y]}
		if [ "$fichier_elm1" = "$val_adresse" ];then
			element_filtre[$z]=${element[$x]}
			((z+=1))
		fi
		((y+=1))
	done
	
	((x+=1))
done


#------------------------------------------------------------------------------------------------------------------
#création d'une table qui fusionne entre elles les informations de la table [element_filtre], ne tient pas compte des labels manquants
#calcul la position dans le folio
#[element_filtre]=texte/label;fichier élément;id d'une des bornes;orientation;folio;position en x;position en y

x=0
y=0



while ((x <= nbr_element ));do
	label1=`echo "${element_filtre[$x]}" | cut -d";" -f1`
	fichier_elm1=`echo "${element_filtre[$x]}" | cut -d";" -f2`
	id_borne1=`echo "${element_filtre[$x]}" | cut -d";" -f3`
	orientation1=`echo "${element_filtre[$x]}" | cut -d";" -f4`
	folio1=`echo "${element_filtre[$x]}" | cut -d";" -f5`
	position_x=`echo "${element_filtre[$x]}" | cut -d";" -f6`
	position_y=`echo "${element_filtre[$x]}" | cut -d";" -f7`

	if [ -n "$label1" ];then #si label différent de nul
		z=0
		while ((z <= nbr_element ));do #recherche du 2ème iD borne
			label2=`echo "${element_filtre[$z]}" | cut -d";" -f1`			
			fichier_elm2=`echo "${element_filtre[$z]}" | cut -d";" -f2`
			folio2=`echo "${element_filtre[$z]}" | cut -d";" -f5`			
			if [ "$label2" = "$label1" ];then
				if [ "$fichier_elm2" = "$fichier_elm1" ];then
					if [ "$folio2" = "$folio1" ];then
						id_borne2=`echo "${element_filtre[$z]}" | cut -d";" -f3`
						element_filtre[$z]=";0"
					fi
				fi				
			fi
			((z+=1))	
		done

		#recherche dans la table [info_folio] des infos colonne et ligne pour calcul position
		f=0
		while (( f <= nbr_folio ));do 
			numero_folio=`echo "${info_folio[$f]}" | cut -d";" -f1`

			if [ "$folio1" = "$numero_folio" ];then
				col=`echo "${info_folio[$f]}" | cut -d";" -f5`
				taille_col=`echo "${info_folio[$f]}" | cut -d";" -f4`
				ligne=`echo "${info_folio[$f]}" | cut -d";" -f3`
				taille_ligne=`echo "${info_folio[$f]}" | cut -d";" -f2`

				#calcul de la position dans les colonnes
				division=$(($position_x / $taille_col))
				divisionR=$(echo "scale=1 ; $position_x/$taille_col" | bc)
				if [ $(echo "$division < $divisionR" | bc) -eq 1 ];then
					position_col=$((division+=1))
				else
					position_col=$division
				fi
				
				#calcul de la position dans les lignes
				division=$(($position_y / $taille_ligne))
				divisionR=$(echo "scale=1 ; $position_y/$taille_ligne" | bc)
				if [ $(echo "$division < $divisionR" | bc) -eq 1 ];then
					position_ligne=$((division+=1))
				else
					position_ligne=$division
				fi

				alphabet=('0' 'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' 'X' 'Y' 'Z')
				position="${alphabet[$position_ligne]}${position_col}"

				break #fin de la boucle
			fi
			((f+=1))

		done

		if [ -n "$label1" ];then
			element2[$y]="${label1};${fichier_elm1};${folio1};${position};;${id_borne1};${id_borne2}"
		fi
		#une fois traitée la ligne du tableau "element" est vidée
		element_filtre[$x]=";0"
		((y+=1))

	else
		#si il n'y a pas de label: on vide la ligne du tableau
		element_filtre[$x]=";0"			
	fi

	((x+=1))
done
nbr_element2=${#element2[*]}

 
#------------------------------------------------------------------------------------------------------
#ajout des numéros de conducteurs aux éléments en fonction du numéro de folio et des id depuis table [conducteur]
#[element2]=texte/label;fichier élément;folio;position en x;position en y, id de la première borne de l'élement; id de la deuxième borne de l'élement
#[conducteur]=numéro de conducteur;id borne élément 1;id borne élément 2;orientation

conducteur=($(xmlstarlet sel -T -t -m /project/diagram/conductors/conductor -s A:N:- "@num" -v "concat(@num,';',@terminal1,';',@terminal2, ';' ,../../@order)" -n "$projet" ))
nbr_conducteur=${#conducteur[*]}


x=0

while ((x <= nbr_element2 ));do
	label=`echo "${element2[$x]}" | cut -d";" -f1`
#	fichier=`echo "${element2[$x]}" | cut -d";" -f2` 
	folio=`echo "${element2[$x]}" | cut -d";" -f3`
	position=`echo "${element2[$x]}" | cut -d";" -f4`
	id_borne1=`echo "${element2[$x]}" | cut -d";" -f6`
	id_borne2=`echo "${element2[$x]}" | cut -d";" -f7`

	if [ -n "$label" ];then
		bornier[$x]="$label;$folio;$position"
	fi
	y=0
	while ((y <= nbr_conducteur ));do
		num_conducteur=`echo "${conducteur[$y]}" | cut -d";" -f1`
		id1=`echo "${conducteur[$y]}" | cut -d";" -f2`
		id2=`echo "${conducteur[$y]}" | cut -d";" -f3`
		folio_conducteur=`echo "${conducteur[$y]}" | cut -d";" -f4`
		if [ "$folio" = "$folio_conducteur" ] && [ -n "$label" ];then
			if [[ "$id_borne1" = "$id1" || "$id_borne2" = "$id1" || "$id_borne1" = "$id2" || "$id_borne2" = "$id2" ]];then
				bornier[$x]="${bornier[$x]};${num_conducteur}"
			fi			
		fi
		((y+=1))
	done
	((x+=1))
done



#trie alphabétique -d pas de différence entre majuscule et minuscule -f trie sur séparateur :
bornier_trie=( $(printf "%s\n" ${bornier[*]} | sort -fV) )

nbr_bornier_trie=${#bornier_trie[*]}


#----------------------------------------------------------------------
#AJOUTER LES BORNES MANQUANTES COMME RESERVES de table [bornier_trie]
#[bornier_trie]=texte/label;folio;position;conducteur1;conducteur2
#modifier le numéro de folio en fonction de la présence et du nombre de sommaire
#----------------------------------------------------------------------
x=0
y=0

while ((x <= nbr_bornier_trie ));do
	arret=false

	label=`echo "${bornier_trie[$x]}" | cut -d";" -f1`
	bornier=`echo "$label" | cut -d":" -f1`
	numero=`echo "$label" | cut -d":" -f2`
	folio=`echo "${bornier_trie[$x]}" | cut -d";" -f2`
	position=`echo "${bornier_trie[$x]}" | cut -d";" -f3`
	fil1=`echo "${bornier_trie[$x]}" | cut -d";" -f4`
	fil2=`echo "${bornier_trie[$x]}" | cut -d";" -f5`

	numero_p1=$(($numero+1))
	
	((x+=1))
	label_suivant=`echo "${bornier_trie[$x]}" | cut -d";" -f1`
	bornier_suivant=`echo "$label_suivant" | cut -d":" -f1`
	numero_suivant=`echo "$label_suivant" | cut -d":" -f2`
	((x-=1))

	((x-=1))
	label_prec=`echo "${bornier_trie[$x]}" | cut -d";" -f1`
	bornier_prec=`echo "$label_prec" | cut -d":" -f1`
	numero_prec=`echo "$label_prec" | cut -d":" -f2`
	((x+=1))

#PHASE-1première borne
	if [[ "$numero" = 1 ]];then
		if [[ "$folio" > 1 ]];then
			folio_corr=$((folio+sommaire))
		else
			folio_corr=$folio
		fi
		bornier_complet[$y]="${label};${folio_corr};${position};${fil1};${fil2}"
		((y+=1))
		v=1

		if [ "$bornier" = "$bornier_suivant" ] && [[ "$numero_suivant" > "$numero_p1" ]];then
			((v+=1))
			while ((v<numero_suivant)); do
				if [ "$v" -lt "$numero_suivant" ];then
					bornier_complet[$y]="${bornier}:"${v}";RES;;;"
					((y+=1))
				fi				
				((v+=1))
			done
		fi
		arret=true
	fi

# PHASE2 au milieu du bornier, il manque des bornes entre la borne et la suivante
	if [ "$bornier" = "$bornier_prec" ] && [ "$bornier" = "$bornier_suivant" ] && [[ "$numero" > 1 ]] && [[ "$x" -gt 0 ]] && [ "$numero" -lt "$numero_suivant" ] && [ "$arret" = false ];then
		v=$numero
		if [ "$folio" -gt 1 ];then
			folio_corr=$((folio+sommaire))
		else
			folio_corr=$folio
		fi
		bornier_complet[$y]="${label};${folio_corr};${position};${fil1};${fil2}"
		((y+=1))
		((v+=1))
		while ((v<numero_suivant)); do
			if [ "$v" -lt "$numero_suivant" ];then
				bornier_complet[$y]="${bornier}:"${v}";RES;;;"
				((y+=1))
			fi
			((v+=1))			
		done
		arret=true
	fi

# PHASE3 dernière borne du bornier
	if [ "$bornier" = "$bornier_prec" ] && [ "$bornier" != "$bornier_suivant" ] && [ -n "$bornier_suivant" ] && [[ "$numero" > 1 ]] && [[ "$x" > 0 ]] && [ "$arret" = false ];then
		v=$numero
		if [[ "$folio" > 1 ]];then
			folio_corr=$((folio+sommaire))
		else
			folio_corr=$folio
		fi
		bornier_complet[$y]="${label};${folio_corr};${position};${fil1};${fil2}"
		((y+=1))
		((v+=1))
		arret=true
	fi


#PHASE4-dernière borne de la liste
	if [ -n "$label" ] && [ -z "$label_suivant" ] && [[ "$x" > 0 ]] && [ "$arret"=false ];then
		if [[ "$folio" > 1 ]];then
			folio_corr=$((folio+sommaire))
		else
			folio_corr=$folio
		fi
		bornier_complet[$y]="${label};${folio_corr};${position};${fil1};${fil2}"
		((y+=1))
		((v+=1))
		arret=true
	fi

#PHASE5-nouveau bornier mais démarre pas à la borne 1
	if [ -n "$label" ] && [[ "$x" > 0 ]] && [ "$bornier" != "$bornier_prec" ] && [[ "$numero" > 1 ]] && [ "$arret" = false ];then
		v=1

		while ((v<numero)); do
			if [ "$v" -lt "$numero" ];then
				bornier_complet[$y]="${bornier}:"${v}";RES;;;"
				((y+=1))
				((v+=1))
			fi
			if [ "$v" = "$numero" ];then
				if [[ "$folio" > 1 ]];then
					folio_corr=$((folio+sommaire))
				else
					folio_corr=$folio
				fi
				bornier_complet[$y]="${label};${folio_corr};${position};${fil1};${fil2}"
				((y+=1))
				((v+=1))
				if [ "$numero_p1" != "$numero_suivant" ];then
					while ((v<numero_suivant)); do
						bornier_complet[$y]="${bornier}:"${v}";RES;;;"
						((y+=1))
						((v+=1))
					done
				fi
			fi
		done		
		arret=true
	fi
	((x+=1))
done
nbr_bornier_complet=${#bornier_complet[*]}

#echo ${bornier_complet[*]} > "$dossier/bornier.csv"


#zenity --question --title="Fichier CSV créé" --height=80 --width=500 --text="La liste de bornier a été créé: ""$dossier/bornier.csv"" . Cliquer sur OUI pour lancer la génération des bornes."
#if [ $? != "0" ];then
    #exit
#fi



#-------------------------------------------------------------------------------------------------
#GENERER LES ELEMENTS BORNIERS depuis table [bornier_complet]
#-------------------------------------------------------------------------------------------------

#CONFIGURATION BORNIERS****************************************
nb_borne_par_folio=50
hauteur_bornier=90
largeur_entete=40
largeur_borne=20
t_repere=9
t_xref=6
sens_texte=270
destination="${HOME}/.qet/elements/temp_bornier"
#************************************************************

if [ ! -d "$destination" ];then
	mkdir "$destination"
else
	rm -Rf "$destination"
	mkdir "$destination"
fi

fichier="${destination}/qet_directory"

#fichier pour bibliothèque qet

echo "<qet-directory>" >> $fichier
echo "    <names>" >> $fichier
echo "        <name lang=\"en\">TEMP: Terminals</name>" >> $fichier
echo "        <name lang=\"fr\">TEMP : Borniers</name>" >> $fichier
echo "    </names>" >> $fichier
echo "</qet-directory>" >> $fichier
#------------------------------------------

#FONCTION----------------------------------------
function creer_element {
#générer l'élément
fichier="${destination}/${memo_nom}-${CurElmtFile}.elmt"

hauteur_elmt=$((hauteur_bornier+8))
longueur_elmt=$((largeur_entete+(NbBorneBornier*largeur_borne)+8+largeur_born))

		
echo "<definition hotspot_x=\"4\" hotspot_y=\"4\" width=\""${longueur_elmt}"\" height=\""${hauteur_elmt}"\" orientation=\"dyyy\" link_type=\"simple\" type=\"element\">" >> $fichier
echo "    <names>" >> $fichier
echo "        <name lang=\"fr\">"${memo_nom}-${CurElmtFile}"</name>" >> $fichier
echo "    </names>" >> $fichier
echo "    <description>" >> $fichier	


#[bornier_complet]=texte/label;folio;position;conducteur1;conducteur2

actu_x=0
actu_y=0		
sauv_actu_x=0

x=$SavedRow
j=0
while ((j<NbBorneBornier)); do
	label=`echo "${bornier_complet[$x]}" | cut -d";" -f1`
	nom=`echo "$label" | cut -d":" -f1`
	numero=`echo "$label" | cut -d":" -f2`
	folio=`echo "${bornier_complet[$x]}" | cut -d";" -f2`
	lig_col=`echo "${bornier_complet[$x]}" | cut -d";" -f3`
	position="${folio}.${lig_col}"
	num_amont=`echo "${bornier_complet[$x]}" | cut -d";" -f4`
	num_aval=`echo "${bornier_complet[$x]}" | cut -d";" -f5`
	if [ -z "$num_aval" ];then
		num_aval="$num_amont"
	fi

	if [ "$j" = 0 ] ;then
		PosXTexte=$((actu_x+(largeur_entete/2)+(t_repere/2)))
		echo "        <rect x=\""${actu_x}"\" y=\""${actu_y}"\" width=\""${largeur_entete}"\" height=\""${hauteur_bornier}"\" antialias=\"false\" style=\"line-style:normal;line-weight:normal;filling:white;color:black\"/>" >> $fichier
		temp1=$((hauteur_bornier/4))
		temp2=$((hauteur_bornier/2))
		echo "        <rect x=\""${largeur_entete}"\" y=\""${temp1}"\" width=\"5\" height=\""${temp2}"\" antialias=\"false\" style=\"line-style:normal;line-weight:normal;filling:white;color:black\"/>" >> $fichier
		temp1=$((actu_y+(hauteur_bornier/2)+t_repere))
		echo "        <input text=\""${nom}"\" tagg=\"label\" rotation=\""${sens_texte}"\" size=\""${t_repere}"\" x=\""${PosXTexte}"\" y=\""${temp1} \""/>" >> $fichier
		actu_x=$((largeur_entete+5))
		sauv_actu_x=$actu_x
	fi


	PosXTexte=$((actu_x+(largeur_borne/2)+(t_repere/2)))		

	echo "        <rect x=\""${actu_x}"\" y=\""${actu_y}"\" width=\""${largeur_borne}"\" height=\""${hauteur_bornier}"\" antialias=\"false\" style=\"line-style:normal;line-weight:normal;filling:white;color:black\"/>" >> $fichier
	temp1=$((actu_y+(t_repere+hauteur_bornier/2)))
	echo "        <text text=\""${numero}"\" rotation=\""${sens_texte}"\" size=\""${t_repere}"\" x=\""${PosXTexte}"\" y=\""${temp1}"\"/>" >> $fichier
	temp1=$((actu_y-15+(hauteur_bornier/2)))
	echo "        <text text=\""${position}"\" rotation=\""${sens_texte}"\" size=\""${t_xref}"\" x=\""${PosXTexte}"\" y=\""${temp1}"\"/>" >> $fichier
	temp1=$((actu_x-7+(largeur_borne/2)))
	temp2=$((actu_y-10))
	echo "        <input text=\""${num_amont}"\" tagg=\"none\" rotation=\""${sens_texte}"\" size="\"${t_xref}"\" x=\""${temp1}"\" y=\""${temp2}"\"/>" >> $fichier
	temp1=$((actu_x-7+(largeur_borne/2)))
	temp2=$((actu_y+hauteur_bornier+23))
	echo "        <input text=\""${num_aval}"\" tagg=\"none\" rotation=\""${sens_texte}"\" size="\"${t_xref}"\" x=\""${temp1}"\" y=\""${temp2}"\"/>" >> $fichier
	temp1=$((actu_x+(largeur_borne/2)))
	echo "        <line length2=\"1.5\" antialias=\"false\" y1=\"0\" y2=\"-20\" x1=\""${temp1}"\" end1=\"none\" x2=\""${temp1}"\" end2=\"none\" style=\"line-style:normal;line-weight:normal;filling:none;color:black\" length1=\"1.5\"/>" >> $fichier
	temp1=$((hauteur_bornier+20))
	temp2=$((actu_x+(largeur_borne/2)))

	echo "        <line length2=\"1.5\" antialias=\"false\" y1=\""${hauteur_bornier}"\" y2=\""${temp1}"\" x1=\""${temp2}"\" end1=\"none\" x2=\""${temp2}"\" end2=\"none\" style=\"line-style:normal;line-weight:normal;filling:none;color:black\" length1=\"1.5\"/>" >> $fichier
	echo "        <terminal orientation=\"n\" x=\""${temp2}"\" y=\"-20\"/>" >> $fichier
	echo "        <terminal orientation=\"s\" x=\""${temp2}"\" y=\""${temp1}"\"/>" >> $fichier
	temp1=$((actu_x-2+(largeur_borne/2)))
	temp2=$((hauteur_bornier-20))				
	echo "        <circle x=\""${temp1}"\" y=\""${temp2}"\" antialias=\"true\" style=\"line-style:normal;line-weight:normal;filling:none;color:black\" diameter=\"4\"/>" >> $fichier
			
	actu_x=$((largeur_borne+sauv_actu_x))
	sauv_actu_x=$(($actu_x))
	((j+=1))
	((x+=1))
done	
SavedRow=$((SavedRow+NbBorneBornier))
echo "    </description>" >> $fichier
echo "</definition>" >> $fichier
}
#PRG PRINCIPAL------------------------------------------------------------------------


SavedRow=0
CurElmtFile=0
		
i=0
NbBorneBornier=0

#[bornier_complete]=texte/label;folio;position;conducteur1;conducteur2

label=`echo "${bornier_complet[$i]}" | cut -d";" -f1`
memo_nom=`echo "$label" | cut -d":" -f1`
	
while ((i<=nbr_bornier_complet));do
	label=`echo "${bornier_complet[$i]}" | cut -d";" -f1`
	nom=`echo "$label" | cut -d":" -f1`
	if [ "$nom" = "$memo_nom" ];then
		((NbBorneBornier+=1))
		if [ "$NbBorneBornier" = "$nb_borne_par_folio" ];then
			#appel fonction
			creer_element
			((CurElmtFile+=1))			
			NbBorneBornier=0
		fi
	((i+=1))
	else					
		if [ "$NbBorneBornier" != 0 ];then		
			#appel fonction
			creer_element
			((CurElmtFile+=1))
		fi			
			NbBorneBornier=0
			memo_nom="$nom"
	fi
done
#-------------------------------------------------------------------------------------------------------
#FIN
#-------------------------------------------------------------------------------------------------------
IFS=$OLDIFS

if [ $=0 ];then
	zenity --info --title="Fichiers éléments créés" --height=100 --width=500 --text="$CurElmtFile"" bornier(s) créé(s). - Recharger la collection de QET."
else
	zenity --error --title="ERREUR" --height=100 --width=500 --text="ERREUR"
fi
exit
