[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.6, Mon Aug 4 12:46:49 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.RecoElem import RecoElem  from FaST.RecoElem import RecoElem
5  from RecoElempanel import RecoElemWindow  from RecoElempanel import RecoElemWindow
6    
7  class CatalogWindow:  class CatalogWindow:
8        #------------------------------------------------------------------------
9      def __init__(self, parent):      def __init__(self, parent):
10        #------------------------------------------------------------------------
11          self.parent = parent          self.parent = parent
12          self.to_re = parent.re          self.to_re = parent.re
13          self.selected = None       #remember last selected catalog entry          self.selected = None       #remember last selected catalog entry
14                                     #..is used when LOAD button is hit.                                     #..is used when LOAD button is hit.
15    
16            self.initCatEvents()
17            self.initCatData()
18            return
19    
20    
21        #------------------------------------------------------------------------
22        def initCatEvents(self ):
23        #------------------------------------------------------------------------
24          button1= self.parent.OK_button          button1= self.parent.OK_button
25          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),          EVT_BUTTON(self.parent, self.parent.loadbtn.GetId(),
26                     self.onLoadBtnPress)                     self.onLoadBtnPress)
27            EVT_TREE_SEL_CHANGED(self.parent.catalog_tree,
28                                 self.parent.catalog_treeId,
29                                 self.onLeftClick)
30    
31          return          return
32    
33      def InitLsCat(self):      #------------------------------------------------------------------------
34        def initCatData( self ):
35        #------------------------------------------------------------------------
36            self.parent.catalogRootId = self.parent.catalog_tree.AddRoot("Data Sources")
37    
38            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            self.loadWitCatalog( witItemId )
45    
46            self.parent.catalog_tree.Expand( self.parent.catalogRootId)
47            return
48    
49        #------------------------------------------------------------------------
50        def loadBssCatalog(self, bssItemId):
51        #------------------------------------------------------------------------
52          b=BssFactory()          b=BssFactory()
53          cpanel_list = b.getLsCat()          for catEntryTuple in b.getLsCat():
54                id=self.parent.catalog_tree.AppendItem(bssItemId, catEntryTuple[0])
55                self.parent.catalog_tree.SetPyData(id, (self.bssLoader, catEntryTuple) )
56    
57            return
58    
59          for x in cpanel_list:      #------------------------------------------------------------------------
60              self.parent.catalog_listbox.Append(x[0], x[1])      def loadWitCatalog(self, witItemId):
61        #------------------------------------------------------------------------
62            w=WitFactory()
63    
64            pwyItemId=self.parent.catalog_tree.AppendItem(witItemId, "Pathways" )
65    
66            pwyList = w.listPathways( )
67            for pwy in pwyList:
68                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    
         EVT_LISTBOX(self.parent, self.parent.catalog_listbox.GetId(), self.onLeftClick)  
78          return          return
79    
80      def onLeftClick(self,event):      #------------------------------------------------------------------------
81          pt=self.parent.catalog_listbox.GetSelection()      def InitLsCat(self):
82          self.selected =int (self.parent.catalog_listbox.GetClientData(pt))      #------------------------------------------------------------------------
83          return          return
84    
85        #------------------------------------------------------------------------
86        def onLeftClick(self,treeEvent):
87        #------------------------------------------------------------------------
88            item = treeEvent.GetItem()
89            catEntryTuple = self.parent.tree_ctr.GetPyData(item)
90            if (catEntryTuple == None ):
91                return
92            self.selected = catEntryTuple
93    
94            return
95    
96        #------------------------------------------------------------------------
97      def onLoadBtnPress(self, event):      def onLoadBtnPress(self, event):
98        #------------------------------------------------------------------------
99            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()          wxBeginBusyCursor()
112          b=BssFactory()          b=BssFactory()
113          top= b.getRecoElemById( self.selected )          top= b.getRecoElemById( bssCatEntry[1] )
114          self.to_re.AddRecoElemTree(self.parent.rootId, top)          self.to_re.AddRecoElemTree(self.parent.rootId, top)
115          wxEndBusyCursor()          wxEndBusyCursor()
116    
117          return          return
118    
119        #------------------------------------------------------------------------
120        def witOrgLoader(self,  orgName ):
121        #------------------------------------------------------------------------
122            wxBeginBusyCursor()
123            w=WitFactory()
124            top= w.getRxnByOrg( orgName )
125            self.to_re.AddRecoElemTree(self.parent.rootId, top)
126            wxEndBusyCursor()
127            return
128    
129        #------------------------------------------------------------------------
130        def witPwyLoader(self,  pwyName ):
131        #------------------------------------------------------------------------
132            wxBeginBusyCursor()
133            w=WitFactory()
134            top= w.getRxnByPwy( pwyName )
135            self.to_re.AddRecoElemTree(self.parent.rootId, top)
136            wxEndBusyCursor()
137            return

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

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3