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

Annotation of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (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.6 self.loadWitCatalog( witItemId )
45 :    
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 :     def InitLsCat(self):
82 :     #------------------------------------------------------------------------
83 :     return
84 :    
85 :     #------------------------------------------------------------------------
86 : efrank 1.6 def onLeftClick(self,treeEvent):
87 : efrank 1.4 #------------------------------------------------------------------------
88 : efrank 1.5 item = treeEvent.GetItem()
89 : efrank 1.4 catEntryTuple = self.parent.tree_ctr.GetPyData(item)
90 : efrank 1.5 if (catEntryTuple == None ):
91 :     return
92 : efrank 1.6 self.selected = catEntryTuple
93 : efrank 1.4
94 :     return
95 :    
96 :     #------------------------------------------------------------------------
97 : efrank 1.6 def onLoadBtnPress(self, event):
98 : efrank 1.4 #------------------------------------------------------------------------
99 : efrank 1.6 if ( self.selected == None ):
100 :     print "No selection in onLoadBtnPress"
101 :     return
102 :    
103 :     catEntryTuple = self.selected
104 :     apply( catEntryTuple[0], [catEntryTuple[1]] )
105 :    
106 :     return
107 :    
108 :     #------------------------------------------------------------------------
109 :     def bssLoader( self, bssCatEntry ):
110 :     #------------------------------------------------------------------------
111 :     wxBeginBusyCursor()
112 :     b=BssFactory()
113 :     top= b.getRecoElemById( bssCatEntry[1] )
114 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
115 :     wxEndBusyCursor()
116 : hwang 1.1
117 : efrank 1.2 return
118 : hwang 1.1
119 : efrank 1.4 #------------------------------------------------------------------------
120 : efrank 1.6 def witOrgLoader(self, orgName ):
121 : efrank 1.4 #------------------------------------------------------------------------
122 : efrank 1.6 wxBeginBusyCursor()
123 :     w=WitFactory()
124 :     top= w.getRxnByOrg( orgName )
125 :     self.to_re.AddRecoElemTree(self.parent.rootId, top)
126 :     wxEndBusyCursor()
127 :     return
128 : efrank 1.4
129 : efrank 1.6 #------------------------------------------------------------------------
130 :     def witPwyLoader(self, pwyName ):
131 :     #------------------------------------------------------------------------
132 : efrank 1.2 wxBeginBusyCursor()
133 : efrank 1.6 w=WitFactory()
134 :     top= w.getRxnByPwy( pwyName )
135 : hwang 1.1 self.to_re.AddRecoElemTree(self.parent.rootId, top)
136 : efrank 1.2 wxEndBusyCursor()
137 :     return

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3