#########################################
### Définition du programme principal ###
#########################################

##################################################################

### Importation des modules utiles

import tkinter

##################################################################

### Définition des fonctions d'affectation des molécules à partir des menus déroulants

#def affectation_molecule1(quoi_que_ce_soit):
 #   global molecule1
  #  molecule1 = menu_choix_molecule1.get()

#def affectation_molecule2(quoi_que_ce_soit):
 #   global molecule2
  #  molecule2 = menu_choix_molecule2.get()



##################################################################
    
### Création de la structure de l'interface

# Création de la fenêtre "conteneur"

fenetre = tkinter.Tk()
fenetre.title("Simulateur de réactions")
fenetre.geometry("800x600+100+50")

# Le bouton quitter, qui ferme la fenêtre et donc le programme

bouton_quitter = tkinter.Button(fenetre, text="Quitter", command=fenetre.quit)
bouton_quitter.pack(side = tkinter.RIGHT)

# Les deux menus déroulants de choix des molécules

menu_choix_molecule1 = tkinter.StringVar()
menu_choix_molecule1.set("Choisissez une molécule")
option_menu1 = tkinter.OptionMenu(fenetre, menu_choix_molecule1, "ethene", \
                                  "HBr")
option_menu1.pack(side = tkinter.TOP)


menu_choix_molecule2 = tkinter.StringVar()
menu_choix_molecule2.set("Choisissez une molécule")
option_menu2 = tkinter.OptionMenu(fenetre, menu_choix_molecule2, "ethene", \
                                  "HBr")
option_menu2.pack(side = tkinter.TOP)


# Le bouton combiner qui va lancer la fonction centrale du programme avec
# les deux molécules choisies en variables d'entrée

bouton_combiner = tkinter.Button(fenetre, text = "Combiner", \
                                 command = ouverture) #Remplacer par la fonction de gestion
bouton_combiner.pack(side = tkinter.TOP)


# Très important, la fonction mainloop() permet d'éviter la fermeture de la
# fenêtre avant que ne soient éxecutées des actions

fenetre.mainloop()

### Définition de la fonction d'ouverture des fichiers correspondants aux
### molécules sélectionnées

def ouverture(molecule1 = menu_choix_molecule1.get(), molecule2 = menu_choix_molecule2.get()):
    return([__import__(molecule1), __import__(molecule2)])

### Définition de la fonction servant à sélectionner les orbitales
### qui interagiront (les plus proches en énergie)

def comparaison_et_selection_des_OF(molecule1, molecule2):
    '''Renvoie la liste des deux OF qui vont interagir'''
    energie_HO_1 = molecule1.molecule.HO.energie
    return energie_HO_1
