Salome HOME
Integration of CurvePlot tool in GUI.
[modules/gui.git] / tools / CurvePlot / src / python / test / PlotCurve_Standalone.py
1 # -*- coding: latin-1 -*-
2 #  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 #  This library is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU Lesser General Public
9 #  License as published by the Free Software Foundation; either
10 #  version 2.1 of the License.
11 #
12 #  This library is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #  Lesser General Public License for more details.
16 #
17 #  You should have received a copy of the GNU Lesser General Public
18 #  License along with this library; if not, write to the Free Software
19 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23 # Author : A. Bruneton
24 #
25 from pyqtside.QtGui import QApplication 
26 from pyqtside.QtCore import SIGNAL, SLOT, QTimer, QTranslator
27
28 from TestDesktop import TestDesktop
29 import SalomePyQt_MockUp
30
31 desktop = None
32
33 def activate():
34     """This method mimicks SALOME's module activation """
35     global desktop
36
37     desktop.showCurveTreeView()
38     return True
39
40 def activeViewChanged( viewID ):
41     from curveplot import PlotController
42     PlotController.ActiveViewChanged(viewID)
43
44 def main(args) :
45     global desktop
46       
47     app = QApplication(args)
48     ts_files = ["/export/home/adrien/Projets/salome/modules/V7_main/CURVEPLOT_INSTALL/share/salome/resources/curveplot/CURVEPLOT_msg_fr.qm",
49                 "/export/home/adrien/Projets/salome/modules/V7_main/CURVEPLOT_INSTALL/share/salome/resources/curveplot/CURVEPLOT_msg_en.qm"
50                 ]
51     trans = QTranslator()
52     for f in ts_files:
53       if not trans.load(f):
54         print "could not load translation %s!" % f
55     app.installTranslator(trans)
56     dw = app.desktop()
57     x, y = dw.width()*0.25, dw.height()*0.7
58     
59     desktop = TestDesktop(None)
60     sgPyQt = SalomePyQt_MockUp.SalomePyQt(desktop)
61     sgPyQt.currentTabChanged.connect(activeViewChanged)
62     desktop._sgPyQt = sgPyQt 
63     desktop.initialize()
64     desktop.resize(x,y)
65     desktop.show()
66     activate()
67     #
68     QTimer.singleShot(200, desktop, SLOT("curveSameFig()"))
69     #
70     app.connect(app,SIGNAL("lastWindowClosed()"),app,SLOT("quit()"))
71     app.exec_()
72
73 if __name__ == "__main__" :
74     import sys
75     main(sys.argv)