Salome HOME
Merge branch 'master' into V9_merge
[tools/eficas.git] / Tests / testihm / common.py
1 # -*- coding: utf-8 -*-
2
3 from tkMessageBox import showinfo
4 root=None
5 jdcdisplay=None
6
7 class UnKnownNode(Exception):pass
8
9 def init_common(r,j):
10     global root,jdcdisplay
11     root=r
12     jdcdisplay=j
13
14 def KP_return():
15     root.event_generate("<Return>")
16     root.update()
17
18 def delete_node(panel):
19     panel.node.delete()
20
21 def uncomment_command(panel):
22     panel.bouton_unc.invoke()
23     root.update()
24     panel=jdcdisplay.panel_courant
25     return panel
26
27 def comment_command(panel):
28     panel.nb.selectpage('Commentaire')
29     panel.comment_commande()
30     root.update()
31     panel=jdcdisplay.panel_courant
32     return panel
33
34 def create_mocle(nom,panel):
35     panel.nb.selectpage('Mocles')
36     panel.Liste.afficheMot(nom)
37     root.update()
38     label=panel.Liste.dico_labels[nom]
39     label.event_generate("<Enter>")
40     root.event_generate("<KeyPress-Return>")
41     root.update()
42     return jdcdisplay.panel_courant
43
44 def change_commandcomm(text,panel):
45     panel.widget_text.setvalue(text)
46     root.update()
47     panel.bouton_val.invoke()
48     return panel
49
50 def create_command(nom,panel):
51     panel.nb.selectpage('Commande')
52     root.update()
53     panel.command_entry.setentry(nom)
54     panel.command_entry.component('entry').focus_set()
55     root.event_generate("<Return>")
56     root.update()
57     label=panel.liste_command.dico_labels[nom]
58     label.event_generate("<Enter>")
59     label.event_generate("<Return>")
60     #root.event_generate("<Return>")
61     root.update()
62     panel=jdcdisplay.panel_courant
63     return panel
64
65 def create_comment(text,panel):
66     panel.nb.selectpage('Commentaire')
67     panel.ajout_commentaire()
68     root.update()
69     panel=jdcdisplay.panel_courant
70     panel.widget_text.setvalue(text)
71     root.update()
72     panel.bouton_val.invoke()
73     #panel.change_valeur()
74     return panel
75
76 def create_param(nom,valeur,panel):
77     panel.nb.selectpage('Commentaire')
78     panel.ajout_parametre()
79     root.update()
80     panel=jdcdisplay.panel_courant
81     if nom:
82         panel.entry_nom.delete(0,"end")
83         panel.entry_nom.insert(0,nom)
84         panel.entry_nom.event_generate("<Return>")
85     panel.entry_val.delete(0,"end")
86     panel.entry_val.insert(0,valeur)
87     panel.entry_val.event_generate("<Return>")
88     panel.bouton_val.invoke()
89     root.update()
90     return panel
91
92 def create_formule(nom,args,expr,panel):
93     panel=create_command("FORMULE",panel)
94     panel.entry_nom.delete(0,"end")
95     panel.entry_nom.insert(0,nom)
96     panel.entry_nom.event_generate("<Return>")
97     panel.entry_arg.delete(0,"end")
98     panel.entry_arg.insert(0,args)
99     panel.entry_arg.event_generate("<Return>")
100     panel.entry_exp.delete(0,"end")
101     panel.entry_exp.insert(0,expr)
102     panel.entry_exp.event_generate("<Return>")
103     panel.bouton_val.invoke()
104     root.update()
105     return panel
106
107 def nomme_concept(nom,panel):
108     panel.nb.selectpage('Concept')
109     root.update()
110     panel._any.delete(0,"end")
111     panel._any.insert(0,nom)
112     panel.but_ok.invoke()
113     root.update()
114     return jdcdisplay.panel_courant
115
116 def select_mcf(nom,ind,node):
117     panel=select_child(nom,node)
118     parent=panel.node
119     parent.expand()
120     parent.select_next(ind)
121     panel=jdcdisplay.panel_courant
122     panel.node.expand()
123     return panel
124
125 def select_child(nom,node):
126     """node est le parent dont on veut le fils nom"""
127     for n in node.children:
128         if n.item.nom == nom:
129             n.select()
130             root.update()
131             panel= jdcdisplay.panel_courant
132             panel.node.expand()
133             return panel
134     raise UnKnownNode(nom)
135
136 def select_node(node):
137     node.select()
138     node.expand()
139     root.update()
140     return jdcdisplay.panel_courant
141
142 def choose_valeur(valeur,panel):
143     panel.Liste_choix.afficheMot(valeur)
144     root.update()
145     label=panel.Liste_choix.dico_labels[valeur]
146     label.event_generate("<Button-1>")
147     label.event_generate("<Return>")
148     root.update()
149
150 def choose_sdco(valeur,panel):
151     i = list(panel.listbox.get(0, 'end')).index(valeur)
152     panel.listbox.component("listbox").selection_set(i)
153     panel.listbox.component("listbox").focus_set()
154     panel.listbox.component("listbox").event_generate("<Return>")
155     root.update()
156
157 def choose_assd(valeur,panel):
158     i = list(panel.listbox.get(0, 'end')).index(valeur)
159     panel.listbox.component("listbox").selection_set(i)
160     panel.but_val.invoke()
161     root.update()
162
163 def set_valeur(valeur,panel):
164     panel.entry.delete(0,"end")
165     panel.entry.insert(0,valeur)
166     panel.entry.event_generate("<Return>")
167     root.update()
168
169 def set_sdco(valeur,panel):
170     panel.entry_co.delete(0,"end")
171     panel.entry_co.insert(0,valeur)
172     panel.entry_co.event_generate("<Return>")
173     root.update()
174
175 def set_complexe(valeur,panel):
176     panel.entry3.setentry(valeur)
177     panel.entry3.component('entry').focus_set()
178     panel.entry3.event_generate("<Return>")
179     root.update()
180
181 def add_valeur_into(valeur,panel):
182     label=panel.Liste_choix.dico_labels[valeur]
183     panel.Liste_choix.afficheMot(valeur)
184     root.update()
185     label.event_generate("<1>")
186     panel.bouton_add.invoke()
187     root.update()
188
189 def add_valeur(valeur,panel):
190     panel.entry.delete(0,"end")
191     panel.entry.insert(0,valeur)
192     panel.entry.event_generate("<Return>")
193     root.update()
194
195 def valider_valeur(panel):
196     panel.bouton_accepter.invoke()
197     root.update()
198
199 def copier_coller():
200     root.event_generate("<Control-c>")
201     root.event_generate("<Control-v>")
202     root.update()
203     return jdcdisplay.panel_courant
204