# -*-coding:utf8 -*
"""Fenêtre de navigation"""

from tkinter import *
from tkinter.ttk import *
import sys
import os
DOSSIER_COURRANT = os.path.dirname(os.path.abspath(__file__))
DOSSIER_PARENT = os.path.dirname(DOSSIER_COURRANT)
sys.path.append(DOSSIER_PARENT)
from Controllers.BrowseController import BrowseController
from Users.Model import User
from Views.quickTask import QuickTask as QT

class BrowseView:

    def __init__(self, mother):

        self.ctrl = BrowseController()
        self.search_input = ""
        self.fermer = False # passe à True quand on clique sur la croix de la fenetre

        #On lance la fenêtre par rapport à la fenêtre mère
        BrowseView.root = Toplevel(mother)
        BrowseView.root.title("Naviguer")

        #Initialisation des variables
        #self.mother = mother

        tabs = Notebook(BrowseView.root, name="projets")

        #Création des onglets
        ##Projets
        pr_tab = Frame(tabs)

        #recherche
        search_frame = Frame(pr_tab)
        self.search_input = Entry(search_frame)
        self.search_input.pack(side=LEFT)
        Button(search_frame, text="Rechercher", command=self.search).pack(side=RIGHT)
        search_frame.pack()

        ###Treeview listant les projets
        Label(pr_tab, text="Liste des projets").pack()
        ####Headers
        self.pr_list = Treeview(pr_tab, selectmode="browse", show="headings",
                                columns=("nom", "chef", "client", "num"))
        self.pr_list.heading("nom", text="Nom")
        self.pr_list.heading("chef", text="Chef de projet")
        self.pr_list.heading("client", text="client")
        self.pr_list.heading("num", text="N° dossier")
        ####Insertion du contenu
        projects = self.ctrl.get_projects_list()
        for proj in projects:
            cdp = User(proj.responsable)
            self.pr_list.insert("", 1, values=(proj.nom, (cdp.nom, cdp.prenom),
                                               proj.client, proj.num_dossier))

        self.pr_list.pack()

        Button(pr_tab, text="Voir le projet").pack()
<<<<<<< HEAD
        Button(pr_tab, text="Démarrer une tâche rapide pour ce projet",
               command=self.launch_task).pack()

=======
        # Button(pr_tab, text="Démarrer une tâche rapide pour ce projet").pack()
        BrowseView.startQT = Button(pr_tab, text="Démarrer une tâche rapide pour ce projet")
        BrowseView.startQT.pack()
>>>>>>> ede2e2c61b6fe96a13c87bdd4694e48a9919627b

        ##Tâches
        ta_tab = Frame(tabs)

        #Ajout des onglets au notebook et affichage
        tabs.add(pr_tab, text="Projets")
        tabs.add(ta_tab, text="Tâches")

        tabs.pack()

    def search(self):
        """Fonction de recherche"""
        #on récupère les résultats
        projects = self.ctrl.get_projects_search_results(self.search_input.get())
        #on vide l'arbre
        self.pr_list.delete(*self.pr_list.get_children())
        #on le rerempli avec les résultats
        for proj in projects:
            cdp = User(proj.responsable)
            self.pr_list.insert("", 1, values=(proj.nom, (cdp.nom, cdp.prenom),
                                               proj.client, proj.num_dossier))

#    def launch_task(self):
#        """Lancement d'une tâche rapide"""
#        selected_proj = self.pr_list.item(self.pr_list.focus(), "values")
#        if selected_proj:
#            self.ctrl.launch_quick_task(selected_proj[0])
#        else:
#            print("aucun projet sélectionné")




#test