[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.13, Wed Nov 5 02:28:44 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.__seedDataFactory = SeedDataFactory( self.seedServer )
30    
31          self.to_re = parent.re          self.to_re = parent.re
32          self.selected = None       #remember last selected catalog entry          self.selected = None       #remember last selected catalog entry
33                                     #..is used when LOAD button is hit.                                     #..is used when LOAD button is hit.
34    
35            self.initCatEvents()
36            self.initCatData()
37            return
38    
39    
40        #------------------------------------------------------------------------
41        def initCatEvents(self ):
42        #------------------------------------------------------------------------
43          button1= self.parent.OK_button          button1= self.parent.OK_button
44          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
45                     self.onLoadBtnPress)                     self.onLoadBtnPress)
46            EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
47                                 self.parent.catalog_treeId,
48                                 self.onLeftClick)
49            EVT_LEFT_DCLICK (self.parent.catalog_tree, self.onLeftDClick)
50    
51            return
52    
53        #------------------------------------------------------------------------
54        def initCatData( self ):
55        #------------------------------------------------------------------------
56            self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
57    
58            bssItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
59                                                       "BioSimScratch" )
60            witItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
61                                                       "WIT3" )
62            seedItemId=self.parent.catalog_tree.AppendItem(self.parent.catalogRootId,
63                                                       "Seed" )
64    
65            self.loadBssCatalog( bssItemId )
66            self.loadWitCatalog( witItemId )
67            self.loadSeedCatalog( seedItemId )
68    
69    
70            self.parent.catalog_tree.Expand( self.parent.catalogRootId)
71          return          return
72    
73      def InitLsCat(self):      #------------------------------------------------------------------------
74        def loadBssCatalog(self, bssItemId):
75        #------------------------------------------------------------------------
76          b=BssFactory()          b=BssFactory()
77          cpanel_list = b.getLsCat()          for catEntryTuple in b.getLsCat():
78                id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
79                self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
80    
81          for x in cpanel_list:          return
             self.parent.catalog_listbox.Append(x[0], x[1])  
82    
83          EVT_LISTBOX(self.parent, self.parent.catalog_listbox.GetId(), self.onLeftClick)      #------------------------------------------------------------------------
84        def loadWitCatalog(self, witItemId):
85        #------------------------------------------------------------------------
86            w=WitFactory()
87    
88            pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
89    
90            pwyList = w.listPathways( )
91            for pwy in pwyList:
92                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    
102            return
103    
104        #------------------------------------------------------------------------
105        def loadSeedCatalog(self, seedItemId):
106        #------------------------------------------------------------------------
107    
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            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        def onLeftClick(self,treeEvent):
123        #------------------------------------------------------------------------
124            item = treeEvent.GetItem()
125    
126            catEntryTuple = self.parent.tree_ctr.GetPyData(item)
127            if (catEntryTuple == None ):
128                return
129            self.selected = catEntryTuple
130    
131            return
132        #------------------------------------------------------------------------
133        def onLeftDClick(self,treeEvent):
134        #------------------------------------------------------------------------
135            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          return
143    
144      def onLeftClick(self,event):          pt = treeEvent.GetPosition()
145          pt=self.parent.catalog_listbox.GetSelection()  
146          self.selected =int (self.parent.catalog_listbox.GetClientData(pt))          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          return
157    
158    
159        #------------------------------------------------------------------------
160      def onLoadBtnPress(self, event):      def onLoadBtnPress(self, event):
161        #------------------------------------------------------------------------
162            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()          wxBeginBusyCursor()
175          b=BssFactory()          b=BssFactory()
176          top= b.getRecoElemById( self.selected )          top= b.getRecoElemById( bssCatEntry[1] )
177          self.to_re.AddRecoElemTree(self.parent.rootId, top)          self.to_re.AddRecoElemTree(self.parent.rootId, top)
178          wxEndBusyCursor()          wxEndBusyCursor()
179    
180          return          return
181    
182        #------------------------------------------------------------------------
183        def witOrgLoader(self,  orgName ):
184        #------------------------------------------------------------------------
185            wxBeginBusyCursor()
186            w=WitFactory()
187            top= w.getRxnByOrg( orgName )
188            self.to_re.AddRecoElemTree(self.parent.rootId, top)
189            wxEndBusyCursor()
190            return
191    
192        #------------------------------------------------------------------------
193        def seedOrgLoader(self,  org ):
194        #------------------------------------------------------------------------
195            wxBeginBusyCursor()
196    
197            top=self.__seedDataFactory.getRecoElemByOrg( org )
198            self.to_re.AddRecoElemTree(self.parent.rootId, top)
199            wxEndBusyCursor()
200            return
201    
202        #------------------------------------------------------------------------
203        def witPwyLoader(self,  pwyName ):
204        #------------------------------------------------------------------------
205            wxBeginBusyCursor()
206            w=WitFactory()
207            top= w.getRxnByPwy( pwyName )
208            self.to_re.AddRecoElemTree(self.parent.rootId, top)
209            wxEndBusyCursor()
210            return

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3