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

Diff of /PyGUI/Catalogpanel.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2, Thu Jul 31 15:54:29 2003 UTC revision 1.12, Fri Oct 17 20:25:57 2003 UTC
# Line 1  Line 1 
1  from wxPython.wx import *  from wxPython.wx import *
2  from FaST.BssFactory import BssFactory  from FaST.BssFactory import BssFactory
3    from FaST.WitFactory import WitFactory
4    from FaST.SeedDataFactory import SeedDataFactory
5    from FaST.SeedDataFactory import SeedOrganism
6  from FaST.RecoElem import RecoElem  from FaST.RecoElem import RecoElem
7  from RecoElempanel import RecoElemWindow  from RecoElempanel import RecoElemWindow
8    
9    
10    
11  class CatalogWindow:  class CatalogWindow:
12    #    def __init__(self, parent):
13    #    def initCatEvents(self ):
14    #    def initCatData( self ):
15    #    def loadBssCatalog(self, bssItemId):
16    #    def loadWitCatalog(self, witItemId):
17    #    def loadSeedCatalog(self, witItemId):
18    #    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        #------------------------------------------------------------------------
25      def __init__(self, parent):      def __init__(self, parent):
26        #------------------------------------------------------------------------
27          self.parent = parent          self.parent = parent
28            self.seedServer = "http://cyano.cs.uchicago.edu/FIG/"
29          self.to_re = parent.re          self.to_re = parent.re
30          self.selected = None       #remember last selected catalog entry          self.selected = None       #remember last selected catalog entry
31                                     #..is used when LOAD button is hit.                                     #..is used when LOAD button is hit.
32    
33            self.initCatEvents()
34            self.initCatData()
35            return
36    
37    
38        #------------------------------------------------------------------------
39        def initCatEvents(self ):
40        #------------------------------------------------------------------------
41          button1= self.parent.OK_button          button1= self.parent.OK_button
42          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
43                     self.onLoadBtnPress)                     self.onLoadBtnPress)
44            EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
45                                 self.parent.catalog_treeId,
46                                 self.onLeftClick)
47            EVT_LEFT_DCLICK (self.parent.catalog_tree, self.onLeftDClick)
48    
49            return
50    
51        #------------------------------------------------------------------------
52        def initCatData( self ):
53        #------------------------------------------------------------------------
54            self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
55    
56            bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
57                                                       "BioSimScratch" )
58            witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
59                                                       "WIT3" )
60            seedItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
61                                                       "Seed" )
62    
63            self.loadBssCatalog( bssItemId )
64            self.loadWitCatalog( witItemId )
65            self.loadSeedCatalog( seedItemId )
66    
67            self.parent.catalog_tree.Expand( self.parent.catalogRootId)
68          return          return
69    
70      def InitLsCat(self):      #------------------------------------------------------------------------
71        def loadBssCatalog(self, bssItemId):
72        #------------------------------------------------------------------------
73          b=BssFactory()          b=BssFactory()
74          cpanel_list = b.getLsCat()          for catEntryTuple in b.getLsCat():
75                id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
76                self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
77    
78            return
79    
80          for x in cpanel_list:      #------------------------------------------------------------------------
81              self.parent.catalog_listbox.Append(x[0], x[1])      def loadWitCatalog(self, witItemId):
82        #------------------------------------------------------------------------
83            w=WitFactory()
84    
85            pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
86    
87            pwyList = w.listPathways( )
88            for pwy in pwyList:
89                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    
         EVT_LISTBOX(self.parent, self.parent.catalog_listbox.GetId(), self.onLeftClick)  
99          return          return
100    
101      def onLeftClick(self,event):      #------------------------------------------------------------------------
102          pt=self.parent.catalog_listbox.GetSelection()      def loadSeedCatalog(self, witItemId):
103          self.selected =int (self.parent.catalog_listbox.GetClientData(pt))      #------------------------------------------------------------------------
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        def onLeftClick(self,treeEvent):
117        #------------------------------------------------------------------------
118            item = treeEvent.GetItem()
119    
120            catEntryTuple = self.parent.tree_ctr.GetPyData(item)
121            if (catEntryTuple == None ):
122          return          return
123            self.selected = catEntryTuple
124    
125            return
126        #------------------------------------------------------------------------
127        def onLeftDClick(self,treeEvent):
128        #------------------------------------------------------------------------
129            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            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    
153        #------------------------------------------------------------------------
154      def onLoadBtnPress(self, event):      def onLoadBtnPress(self, event):
155        #------------------------------------------------------------------------
156            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()          wxBeginBusyCursor()
169          b=BssFactory()          b=BssFactory()
170          top= b.getRecoElemById( self.selected )          top= b.getRecoElemById( bssCatEntry[1] )
171            self.to_re.AddRecoElemTree(self.parent.rootId, top)
172            wxEndBusyCursor()
173    
174            return
175    
176        #------------------------------------------------------------------------
177        def witOrgLoader(self,  orgName ):
178        #------------------------------------------------------------------------
179            wxBeginBusyCursor()
180            w=WitFactory()
181            top= w.getRxnByOrg( orgName )
182          self.to_re.AddRecoElemTree(self.parent.rootId, top)          self.to_re.AddRecoElemTree(self.parent.rootId, top)
183          wxEndBusyCursor()          wxEndBusyCursor()
184          return          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            self.to_re.AddRecoElemTree(self.parent.rootId, top)
194            wxEndBusyCursor()
195            return
196    
197        #------------------------------------------------------------------------
198        def witPwyLoader(self,  pwyName ):
199        #------------------------------------------------------------------------
200            wxBeginBusyCursor()
201            w=WitFactory()
202            top= w.getRxnByPwy( pwyName )
203            self.to_re.AddRecoElemTree(self.parent.rootId, top)
204            wxEndBusyCursor()
205            return

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.12

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3