[Bio] / PyGUI / Catalogpanel.py Repository:
ViewVC logotype

Annotation of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (view) (download) (as text)

1 : hwang 1.1 from wxPython.wx import *
2 :     from FaST.BssFactory import BssFactory
3 : efrank 1.4 from FaST.WitFactory import WitFactory
4 : hwang 1.1 from FaST.RecoElem import RecoElem
5 :     from RecoElempanel import RecoElemWindow
6 :    
7 :     class CatalogWindow:
8 : efrank 1.4 #------------------------------------------------------------------------
9 : hwang 1.1 def __init__(self, parent):
10 : efrank 1.4 #------------------------------------------------------------------------
11 : hwang 1.1 self.parent = parent
12 :     self.to_re = parent.re
13 : efrank 1.2 self.selected = None #remember last selected catalog entry
14 :     #..is used when LOAD button is hit.
15 : efrank 1.4
16 :     self.initCatEvents()
17 :     self.initCatData()
18 :     return
19 :    
20 :    
21 :     #------------------------------------------------------------------------
22 :     def initCatEvents(self ):
23 :     #------------------------------------------------------------------------
24 : efrank 1.2 button1= self.parent.OK_button
25 :     EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
26 :     self.onLoadBtnPress)
27 : efrank 1.6 EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
28 :     self.parent.catalog_treeId,
29 :     self.onLeftClick)
30 :    
31 : efrank 1.4 return
32 :    
33 :     #------------------------------------------------------------------------
34 :     def initCatData( self ):
35 :     #------------------------------------------------------------------------
36 : efrank 1.5 self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
37 : hwang 1.1
38 : efrank 1.4 bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
39 :     "BioSimScratch" )
40 :     witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
41 :     "WIT3" )
42 :    
43 :     self.loadBssCatalog( bssItemId )
44 : efrank 1.9 self.loadWitCatalog( witItemId )
45 : efrank 1.6
46 :     self.parent.catalog_tree.Expand( self.parent.catalogRootId)
47 : efrank 1.2 return
48 : efrank 1.4
49 :     #------------------------------------------------------------------------
50 :     def loadBssCatalog(self, bssItemId):
51 :     #------------------------------------------------------------------------
52 : hwang 1.1 b=BssFactory()
53 : efrank 1.4 for catEntryTuple in b.getLsCat():
54 :     id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
55 : efrank 1.6 self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
56 : efrank 1.4
57 :     return
58 : hwang 1.1
59 : efrank 1.4 #------------------------------------------------------------------------
60 :     def loadWitCatalog(self, witItemId):
61 :     #------------------------------------------------------------------------
62 :     w=WitFactory()
63 : efrank 1.6
64 :     pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
65 :    
66 : efrank 1.4 pwyList = w.listPathways( )
67 :     for pwy in pwyList:
68 : efrank 1.6 id=self.parent.catalog_tree.AppendItem(pwyItemId, pwy)
69 :     self.parent.catalog_tree.SetPyData(id, (self.witPwyLoader,pwy) )
70 :    
71 :     orgItemId=self.parent.catalog_tree.AppendItem(witItemId, "Organisms" )
72 :    
73 :     orgList = w.listOrganisms( )
74 :     for org in orgList:
75 :     id=self.parent.catalog_tree.AppendItem(orgItemId, org)
76 :     self.parent.catalog_tree.SetPyData(id, (self.witOrgLoader, org ))
77 : hwang 1.3
78 : efrank 1.4 return
79 : hwang 1.3
80 : efrank 1.4 #------------------------------------------------------------------------
81 : efrank 1.6 def onLeftClick(self,treeEvent):
82 : efrank 1.4 #------------------------------------------------------------------------
83 : efrank 1.5 item = treeEvent.GetItem()
84 : efrank 1.4 catEntryTuple = self.parent.tree_ctr.GetPyData(item)
85 : efrank 1.5 if (catEntryTuple == None ):
86 :     return
87 : efrank 1.6 self.selected = catEntryTuple
88 : efrank 1.4
89 :     return
90 :    
91 :     #------------------------------------------------------------------------
92 : efrank 1.6 def onLoadBtnPress(self, event):
93 : efrank 1.4 #------------------------------------------------------------------------
94 : efrank 1.6 if ( self.selected == None ):
95 :     print "No selection in onLoadBtnPress"
96 :     return
97 :    
98 :     catEntryTuple = self.selected
99 :     apply( catEntryTuple[0], [catEntryTuple[1]] )
100 :    
101 :     return
102 :    
103 :     #------------------------------------------------------------------------
104 :     def bssLoader( self, bssCatEntry ):
105 :     #------------------------------------------------------------------------
106 :     wxBeginBusyCursor()
107 :     b=BssFactory()
108 :     top= b.getRecoElemById( bssCatEntry[1] )
109 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
110 :     wxEndBusyCursor()
111 : hwang 1.1
112 : efrank 1.2 return
113 : hwang 1.1
114 : efrank 1.4 #------------------------------------------------------------------------
115 : efrank 1.6 def witOrgLoader(self, orgName ):
116 : efrank 1.4 #------------------------------------------------------------------------
117 : efrank 1.6 wxBeginBusyCursor()
118 :     w=WitFactory()
119 :     top= w.getRxnByOrg( orgName )
120 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
121 :     wxEndBusyCursor()
122 :     return
123 : efrank 1.4
124 : efrank 1.6 #------------------------------------------------------------------------
125 :     def witPwyLoader(self, pwyName ):
126 :     #------------------------------------------------------------------------
127 : efrank 1.2 wxBeginBusyCursor()
128 : efrank 1.6 w=WitFactory()
129 :     top= w.getRxnByPwy( pwyName )
130 : hwang 1.1 self.to_re.AddRecoElemTree(self.parent.rootId, top)
131 : efrank 1.2 wxEndBusyCursor()
132 :     return

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3