Salome HOME
Movement of examples to CVS EXAMPLES SAMPLES_SRC.
[modules/visu.git] / src / VISU_SWIG / VISU_Example_06.py
1 # Import a table from file and show it in Plot2d viewer
2
3 import salome
4 import math
5 import SALOMEDS
6 import VISU
7 #from visu_gui import *
8
9 # >>> Getting study builder ==================================================
10 myStudy = salome.myStudy
11 myBuilder = myStudy.NewBuilder()
12
13 # >>> Getting (loading) VISU component =======================================
14 myVisu = salome.lcc.FindOrLoadComponent("FactoryServer", "VISU")
15 myComponent = myStudy.FindComponent("VISU")
16 myVisu.SetCurrentStudy(myStudy)
17 if not myComponent:
18    myComponent = myBuilder.NewComponent("VISU")
19    aName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName")
20    #aName.SetValue("Visu")
21    aName.SetValue( salome.sg.getComponentUserName("VISU") )
22    
23    A2 = myBuilder.FindOrCreateAttribute(myComponent, "AttributePixMap");
24    aPixmap = A2._narrow(SALOMEDS.AttributePixMap);
25    aPixmap.SetPixMap( "ICON_OBJBROWSER_Visu" );
26    
27    myBuilder.DefineComponentInstance(myComponent,myVisu)
28
29 # >>> Import a tables from a file ============================================
30 aFileName = os.getenv("DATA_DIR") + "/Tables/tables_test.xls"
31 sobj = myVisu.ImportTables(aFileName)
32
33 # >>> Create container and insert curves =====================================
34 myContainer = myVisu.CreateContainer()
35
36 chiter = myStudy.NewChildIterator(sobj)
37 while chiter.More():
38   sobj_table = chiter.Value()
39
40   # >>> Create Visu table ====================================================
41   myVisuTableReal = myVisu.CreateTable(sobj_table.GetID())
42
43   nbRows = myVisuTableReal.GetNbRows()
44
45   # >>> Create curves ========================================================
46   for i in range(1, nbRows):
47     myCurve = myVisu.CreateCurve(myVisuTableReal, 1, i+1)
48     myContainer.AddCurve(myCurve)
49
50   chiter.Next()
51
52 # >>> Updating Object Browser ================================================
53 salome.sg.updateObjBrowser(1)
54
55 # >>> Display curves in Plot2d viewer ========================================
56 myViewManager = myVisu.GetViewManager();
57 myView = myViewManager.CreateXYPlot();
58 myView.SetTitle("The viewer for Curves from the Table")
59 myView.Display(myContainer)
60
61 # ============================================================================