]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Adding an open/close button to control the EFICAS tree view
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 15 Mar 2017 12:36:37 +0000 (13:36 +0100)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 15 Mar 2017 12:36:37 +0000 (13:36 +0100)
12 files changed:
Makefile.am
bin/AdaoCatalogGenerator.py
doc/en/Makefile.am
doc/en/images/eficas_tree.png [new file with mode: 0644]
doc/fr/Makefile.am
doc/fr/images/eficas_tree.png [new file with mode: 0644]
i18n/adao.pro
i18n/adao_en.ts
i18n/adao_fr.ts
src/daEficas/prefs_ADAO.py.in
src/daSalome/daGUI/daGuiImpl/adaoCase.py
src/daSalome/daGUI/daGuiImpl/adaoGuiManager.py

index 7b58c38492d9e10e9646dc70d007a44d3f58af44..a51564c82b7f9c37086eeba3c5af63d2ef45d274 100644 (file)
@@ -29,7 +29,7 @@ endif
 SUBDIRS += src
 
 if SALOME_MODULE
-SUBDIRS += resources bin examples test
+SUBDIRS += resources bin examples test i18n
 endif
 
 if SPHINX_IS_OK
index cedec355fcfae58ccfb5cf5ff58d43d0866fc8fc..cfa54e2d524181bc4253522f80afbb4821df82a2 100644 (file)
@@ -224,7 +224,7 @@ def F_ObserverTemplate() : return BLOC(condition = " NodeType == 'Template' ",
 
 def F_Observers(statut) : return FACT(
     statut=statut,
-    SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", validators=NoRepeat(), into=(${choices})),${decl_choices}
+    SELECTION = SIMP(statut="o", defaut=[], typ="TXM", min=0, max="**", homo="SansOrdreNiDoublon", validators=NoRepeat(), into=(${choices})),${decl_choices}
     )
 """%(observers_list,observers_cont)
 
index 2cc486fcf9b7b8761a5e310218f723085e7a9d6e..3156f2dfc0d3e3f9a62e8a97a14751a0f7259db6 100644 (file)
@@ -49,6 +49,7 @@ EXTRA_DIST = conf.py advanced.rst  examples.rst  index.rst  intro.rst  theory.rs
             images/eficas_close.png \
             images/eficas_open.png \
             images/eficas_saveas.png \
+            images/eficas_tree.png \
             images/eficas_valid.png \
             images/yacs_containerlog.png
 
diff --git a/doc/en/images/eficas_tree.png b/doc/en/images/eficas_tree.png
new file mode 100644 (file)
index 0000000..13222b3
Binary files /dev/null and b/doc/en/images/eficas_tree.png differ
index 9de130009b90609dd33d933634831d68f0c121eb..93237fb423dc8271ab2aeb483c0c64aeb4b24a05 100644 (file)
@@ -49,6 +49,7 @@ EXTRA_DIST = conf.py advanced.rst  examples.rst  index.rst  intro.rst  theory.rs
             images/eficas_close.png \
             images/eficas_open.png \
             images/eficas_saveas.png \
+            images/eficas_tree.png \
             images/eficas_valid.png \
             images/yacs_containerlog.png
 
diff --git a/doc/fr/images/eficas_tree.png b/doc/fr/images/eficas_tree.png
new file mode 100644 (file)
index 0000000..13222b3
Binary files /dev/null and b/doc/fr/images/eficas_tree.png differ
index 1fc6ebe2faa6cc3fba5a7e65adddd7788119b5ae..aef3485e8f7e8e7dd99e2fa1dc38b21b1ac5d140 100644 (file)
@@ -2,16 +2,16 @@
 #
 # clear ; echo ; echo -e "#\n# Debut des sources" ; echo ; \
 # echo -e "TRANSLATIONS += adao_fr.ts\n\nCODECFORTR = utf-8\n" ; \
-# find .. -name '*.ui' | sed 's#^\.#FORMS += .#g' ; \
-# find ../bin -name '*.py' | sed 's#^\.#SOURCES += .#g' ; \
+# find .. -name '*.ui' | sed 's#^\.#FORMS += .#g' | sort ; \
+# find ../bin -name '*.py' | sed 's#^\.#SOURCES += .#g' | sort ; \
 # find ../src -name '*.py' | grep -v tests/ | sed 's#^\.#SOURCES += .#g' ; \
 # echo
 #
 # Create/update the .ts files with:
-# pylupdate5 i18n/adao.pro
-# geany i18n/adao_*.ts # Pour traiter si necessaire les "obsolete"
-# linguist i18n/adao_*.ts
-# lrelease i18n/adao.pro
+# pylupdate5 adao.pro
+# geany adao_*.ts # Pour traiter si necessaire les "obsolete"
+# linguist adao_*.ts
+# lrelease adao.pro
 #
 # Debut des sources
 
index fab0d3037d1d1a4a1c2fe06ea1736264ccf5b6da..2cf300131eedc09afefd0b622320449c7db68149 100644 (file)
@@ -3,14 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="." line="0"/>
         <source>ASSIMILATION_STUDY</source>
-        <translation type="obsolete">Data assimilation or optimization</translation>
+        <translation>Data assimilation or optimization</translation>
     </message>
     <message>
-        <location filename="." line="0"/>
         <source>CHECKING_STUDY</source>
-        <translation type="obsolete">Verification</translation>
+        <translation>Verification</translation>
     </message>
 </context>
 </TS>
index 5b3898866ec34318031175fe6ad72424d9c8e821..ae1618663bed7b551704c6cbcb019916c734b5ee 100644 (file)
@@ -3,14 +3,12 @@
 <context>
     <name>@default</name>
     <message>
-        <location filename="." line="0"/>
         <source>ASSIMILATION_STUDY</source>
-        <translation type="obsolete">Assimilation de données ou optimisation</translation>
+        <translation>Assimilation de données ou optimisation</translation>
     </message>
     <message>
-        <location filename="." line="0"/>
         <source>CHECKING_STUDY</source>
-        <translation type="obsolete">Vérification</translation>
+        <translation>Vérification</translation>
     </message>
 </context>
 </TS>
index 1df16d56591f27d0a35ff50c5bfcb4e77334dc42..2335a8a84c25d3ccc0432859bbca59ddd2f57ef0 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-# Author: André Ribes, andre.ribes@edf.fr, EDF R&D
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 import os, sys
 
 # print "import des prefs de Adao"
-
+#
 # Configuration de Eficas
+# =======================
+#
 # INSTALLDIR, REPINI est obligatoire
 INSTALLDIR = "@EFICAS_DIR@"
 sys.path.insert(0,INSTALLDIR)
 # positionnee a repin au debut mise a jour dans configuration
 repIni=os.path.dirname(os.path.abspath(__file__))
-
-# initialdir sert comme directory initial des QFileDialog
+#
+# Sert comme directory initial des QFileDialog
 initialdir=os.environ["PWD"]
+#
+# Traductions et codages
 # Codage des strings qui accepte les accents (en remplacement de 'ascii')
 encoding='iso-8859-1'
-# lang indique la langue utilisee pour les chaines d'aide : fr ou ang
-lang='fr'
+# Indique la langue du catalogue utilisee pour les chaines d'aide : fr ou ang
+# lang='fr'
+# Traduction des labels de boutons ou autres
+translatorFichier = os.environ["ADAO_ROOT_DIR"] + "/share/salome/resources/adao/adao" # Ce nom sera complete par EFICAS avec _<LANG>.qm
+#
+# Pilotage des sous-fenetres d'EFICAS
 closeAutreCommande = True
 closeFrameRechercheCommande = True
 closeEntete = True
+closeArbre = True
 taille=800
 
index 532c950b56b77dc373e0624ea4fe7aa5a96794cc..10a98682327439f4a0cb6d4908b5e5f3b2746943 100644 (file)
@@ -43,6 +43,7 @@ class AdaoCase:
     self.salome_study_item = None           # Study item object
 
     self.eficas_editor = None               # Editor object from Eficas
+    self.arbreOuvert = False
 
   def setEditor(self, editor):
     if editor is not self.eficas_editor:
@@ -119,3 +120,13 @@ class AdaoCase:
       rtn  = u"Validation report for the selected ADAO case:\n\n"
       rtn += unicode( self.eficas_editor.jdc.report())
     return rtn
+
+  def showTreeAdaoCase(self):
+    if self.eficas_editor:
+      if self.arbreOuvert:
+        self.eficas_editor.fermeArbre()
+        self.arbreOuvert = False
+      else:
+        self.eficas_editor.ouvreArbre()
+        self.arbreOuvert = True
+    return self.arbreOuvert
index d0c55047536e5c0d6ebb8a9b845330a9968cc05f..8c0250c5efa3949b5cb18f9ddb21ed9f3037b4b1 100644 (file)
@@ -63,6 +63,7 @@ UI_ELT_IDS = Enumerate([
         'SAVE_ADAOCASE_ID',
         'SAVE_AS_ADAOCASE_ID',
         'VALIDATE_ADAOCASE_ID',
+        'SHOWTREE_ADAOCASE_ID',
         'CLOSE_ADAOCASE_ID',
         'YACS_EXPORT_ID',
         ],offset=6950)
@@ -73,6 +74,7 @@ ACTIONS_MAP={
     UI_ELT_IDS.SAVE_ADAOCASE_ID:"saveAdaoCase",
     UI_ELT_IDS.SAVE_AS_ADAOCASE_ID:"saveasAdaoCase",
     UI_ELT_IDS.VALIDATE_ADAOCASE_ID:"validateAdaoCase",
+    UI_ELT_IDS.SHOWTREE_ADAOCASE_ID:"showTreeAdaoCase",
     UI_ELT_IDS.CLOSE_ADAOCASE_ID:"closeAdaoCase",
     UI_ELT_IDS.YACS_EXPORT_ID:"exportCaseToYACS",
 }
@@ -325,6 +327,22 @@ class AdaoCaseManager(EficasObserver):
         adaoGuiHelper.gui_information(SalomePyQt.SalomePyQt().getDesktop(), msg)
         break
 
+#######
+#
+# Gestion de l'affichage de l'arbre EFICAS
+# 1: la fonction showTreeAdaoCase est appelee par le GUI SALOME
+#
+#######
+
+  def showTreeAdaoCase(self):
+    adaoLogger.debug("Validation du cas par un rapport sur le JDC")
+    self.harmonizeSelectionFromEficas()
+    salomeStudyItem = adaoGuiHelper.getSelectedItem()
+    for case_name, adao_case in self.cases.iteritems():
+      if adao_case.salome_study_item.GetID() == salomeStudyItem.GetID():
+        msg = adao_case.showTreeAdaoCase()
+        break
+
 #######
 #
 # Gestion de la connexion avec YACS
@@ -426,6 +444,9 @@ class AdaoGuiUiComponentBuilder:
         a = sgPyQt.createAction( UI_ELT_IDS.VALIDATE_ADAOCASE_ID, "Validate case", "Validate case", "Validate an ADAO case", "eficas_valid.png" )
         sgPyQt.createMenu(a, mid)
         sgPyQt.createTool(a, tid)
+        a = sgPyQt.createAction( UI_ELT_IDS.SHOWTREE_ADAOCASE_ID, "Show tree", "Show tree", "Show the commands tree", "eficas_tree.png" )
+        sgPyQt.createMenu(a, mid)
+        sgPyQt.createTool(a, tid)
         a = sgPyQt.createAction( UI_ELT_IDS.CLOSE_ADAOCASE_ID, "Close case", "Close case", "Close an ADAO case", "eficas_close.png" )
         sgPyQt.createMenu(a, mid)
         sgPyQt.createTool(a, tid)