Salome HOME
modif pour MT
[tools/eficas.git] / monCode / Many_Concepts_52992_Cata.py
1 # coding: utf-8
2
3 from Accas import *
4
5 #class myMesh(ASSD): pass
6 class myModel(ASSD): pass
7
8 JdC = JDC_CATA(code='PATTERNS',
9                execmodul=None,
10                regles=(AU_PLUS_UN('DEBUT', 'POURSUITE'),
11                        AU_PLUS_UN('AFFE_MODELE'),
12                        AU_PLUS_UN('FIN'),
13                        A_CLASSER(('DEBUT', 'POURSUITE'), 'FIN')))
14
15 def mySeveral(suffix,num):
16     out=list()
17     for i in range(1,num+1):
18         out.append(suffix+str(i).zfill(2))
19     return out
20
21 switch_facultatif=True #change 'o' to 'f' of some widgets in the loop
22 #empty_defauts=True
23
24 def myBloc(num):
25     myNum=str(num).zfill(2)
26     list_item_body="Item_"+myNum+"_"
27     defauts0=["","",True,"'phenomena_"+myNum+"'",mySeveral(list_item_body,2)] #presence of default values
28     defauts_mask=[False,False,True,True,False] #switch off defaults of some types
29     defauts=list()
30     for id0 in range(len(defauts0)):
31         if defauts_mask[id0]:
32             item=", defaut="+str(defauts0[id0])
33         else:
34             item=""
35         defauts.append(item)
36     #print defauts
37
38     opt=['o','o','o','o','o'] #initial default obligation of items in FACT groups
39     #make different widgets optional, one by one:
40     myLen=len(opt)
41     if switch_facultatif:
42         make_f=(num)%myLen
43         opt[make_f]='f'
44     #print opt
45     #if empty_defauts:
46     #    clean_defaut=num%myLen
47
48     myString="BLOC(condition=\"MESH==\'mesh_"+myNum+"'\""+defauts[0]+", AFFE=FACT(statut='"+opt[1]+"'"+defauts[1]+", ALL=SIMP(statut='"+opt[2]+"', typ=bool,ang='ALL "+myNum+" help EN'"+defauts[2]+"),PHENOMENA=SIMP(statut='"+opt[3]+"',typ='TXM',into=mySeveral('phenomena_',"+str(num)+")"+defauts[3]+"), MODELISATION=SIMP(statut='"+opt[4]+"',typ='TXM', min=4,max='**',into=mySeveral('"+list_item_body+"',"+str(num*4)+")"+defauts[4]+", ang='Input "+myNum+" list EN', fr='Input "+myNum+" list FR'),),)"
49     print myString
50     return eval(myString)
51
52 DEBUT=PROC(nom="DEBUT", op=10, repetable='n', UIinfo={"groupes":("Group1",)}, ang="Debut Eng help",
53         PAR_LOT=SIMP(ang="Debut Par Lot help En",statut='o',typ=bool, defaut=True),
54 );
55
56 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=myModel,
57     UIinfo={"groupes":("Group1",)},
58     ang="Model mesh definition EN",
59     reentrant='n',
60     regles=(AU_MOINS_UN('APPROVED')),
61     MESH=SIMP(statut='o',typ='TXM',into=mySeveral("mesh_",4) ,defaut="mesh_01"),
62         APPROVED=SIMP(statut="f", typ=bool), # presence of this item will validate the whole group
63     block_mesh_01=myBloc(1),
64     block_mesh_02=myBloc(2),
65     block_mesh_03=myBloc(3),
66     block_mesh_04=myBloc(4),
67 )
68
69
70 FIN=PROC(nom="FIN",op=9999,repetable='n',ang="Finish help EN",UIinfo={"groupes":("Group1",)},
71     FORMAT_HDF =SIMP(ang="Save HDF EN",statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ), 
72 );
73
74 Classement_Commandes_Ds_Arbre=('DEBUT','MESH_TYPES','AFFE_MODELE','FIN')
75
76 Ordre_Des_Commandes = ('DEBUT','MESH_TYPES','AFFE_MODELE','FIN')