Exemplo n.º 1
0
    def __init__(self,
                 master,
                 dliste_section,
                 dparam,
                 para,
                 aide,
                 titre=_(u"Affichage"),
                 largeur=800,
                 hauteur=660):

        self.master = master
        self.dliste_section = dliste_section
        self.dparam = dparam
        self.aide = aide
        self.para = para
        self.largeur = largeur
        self.hauteur = hauteur

        # Objet Fenetre Tk
        self.fenetre2 = Tk.Toplevel(self.master)
        self.fenetre2.title(titre)
        self.fenetre2.geometry(str(largeur) + "x" + str(hauteur) + "+50+50")
        self.fenetre2.resizable(width='no', height='no')

        # Objet bulle d'aide
        if use_Tix:
            #       self.bulle = objets.BULLE_TIX(frame=self.fenetre2)
            # Objet bulle d'aide
            self.bulle = Tk.Balloon(self.fenetre2)
            self.bulle.configure(bg='blue', borderwidth=1)
        elif use_Pmw:
            try:
                Pmw.initialise(self.fenetre2)
                self.bulle = objets.BULLE_PMW(frame=self.fenetre2)
            except:
                self.bulle = None
        else:
            self.bulle = None

        # Fontes
        self.fonte = self.para['PARAMETRES']['fonte']

        # Parametre de sortie
        self.nouveau_para = None

        # Mode courant
        self.old_mode_graphique = None
        self.old_mode = None

        # Variables Tk
        self.dvar = {}
        for section in self.dliste_section.keys():
            self.dvar[section] = {}
        for cle in self.dparam.keys():
            section = self.dparam[cle]['section']
            if type(self.dparam[cle]['val']) == types.IntType:
                self.dvar[section][cle] = Tk.IntVar()
            else:
                self.dvar[section][cle] = Tk.StringVar()
            self.dvar[section][cle].set(self.para[section][cle])

        # Frames
#     frame = Tk.Frame(self.fenetre2, bd=1, relief='sunken' )
# frame.place(in_=self.fenetre2,x=0,y=0,anchor='nw',width=largeur,
# height=hauteur)
#     ----------
#    |    1    |
#    ----------
#   | 2  | 3  |
#   ----------
#  | 4  | 5  |
#  ----------
        x_1 = largeur * 0.25
        y_1 = 0
        largeur_1 = largeur * 0.5
        hauteur_1 = 70
        frame_1 = Tk.Frame(self.fenetre2, bd=0, relief='flat')
        frame_1.place(in_=self.fenetre2,
                      x=x_1,
                      y=y_1,
                      anchor='nw',
                      width=largeur_1,
                      height=hauteur_1)

        x_2 = 0
        y_2 = hauteur_1
        largeur_2 = largeur * 0.5
        #    hauteur_2 = 340
        hauteur_2 = 370
        frame_2 = Tk.Frame(self.fenetre2, bd=0, relief='flat')
        frame_2.place(in_=self.fenetre2,
                      x=x_2,
                      y=y_2,
                      anchor='nw',
                      width=largeur_2,
                      height=hauteur_2)

        x_3 = largeur_2
        y_3 = hauteur_1
        largeur_3 = largeur * 0.5
        hauteur_3 = hauteur_2
        frame_3 = Tk.Frame(self.fenetre2, bd=0, relief='flat')
        frame_3.place(in_=self.fenetre2,
                      x=x_3,
                      y=y_3,
                      anchor='nw',
                      width=largeur_3,
                      height=hauteur_3)

        x_4 = 0
        y_4 = hauteur_1 + hauteur_2
        largeur_4 = largeur * 0.5
        hauteur_4 = hauteur - hauteur_1 - hauteur_2
        frame_4 = Tk.Frame(self.fenetre2, bd=0, relief='flat')
        frame_4.place(in_=self.fenetre2,
                      x=x_4,
                      y=y_4,
                      anchor='nw',
                      width=largeur_4,
                      height=hauteur_4)

        x_5 = largeur_4
        y_5 = hauteur_1 + hauteur_2
        largeur_5 = largeur * 0.5
        hauteur_5 = hauteur - hauteur_1 - hauteur_3
        frame_5 = Tk.Frame(self.fenetre2, bd=0, relief='flat')
        frame_5.place(in_=self.fenetre2,
                      x=x_5,
                      y=y_5,
                      anchor='nw',
                      width=largeur_5,
                      height=hauteur_5)

        # Dictionnaires des objets Tk
        self.titre = {}
        self.label = {}
        self.objet = {}

        # Liste des cle par section
        self.liste_cle = {}

        # Liste des sections
        self.liste_section = [['MODE_GRAPHIQUE', frame_1, 10],
                              ['CONFIG', frame_2, 10],
                              ['PARAMETRES', frame_4, 10],
                              ['VISUALISATION', frame_5, 10]]

        # construction des objets Tk
        self.Construction_Objets(init=True)

        # Canvas
        # self.objet_canvas = objets.CANVAS(frame=frame_3, x=10, y=30,
        # h=hauteur_3-40, l=largeur_3-40, anchor='nw')

        # Aide
        self.case_aide = objets.CASE_TEXTE(frame=frame_3,
                                           x=10,
                                           y=30,
                                           h=hauteur_3 - 40,
                                           l=largeur_3 - 40,
                                           params=None,
                                           fonte=self.fonte)

        # Boutons
        bullemsg = _(u"Annuler")
        bouton_annuler = objets.BUTTON(frame_4,
                                       x=largeur_4 * 0.6,
                                       y=hauteur_4 - 50,
                                       txt=_(u"Annuler"),
                                       command=self.Quitter,
                                       width=10,
                                       fonte=self.fonte,
                                       background="grey",
                                       bulle=self.bulle,
                                       bullemsg=bullemsg)

        bullemsg = _(u"Valider les parametres et sortir")
        bouton_ok = objets.BUTTON(frame_5,
                                  x=largeur_5 * 0.1,
                                  y=hauteur_5 - 50,
                                  txt=_(u"OK"),
                                  command=self.Renvoi_Parametres,
                                  width=10,
                                  fonte=self.fonte,
                                  background="grey",
                                  bulle=self.bulle,
                                  bullemsg=bullemsg)

        #     bullemsg = _(u"")
        # bouton_voir      = objets.BUTTON(frame_5, x=largeur_5*0.5, y=hauteur_5 -
        # 50, txt=_(u"Voir"), command=self.Voir, width=10, fonte=self.fonte,
        # background="grey", bulle=self.bulle, bullemsg=bullemsg)

        # Affiche l'aide
        self.Raffraichir_Aide()

        self.after_id = self.fenetre2.after(50, self.Scan)
        self.fenetre2.mainloop()