Salome HOME
PyQt5/PyQt4 support
[samples/pylight.git] / src / PYLIGHTGUI / PYLIGHTGUI.py
index b4148ba9bd1dd77b64af19f0907e5f043906bdd9..e1de088c2ff5a9142fcc24f5400a9cecaf5b5532 100644 (file)
@@ -23,8 +23,7 @@
 import traceback
 from SalomePyQt import *
 import PYLIGHT_DataModel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from qtsalome import *
 import libSALOME_Swig
 
 import os
@@ -224,7 +223,7 @@ def saveFiles(prefix):
     ctx = _setContext( _getStudyId() )
     postfix = "PYLIGHT.txt"
     filename = prefix+postfix
-    ctx.DM.saveFile(QString(filename))
+    ctx.DM.saveFile(filename)
     return postfix
 
 # For restore data from the study
@@ -241,7 +240,14 @@ def loadfile():
     ctx = _setContext( _getStudyId() )
     aFilter = "Text files (*.txt)"
     filename = QFileDialog.getOpenFileName(sgPyQt.getDesktop(), "Open text file", "", aFilter, "Choose a text file to open")
-    if filename.isEmpty():
+
+    print filename
+    if isinstance(filename,tuple) and len(filename) >=2:
+       filename = filename[0]
+
+    filename = unicode(filename)
+
+    if len(filename) == 0:
         return
     
     if os.access(str(filename),os.R_OK):
@@ -249,7 +255,7 @@ def loadfile():
     else:
         QMessageBox.warning(sgPyQt.getDesktop(),
                             "Error!",
-                            QString("Can not read file:\n%1").arg(filename))
+                            "Can not read file:\n%s"%(filename))
         pass
     sg.updateObjBrowser(True)
     pass
@@ -259,17 +265,25 @@ def savefile():
     ctx = _setContext( _getStudyId() )
     aFilter = "Text files (*.txt)"
     filename = QFileDialog.getSaveFileName(sgPyQt.getDesktop(),"Save text file", "", aFilter, "Choose a text file to save")
-    if filename.contains(".txt") == 0:
-        filename.append(".txt")
+
+    print filename
+    if isinstance(filename,tuple) and len(filename) >=2:
+        filename = filename[0]
+
+    filename = unicode(filename)
+
+    if filename.endswith(".txt") == 0:
+        filename+=".txt"
         pass
+
     fn = filename
     # Get directory name and check access
-    if os.access(str(fn.left(fn.lastIndexOf("/"))), os.W_OK):
+    if os.access(str(fn[:fn.rindex(os.path.sep)]), os.W_OK):
         ctx.DM.saveFile(filename)
     else:
         QMessageBox.warning(sgPyQt.getDesktop(),
                             "Error!",
-                            QString("Can not save file:\n%1").arg(filename))
+                            "Can not save file:\n%s"%(filename))
         pass
     pass
 
@@ -287,6 +301,7 @@ def insertLine():
         return
     
     text = res[0]
+    print "RNV: !", res
     # Nb selected objects
     selcount = sg.SelectedCount()
     # Nb object in the Data Model
@@ -459,8 +474,7 @@ def eraseLine():
 
 # Return vtkActor by entry
 def getActor(entry):
-    if isinstance(entry,QString):
-        entry = entry.toLatin1().data()
+    entry = str(entry)
     if dict_actors.has_key(entry):
         return dict_actors[entry]
     return None