]> SALOME platform Git repositories - modules/yacs.git/blob - src/pyqt/gui/catalog.py
Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / pyqt / gui / catalog.py
1
2 from qt import *
3 import browser_session
4 import browser_catalog
5 import pilot
6
7 class CatalogTool(QMainWindow):
8   """
9       CatalogTool()
10       Main window of Catalog Tool
11   """
12   def __init__(self,parent=None):
13     QMainWindow.__init__(self,parent)
14     self.appli=parent
15     self.createWidgets()
16     self.initActions()
17     self.initMenus()
18     self.initToolbar()
19     self.initStatusbar()
20     cata=pilot.getRuntime().getBuiltinCatalog()
21     self.register(cata,"Builtin Catalog")
22
23   def createWidgets(self):
24     self.tabWidget = QTabWidget(self)
25     #self.currentPanel=None
26     #self.connect(self.tabWidget, SIGNAL('currentChanged(QWidget *)'),self.handlePanelChanged)
27     self.setCentralWidget(self.tabWidget)
28     self.resize(800,600)
29
30   def initActions(self):
31     self.actions = []
32     self.impSessionAct=QAction('Import from session...',0,self)
33     self.impSessionAct.connect(self.impSessionAct,SIGNAL('activated()'), self.importFromSession)
34     self.actions.append(self.impSessionAct)
35     self.impProcAct=QAction('Import from proc...',0,self)
36     self.impProcAct.connect(self.impProcAct,SIGNAL('activated()'), self.importFromProc)
37     self.actions.append(self.impProcAct)
38
39   def initMenus(self):
40     menubar = self.menuBar()
41
42     #menu import
43     self.importMenu=QPopupMenu(self)
44     self.impSessionAct.addTo(self.importMenu)
45     self.impProcAct.addTo(self.importMenu)
46     menubar.insertItem('&Import',self.importMenu)
47
48   def importFromSession(self):
49     browser_session.MainBrowser(self,self.appli).show()
50     return
51
52   def importFromProc(self):
53     fn = QFileDialog.getOpenFileName(QString.null,QString.null,self)
54     if fn.isEmpty():
55       self.statusBar().message('Loading aborted',2000)
56       return
57     filename = str(fn)
58     cata=pilot.getRuntime().loadCatalog("proc",filename)
59     print cata
60     print cata._nodeMap
61     for name,node in cata._nodeMap.items():
62       print name,node
63     self.register(cata,filename)
64
65   def register(self,cata,name):
66     """Add a catalog in the catalog tool list"""
67     panel=browser_catalog.Browser(self,appli=self.appli)
68     panel.setCata(cata)
69     self.tabWidget.addTab( panel,name)
70     self.tabWidget.showPage(panel)
71
72   def initToolbar(self):
73     #tb = QToolBar(self)
74     #self.importAct.addTo(tb)
75     self.toolbars={}
76     #self.toolbars['Import']=tb
77
78   def initStatusbar(self):
79     sb = self.statusBar()
80     self.SBfile=QLabel(sb)
81     sb.addWidget(self.SBfile)
82     QWhatsThis.add(self.SBfile, """<p>Message""")
83     self.SBfile.setText("")
84