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

Annotation of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.13 - (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 : efrank 1.12 from FaST.SeedDataFactory import SeedDataFactory
5 :     from FaST.SeedDataFactory import SeedOrganism
6 : hwang 1.1 from FaST.RecoElem import RecoElem
7 :     from RecoElempanel import RecoElemWindow
8 :    
9 : efrank 1.12
10 :    
11 : hwang 1.1 class CatalogWindow:
12 : efrank 1.10 # def __init__(self, parent):
13 :     # def initCatEvents(self ):
14 :     # def initCatData( self ):
15 :     # def loadBssCatalog(self, bssItemId):
16 :     # def loadWitCatalog(self, witItemId):
17 : efrank 1.12 # def loadSeedCatalog(self, witItemId):
18 : efrank 1.10 # def onLeftClick(self,treeEvent):
19 :     # def onLoadBtnPress(self, event):
20 :     # def bssLoader( self, bssCatEntry ):
21 :     # def witOrgLoader(self, orgName ):
22 :     # def witPwyLoader(self, pwyName ):
23 :    
24 : efrank 1.4 #------------------------------------------------------------------------
25 : hwang 1.1 def __init__(self, parent):
26 : efrank 1.4 #------------------------------------------------------------------------
27 : efrank 1.13 self.parent = parent
28 :     self.seedServer = "http://cyano.cs.uchicago.edu/FIG/"
29 :     self.__seedDataFactory = SeedDataFactory( self.seedServer )
30 :    
31 :     self.to_re = parent.re
32 : efrank 1.2 self.selected = None #remember last selected catalog entry
33 :     #..is used when LOAD button is hit.
34 : efrank 1.4
35 :     self.initCatEvents()
36 :     self.initCatData()
37 :     return
38 :    
39 :    
40 :     #------------------------------------------------------------------------
41 :     def initCatEvents(self ):
42 :     #------------------------------------------------------------------------
43 : efrank 1.2 button1= self.parent.OK_button
44 :     EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
45 :     self.onLoadBtnPress)
46 : efrank 1.6 EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
47 :     self.parent.catalog_treeId,
48 :     self.onLeftClick)
49 : hwang 1.11 EVT_LEFT_DCLICK (self.parent.catalog_tree, self.onLeftDClick)
50 : efrank 1.6
51 : efrank 1.4 return
52 :    
53 :     #------------------------------------------------------------------------
54 :     def initCatData( self ):
55 :     #------------------------------------------------------------------------
56 : efrank 1.5 self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
57 : hwang 1.1
58 : efrank 1.4 bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
59 :     "BioSimScratch" )
60 :     witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
61 :     "WIT3" )
62 : efrank 1.12 seedItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
63 :     "Seed" )
64 : efrank 1.4
65 :     self.loadBssCatalog( bssItemId )
66 : efrank 1.9 self.loadWitCatalog( witItemId )
67 : efrank 1.12 self.loadSeedCatalog( seedItemId )
68 : efrank 1.6
69 : efrank 1.13
70 : efrank 1.6 self.parent.catalog_tree.Expand( self.parent.catalogRootId)
71 : efrank 1.2 return
72 : efrank 1.4
73 :     #------------------------------------------------------------------------
74 :     def loadBssCatalog(self, bssItemId):
75 :     #------------------------------------------------------------------------
76 : hwang 1.1 b=BssFactory()
77 : efrank 1.4 for catEntryTuple in b.getLsCat():
78 :     id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
79 : efrank 1.6 self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
80 : efrank 1.4
81 :     return
82 : hwang 1.1
83 : efrank 1.4 #------------------------------------------------------------------------
84 :     def loadWitCatalog(self, witItemId):
85 :     #------------------------------------------------------------------------
86 :     w=WitFactory()
87 : efrank 1.6
88 :     pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
89 :    
90 : efrank 1.4 pwyList = w.listPathways( )
91 :     for pwy in pwyList:
92 : efrank 1.6 id=self.parent.catalog_tree.AppendItem(pwyItemId, pwy)
93 :     self.parent.catalog_tree.SetPyData(id, (self.witPwyLoader,pwy) )
94 :    
95 :     orgItemId=self.parent.catalog_tree.AppendItem(witItemId, "Organisms" )
96 :    
97 :     orgList = w.listOrganisms( )
98 :     for org in orgList:
99 :     id=self.parent.catalog_tree.AppendItem(orgItemId, org)
100 :     self.parent.catalog_tree.SetPyData(id, (self.witOrgLoader, org ))
101 : hwang 1.3
102 : efrank 1.4 return
103 : hwang 1.3
104 : efrank 1.4 #------------------------------------------------------------------------
105 : efrank 1.13 def loadSeedCatalog(self, seedItemId):
106 : efrank 1.12 #------------------------------------------------------------------------
107 : efrank 1.13
108 :     orgList = self.__seedDataFactory.listOrganisms( )
109 :     if ( orgList== None ):
110 :     orgItemId=self.parent.catalog_tree.AppendItem(seedItemId,
111 :     "Could not get Org list from "+ self.seedServer )
112 :     return
113 :    
114 :     orgItemId=self.parent.catalog_tree.AppendItem(seedItemId, "Organisms" )
115 : efrank 1.12 for org in orgList:
116 :     id=self.parent.catalog_tree.AppendItem(orgItemId, org.figOrgName )
117 :     self.parent.catalog_tree.SetPyData(id, (self.seedOrgLoader, org ))
118 :    
119 :     return
120 :    
121 :     #------------------------------------------------------------------------
122 : efrank 1.6 def onLeftClick(self,treeEvent):
123 : efrank 1.4 #------------------------------------------------------------------------
124 : efrank 1.5 item = treeEvent.GetItem()
125 : hwang 1.11
126 : efrank 1.4 catEntryTuple = self.parent.tree_ctr.GetPyData(item)
127 : efrank 1.5 if (catEntryTuple == None ):
128 :     return
129 : efrank 1.6 self.selected = catEntryTuple
130 : efrank 1.4
131 :     return
132 : hwang 1.11 #------------------------------------------------------------------------
133 :     def onLeftDClick(self,treeEvent):
134 :     #------------------------------------------------------------------------
135 : efrank 1.12 self.onLoadBtnPress(treeEvent)
136 :    
137 :     pt = treeEvent.GetPosition()
138 :     item = self.parent.tree_ctr.HitTest(pt)
139 :     print item
140 :     catEntryTuple = self.parent.tree_ctr.GetPyData(item)
141 :     apply(catEntryTuple[0], [catEntryTuple[1]])
142 :     return
143 :    
144 : hwang 1.11 pt = treeEvent.GetPosition()
145 :    
146 :     item = self.parent.tree_ctr.HitTest(pt)
147 :    
148 :     print item
149 :     catEntryTuple = self.parent.tree_ctr.GetPyData(item)
150 :     #print catEntryTuple, "catEntryTuple"
151 :     #self.selected = catEntryTuple
152 :    
153 :     #catEntryTuple = self.selected
154 :     #apply(catEntryTuple[0], [catEntryTuple[1]])
155 :    
156 :     return
157 :    
158 : efrank 1.4
159 :     #------------------------------------------------------------------------
160 : efrank 1.6 def onLoadBtnPress(self, event):
161 : efrank 1.4 #------------------------------------------------------------------------
162 : efrank 1.6 if ( self.selected == None ):
163 :     print "No selection in onLoadBtnPress"
164 :     return
165 :    
166 :     catEntryTuple = self.selected
167 :     apply( catEntryTuple[0], [catEntryTuple[1]] )
168 :    
169 :     return
170 :    
171 :     #------------------------------------------------------------------------
172 :     def bssLoader( self, bssCatEntry ):
173 :     #------------------------------------------------------------------------
174 :     wxBeginBusyCursor()
175 :     b=BssFactory()
176 :     top= b.getRecoElemById( bssCatEntry[1] )
177 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
178 :     wxEndBusyCursor()
179 : hwang 1.1
180 : efrank 1.2 return
181 : hwang 1.1
182 : efrank 1.4 #------------------------------------------------------------------------
183 : efrank 1.6 def witOrgLoader(self, orgName ):
184 : efrank 1.4 #------------------------------------------------------------------------
185 : efrank 1.6 wxBeginBusyCursor()
186 :     w=WitFactory()
187 :     top= w.getRxnByOrg( orgName )
188 : efrank 1.12 self.to_re.AddRecoElemTree(self.parent.rootId, top)
189 :     wxEndBusyCursor()
190 :     return
191 :    
192 :     #------------------------------------------------------------------------
193 :     def seedOrgLoader(self, org ):
194 :     #------------------------------------------------------------------------
195 :     wxBeginBusyCursor()
196 : efrank 1.13
197 :     top=self.__seedDataFactory.getRecoElemByOrg( org )
198 : efrank 1.6 self.to_re.AddRecoElemTree(self.parent.rootId, top)
199 :     wxEndBusyCursor()
200 :     return
201 : efrank 1.4
202 : efrank 1.6 #------------------------------------------------------------------------
203 :     def witPwyLoader(self, pwyName ):
204 :     #------------------------------------------------------------------------
205 : efrank 1.2 wxBeginBusyCursor()
206 : efrank 1.6 w=WitFactory()
207 :     top= w.getRxnByPwy( pwyName )
208 : hwang 1.1 self.to_re.AddRecoElemTree(self.parent.rootId, top)
209 : efrank 1.2 wxEndBusyCursor()
210 :     return

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3