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

Annotation of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log


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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3