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

Annotation of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (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.10 # def __init__(self, parent):
9 :     # def initCatEvents(self ):
10 :     # def initCatData( self ):
11 :     # def loadBssCatalog(self, bssItemId):
12 :     # def loadWitCatalog(self, witItemId):
13 :     # def onLeftClick(self,treeEvent):
14 :     # def onLoadBtnPress(self, event):
15 :     # def bssLoader( self, bssCatEntry ):
16 :     # def witOrgLoader(self, orgName ):
17 :     # def witPwyLoader(self, pwyName ):
18 :    
19 : efrank 1.4 #------------------------------------------------------------------------
20 : hwang 1.1 def __init__(self, parent):
21 : efrank 1.4 #------------------------------------------------------------------------
22 : hwang 1.1 self.parent = parent
23 :     self.to_re = parent.re
24 : efrank 1.2 self.selected = None #remember last selected catalog entry
25 :     #..is used when LOAD button is hit.
26 : efrank 1.4
27 :     self.initCatEvents()
28 :     self.initCatData()
29 :     return
30 :    
31 :    
32 :     #------------------------------------------------------------------------
33 :     def initCatEvents(self ):
34 :     #------------------------------------------------------------------------
35 : efrank 1.2 button1= self.parent.OK_button
36 :     EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
37 :     self.onLoadBtnPress)
38 : efrank 1.6 EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
39 :     self.parent.catalog_treeId,
40 :     self.onLeftClick)
41 : hwang 1.11 EVT_LEFT_DCLICK (self.parent.catalog_tree, self.onLeftDClick)
42 : efrank 1.6
43 : efrank 1.4 return
44 :    
45 :     #------------------------------------------------------------------------
46 :     def initCatData( self ):
47 :     #------------------------------------------------------------------------
48 : efrank 1.5 self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
49 : hwang 1.1
50 : efrank 1.4 bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
51 :     "BioSimScratch" )
52 :     witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
53 :     "WIT3" )
54 :    
55 :     self.loadBssCatalog( bssItemId )
56 : efrank 1.9 self.loadWitCatalog( witItemId )
57 : efrank 1.6
58 :     self.parent.catalog_tree.Expand( self.parent.catalogRootId)
59 : efrank 1.2 return
60 : efrank 1.4
61 :     #------------------------------------------------------------------------
62 :     def loadBssCatalog(self, bssItemId):
63 :     #------------------------------------------------------------------------
64 : hwang 1.1 b=BssFactory()
65 : efrank 1.4 for catEntryTuple in b.getLsCat():
66 :     id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
67 : efrank 1.6 self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
68 : efrank 1.4
69 :     return
70 : hwang 1.1
71 : efrank 1.4 #------------------------------------------------------------------------
72 :     def loadWitCatalog(self, witItemId):
73 :     #------------------------------------------------------------------------
74 :     w=WitFactory()
75 : efrank 1.6
76 :     pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
77 :    
78 : efrank 1.4 pwyList = w.listPathways( )
79 :     for pwy in pwyList:
80 : efrank 1.6 id=self.parent.catalog_tree.AppendItem(pwyItemId, pwy)
81 :     self.parent.catalog_tree.SetPyData(id, (self.witPwyLoader,pwy) )
82 :    
83 :     orgItemId=self.parent.catalog_tree.AppendItem(witItemId, "Organisms" )
84 :    
85 :     orgList = w.listOrganisms( )
86 :     for org in orgList:
87 :     id=self.parent.catalog_tree.AppendItem(orgItemId, org)
88 :     self.parent.catalog_tree.SetPyData(id, (self.witOrgLoader, org ))
89 : hwang 1.3
90 : efrank 1.4 return
91 : hwang 1.3
92 : efrank 1.4 #------------------------------------------------------------------------
93 : efrank 1.6 def onLeftClick(self,treeEvent):
94 : efrank 1.4 #------------------------------------------------------------------------
95 : efrank 1.5 item = treeEvent.GetItem()
96 : hwang 1.11
97 : efrank 1.4 catEntryTuple = self.parent.tree_ctr.GetPyData(item)
98 : efrank 1.5 if (catEntryTuple == None ):
99 :     return
100 : efrank 1.6 self.selected = catEntryTuple
101 : efrank 1.4
102 :     return
103 : hwang 1.11 #------------------------------------------------------------------------
104 :     def onLeftDClick(self,treeEvent):
105 :     #------------------------------------------------------------------------
106 :     pt = treeEvent.GetPosition()
107 :    
108 :     item = self.parent.tree_ctr.HitTest(pt)
109 :    
110 :     print item
111 :     catEntryTuple = self.parent.tree_ctr.GetPyData(item)
112 :     #print catEntryTuple, "catEntryTuple"
113 :     #self.selected = catEntryTuple
114 :    
115 :     #catEntryTuple = self.selected
116 :     #apply(catEntryTuple[0], [catEntryTuple[1]])
117 :    
118 :     return
119 :    
120 : efrank 1.4
121 :     #------------------------------------------------------------------------
122 : efrank 1.6 def onLoadBtnPress(self, event):
123 : efrank 1.4 #------------------------------------------------------------------------
124 : efrank 1.6 if ( self.selected == None ):
125 :     print "No selection in onLoadBtnPress"
126 :     return
127 :    
128 :     catEntryTuple = self.selected
129 :     apply( catEntryTuple[0], [catEntryTuple[1]] )
130 :    
131 :     return
132 :    
133 :     #------------------------------------------------------------------------
134 :     def bssLoader( self, bssCatEntry ):
135 :     #------------------------------------------------------------------------
136 :     wxBeginBusyCursor()
137 :     b=BssFactory()
138 :     top= b.getRecoElemById( bssCatEntry[1] )
139 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
140 :     wxEndBusyCursor()
141 : hwang 1.1
142 : efrank 1.2 return
143 : hwang 1.1
144 : efrank 1.4 #------------------------------------------------------------------------
145 : efrank 1.6 def witOrgLoader(self, orgName ):
146 : efrank 1.4 #------------------------------------------------------------------------
147 : efrank 1.6 wxBeginBusyCursor()
148 :     w=WitFactory()
149 :     top= w.getRxnByOrg( orgName )
150 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
151 :     wxEndBusyCursor()
152 :     return
153 : efrank 1.4
154 : efrank 1.6 #------------------------------------------------------------------------
155 :     def witPwyLoader(self, pwyName ):
156 :     #------------------------------------------------------------------------
157 : efrank 1.2 wxBeginBusyCursor()
158 : efrank 1.6 w=WitFactory()
159 :     top= w.getRxnByPwy( pwyName )
160 : hwang 1.1 self.to_re.AddRecoElemTree(self.parent.rootId, top)
161 : efrank 1.2 wxEndBusyCursor()
162 :     return

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3